A monorepo of custom Model Context Protocol servers, each independently installable and built to a shared standard that works across Claude Desktop, Claude Cowork, and Claude Code.
All servers are stdio servers, written in TypeScript, validated with zod, and
follow the conventions in CONVENTIONS.md (stderr-only
logging, secrets never returned over the wire, startup config validation,
destructive-operation confirmation gates, graceful shutdown).
| Package | Install | What it does |
|---|---|---|
@mpurdon/mcp-mongodb |
npx -y @mpurdon/mcp-mongodb |
Query/manage MongoDB across dev/stg/prd with production write-protection. |
@mpurdon/mcp-sumologic |
npx -y @mpurdon/mcp-sumologic |
Run Sumo Logic searches and inspect results. |
@mpurdon/mcp-freshbooks |
npx -y @mpurdon/mcp-freshbooks |
FreshBooks invoice & client operations. |
@mpurdon/mcp-github |
npx -y @mpurdon/mcp-github |
GitHub repo/issue/PR operations. |
@mpurdon/mcp-milo |
npx -y @mpurdon/mcp-milo |
Query the Milo MySQL database. |
The fastest path is the interactive configurator, which detects your installed Claude hosts and writes the right config file for each:
npx @mpurdon/mcp-servers configureIt will let you pick a host (Desktop / Cowork / Code), choose which servers to
enable, collect required credentials, and register them — idempotently, with a
--dry-run flag to preview the change first.
This repo holds the public servers (published to npm). Proprietary or
work-specific servers live in their own private repos — their code never
enters this public repo. A private server registers itself locally by writing a
descriptor to ~/.mpurdon-mcp/servers.d/<key>.json (each private repo ships a
*-register command for this). The configurator auto-discovers those and
offers them in the same selectable list as the public servers (marked
(private)), launching them from their local path instead of npm. One install
experience spans both tiers.
Every host uses the same mcpServers schema. Add an entry like:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": ["-y", "@mpurdon/mcp-mongodb"],
"env": {}
}
}
}into the host's config file:
- Claude Desktop —
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) - Claude Code —
~/.claude.json(user) or a project.mcp.json - Claude Cowork — the workspace's
.mcp.json
See each package's README for its required environment variables / config file.
pnpm install # install all workspaces
pnpm build # turbo build every package
pnpm typecheck # tsc --noEmit across packages
pnpm lint # eslint across packages
pnpm test # run package testsThis repo uses pnpm workspaces + Turborepo, Conventional Commits
(enforced via commitlint + husky), and Changesets for versioning and
publishing. Each PR touching a package under packages/ must include a
changeset (pnpm changeset).
MIT © Matthew Purdon