Dev builds 11 MCP servers in a week with shared OAuth library
Vineeth N Krishnan built mcp-pool, a monorepo of 11 MCP servers covering Stripe, Sentry, Notion, Linear, Datadog, Vercel, PagerDuty, HubSpot, Intercom, Shopify, and Google Workspace, plus a shared OAuth library — all in roughly one week.
Score breakdown
Developers building multiple MCP servers can adopt mcp-pool's monorepo pattern — with shared OAuth, unified CI, and independent versioning — to avoid duplicating auth flows and build config across packages.
- 01Vineeth N Krishnan built mcp-pool, a monorepo of 11 MCP servers, in approximately one week.
- 02Servers cover Stripe, Sentry, Notion, Linear, Datadog, Vercel, PagerDuty, HubSpot, Intercom, Shopify, and Google Workspace.
- 03The monorepo uses npm workspaces, TypeScript strict mode, Jest with 100% line coverage target, ESLint, Prettier, husky, commitlint, and release-please.
Vineeth N Krishnan describes building mcp-pool, a monorepo of 11 MCP servers, motivated by a recurring friction in his daily workflow: constantly switching between browser tabs for Stripe, Sentry, and Notion while using Claude Code for development tasks. Rather than relying on third-party MCP servers that were either missing, heavyweight, or misaligned with his needs, he decided to build his own — starting with Stripe over a single weekend.
The foundational decision that enabled the rapid expansion was setting up a full monorepo on day one, before writing any Stripe-specific code.
The foundational decision that enabled the rapid expansion was setting up a full monorepo on day one, before writing any Stripe-specific code. The stack included npm workspaces, TypeScript strict mode, Jest with a 100% line coverage target, ESLint, Prettier, husky, commitlint, `release-please` for independent per-package versioning, and a Docusaurus documentation site. This upfront investment meant every subsequent server — Sentry, Notion, Linear, Datadog, Vercel, PagerDuty, HubSpot, Intercom, Shopify, and Google Workspace — could be added without rebuilding CI, release config, or test infrastructure.
A notable design choice in the Sentry server was adding a `SENTRY_BASE_URL` environment variable from the first commit, defaulting to `sentry.io` but allowing self-hosted instances to point at their own domain. This made the package useful for teams running Sentry on private infrastructure for compliance or cost reasons. When six of the eleven servers turned out to need OAuth, Krishnan extracted the shared logic into a common OAuth library rather than duplicating the auth flow across packages — a decision he credits as one of the more significant architectural choices of the project.
Key facts
- 01Vineeth N Krishnan built mcp-pool, a monorepo of 11 MCP servers, in approximately one week.
- 02Servers cover Stripe, Sentry, Notion, Linear, Datadog, Vercel, PagerDuty, HubSpot, Intercom, Shopify, and Google Workspace.
- 03The monorepo uses npm workspaces, TypeScript strict mode, Jest with 100% line coverage target, ESLint, Prettier, husky, commitlint, and release-please.
- 04Claude Code sessions were used to scaffold each server, and Krishnan noted they improved with each run.
- 05The Sentry MCP server supports a SENTRY_BASE_URL env var, enabling use with self-hosted Sentry instances.
- 06Six of the eleven servers required OAuth, prompting extraction of a shared OAuth library.