About this product

Stop starting from a blank file every time you need a new MCP server. The Model Context Protocol is the open standard for connecting AI assistants (Claude Desktop, Claude Code, Cursor, Windsurf) to your tools and data — and the official SDK docs get you the first 10% of the way. This pack picks up where the docs leave off.

What's inside

Ten production-ready MCP server templates, each a complete and runnable codebase with the patterns built in:

  • 01 · hello-world-stdio (TS) and 02 · hello-world-python (FastMCP) — the minimum-viable shape, in both languages.
  • 03 · rest-api-wrapper (TS) — wrap any external REST API as MCP tools. Auth, timeouts, retries.
  • 04 · database-query-server (Python) — safe read-only Postgres/MySQL queries with a SQL safety layer, table allow-list, and row caps.
  • 05 · filesystem-tools (TS) — sandboxed file read/search/write within a single allowed directory. Symlink escape detection included.
  • 06 · web-search-fetch (Python) — search the web, fetch URLs, extract readable text. Pluggable provider (DuckDuckGo / Brave / SerpAPI / Tavily).
  • 07 · rag-knowledge-server (Python) — chunk, embed, vector search; pluggable embeddings (OpenAI or local); cited chunks.
  • 08 · oauth-protected-server (TS) — remote MCP server over Streamable HTTP, gated by OAuth via JWKS. Works with Auth0/Okta/Clerk/Cognito.
  • 09 · saas-integration-template (TS) — the SaaS-wrapping boilerplate you'd otherwise reinvent: retries with backoff, Retry-After, pagination, request-IDs in errors.
  • 10 · multi-tool-toolkit (Python) — many utility tools in one server, structured for scale (calc with safe AST eval, datetime, JSON path, regex, encoding).

Plus the bits that save the next hour after that

  • 17-page designed guide (PDF) — MCP primer, tools vs resources vs prompts, transports, how each client connects, decision matrix, per-template reference.
  • Config generator — a Python script that emits the right config JSON for any template × client (Claude Desktop, Cursor, Windsurf, Claude Code). Can merge directly into the client's actual config file.
  • Marked extension points in every template — exactly where and how to add your own tools, without re-learning the SDK.

Who it's for

  • Developers building their first MCP server and looking for a non-trivial starting point.
  • Teams shipping AI features who want a known-good baseline for internal MCP servers.
  • Anyone tired of cobbling together "the auth bit + the retry bit + the pagination bit" for each new SaaS integration.

Why this beats a search-and-paste

The MCP SDKs are stable; the good practices for production servers are still scattered across blog posts, Discord threads, and GitHub issues. These templates codify them: one tool per intent, validate at the boundary, sandbox file/DB access, log to stderr (never stdout), idempotent where possible, errors that actually help you debug. Read the templates and you've absorbed the patterns — keep using them and you ship faster.

What's included

  • 10 runnable MCP server templates (5 TypeScript + 5 Python)
  • Patterns: hello world, REST wrapper, DB query, sandboxed filesystem, web search + fetch, RAG, OAuth, SaaS integration, multi-tool toolkit
  • Both TypeScript (@modelcontextprotocol/sdk) and Python (FastMCP)
  • Client config generator for Claude Desktop, Cursor, Windsurf, Claude Code
  • 17-page designed MCP primer + reference PDF
  • Clearly marked extension points in every template
  • Real production patterns: zod / Pydantic validation, OAuth via JWKS, retries with backoff, sandboxed paths, parameterized SQL
  • Commercial license — unlimited personal + client use
FAQ

About MCP Server Starter Templates — 10 Production-Ready Boilerplates

?

What is MCP?

The Model Context Protocol is the open standard for connecting AI assistants to external tools and data. An MCP server exposes named tools (and optionally resources and prompts) that clients like Claude Desktop, Claude Code, Cursor, and Windsurf can call. One server works in any MCP-compatible client.

?

Do these actually run, or are they just examples?

They're complete, runnable servers — not pseudocode. Every template has install + run steps, a working entrypoint, dependencies pinned, and the exact client config snippet to wire it up. The TypeScript templates are tested to compile cleanly against the SDK; the Python templates' safety layers (SQL validator, AST safe-eval, JSON path walker) are exercised before shipping.

?

TypeScript or Python?

Both. The pack ships five TypeScript templates (using @modelcontextprotocol/sdk) and five Python templates (using FastMCP from the official mcp package). The hello-world is in both languages side-by-side so you can see the same shape twice.

?

Which MCP clients are supported?

Any MCP-compatible client. Setup snippets and a config generator are included for Claude Desktop, Cursor, Windsurf, and Claude Code. For other clients (or for connecting the OAuth server via HTTP), the protocol is the same — the JSON-RPC and transports are spec-defined.

?

Can I use these commercially?

Yes — unlimited personal, internal, and client/work use. Build commercial products on top, ship them under your own name. The only restriction is that you can't resell the pack itself (or the templates substantially unchanged) as a competing starter pack. See LICENSE.txt for the exact terms.

?

What versions of the SDKs do these target?

TypeScript templates target @modelcontextprotocol/sdk ^1.29 with Node.js 18+. Python templates target the official mcp package (>= 1.6, includes FastMCP) on Python 3.10+. Both use the modern stable APIs (McpServer + registerTool in TS; @mcp.tool() in Python).

?

Is the RAG template tied to OpenAI?

No — it has a pluggable embeddings layer. You can use OpenAI embeddings (with an API key) or local sentence-transformers (no API key, downloads a ~90 MB model on first run). The vector store is an on-disk JSON file with documented swap-in points for Qdrant, pgvector, or Milvus.