Shared infrastructure, templates, and standards for Very Good Plugins MCP servers.
| Server | Description | npm/PyPI | MCP Registry |
|---|---|---|---|
| mcp-automem | Graph-vector memory for AI assistants | @verygoodplugins/mcp-automem | ✅ |
| mcp-edd | Easy Digital Downloads | @verygoodplugins/mcp-edd | ✅ |
| mcp-evernote | Evernote note management | @verygoodplugins/mcp-evernote | ✅ |
| mcp-freescout | FreeScout helpdesk integration | @verygoodplugins/mcp-freescout | ✅ |
| mcp-local-wp | WordPress via Local by Flywheel | @verygoodplugins/mcp-local-wp | ✅ |
| mcp-pirsch | Pirsch Analytics integration | @verygoodplugins/mcp-pirsch | ✅ |
| mcp-toggl | Toggl Track time tracking | @verygoodplugins/mcp-toggl | ✅ |
| mcp-ical | macOS Calendar integration | PyPI | ✅ |
| telegram-mcp | Telegram messaging | PyPI | ✅ |
| whatsapp-mcp | WhatsApp messaging | GitHub Release | ✅ |
| streamdeck-mcp | Elgato Stream Deck control | PyPI | ✅ |
mcp-ecosystem/
├── README.md # This file
├── STANDARDS.md # Coding standards for all servers
├── PUBLISHING.md # Publishing checklist
├── config/
│ └── ecosystem-policy.json # Machine-readable repo profiles and policy
├── templates/
│ ├── typescript/ # Templates for TypeScript MCP servers
│ │ └── .github/workflows/
│ │ ├── ci.yml
│ │ ├── dependabot-auto-merge.yml
│ │ ├── release-please.yml
│ │ └── security.yml
│ └── python/ # Templates for Python MCP servers
│ └── .github/workflows/
│ ├── ci.yml
│ ├── dependabot-auto-merge.yml
│ ├── release.yml
│ └── security.yml
├── scripts/
│ ├── audit-server.sh # Audit a server against standards
│ ├── apply-templates.sh # Copy templates to a server
│ ├── configure-github-defaults.sh # Apply repo-level GitHub defaults
│ ├── render-managed-files.mjs # Generate profile-aware managed workflows/config
│ ├── validate-sync.mjs # Preflight generated diffs before opening PRs
│ ├── register-mcp.sh # Submit to MCP Registry
│ └── update-utm-links.sh # Update README links with UTM
└── server-inventory.json # Machine-readable inventory
./scripts/audit-server.sh ../mcp-freescout./scripts/apply-templates.sh typescript ../mcp-freescout./scripts/propagate-templates.sh --server mcp-pirsch --dry-run./scripts/render-managed-files.mjs whatsapp-mcp ../whatsapp-mcp
./scripts/sync-template-baseline.mjs whatsapp-mcp ../whatsapp-mcp
./scripts/validate-sync.mjs whatsapp-mcp ../whatsapp-mcp./scripts/register-mcp.sh ../mcp-freescoutSee STANDARDS.md for complete coding standards.
Key requirements:
- TypeScript: Node.js ≥18, ES2022, strict mode, Vitest, release-please
- Python: Python ≥3.11, pyproject.toml, pytest, ruff
- All: CI/CD, security scanning, MCP Registry, UTM tracking
mcp-ecosystem is the source of truth for shared MCP server workflows, config, and baseline dependency versions.
- Update templates and shared baselines here first.
- Merge the source-of-truth change to
main. server-inventory.jsonnow carries repo capabilities such aspackagePath,ciProfile,releaseProfile,securityProfile,templateTier, andpropagate.config/ecosystem-policy.jsonis the machine-readable source for shared CI/release/security policy and repo defaults..github/workflows/propagate-templates.ymlopens or updateschore/template-syncPRs in downstream repos fromserver-inventory.json.scripts/render-managed-files.mjsgenerates profile-aware managed workflows/config instead of force-copying one workflow shape into every repo.- Managed standard workflow check contexts are normalized in this repo first:
TypeScript CI,Python CI, andLint PR Title. scripts/sync-template-baseline.mjsupdates managed dependency baselines with parsed JSON/TOML data and reports when lockfiles need regeneration.scripts/validate-sync.mjsblocks PR creation when the generated diff is incompatible with the repo profile.- Org rulesets are the canonical branch-protection layer for MCP repos; repo-level
GitHub booleans like
allow_auto_mergeare applied separately withscripts/configure-github-defaults.sh. - See STANDARDS.md for the current org rulesets, repo-level defaults, and rollout policy.
The propagation workflow requires an org/repo secret named VGP_TEMPLATE_SYNC_TOKEN with access to the downstream repos and workflow files.
See PUBLISHING.md for the complete publishing checklist.
- X: @jjack_arturo
- GitHub: @verygoodplugins