
This tutorial is part of Build an MCP Server, within The MCP Guide. Want it built for you? See MCP development.
The best MCP server starter in November 2026 is usually not a template at all. It is the official SDK's own setup: uv add "mcp[cli]" for Python or npm install @modelcontextprotocol/server for TypeScript, plus a copy of one of the SDK's example servers. For a remote server, Cloudflare's authless template and Vercel's mcp-handler route are the quickest hosted starts.
Many starters you will find in search results are stale. The official TypeScript scaffolder on npm is deprecated and pins an SDK version from 2024. The official Python scaffolder repository is archived. This guide lists what is current, what each starter gives you, and how to check any template before you build on it.
Checked against: npm, PyPI and the GitHub API on 2 November 2026; the Python SDK and TypeScript SDK repositories; Cloudflare's remote MCP guide; and Vercel's MCP deployment docs (last updated 18 September 2026). eSEOspace did not deploy any of these templates.
Key Takeaways
- Start from the official SDKs:
mcp2.3.0 on PyPI and@modelcontextprotocol/server2.4.0 on npm, both v2 as of 2 November 2026. @modelcontextprotocol/create-serveris marked "Package no longer supported" on npm. Its last release was 25 November 2024, and it pins@modelcontextprotocol/sdk0.6.0.create-python-serverandcreate-typescript-serverare archived on GitHub.- Cloudflare's
remote-mcp-authlesstemplate and Vercel'smcp-handlerv2 are current remote starters, and both use the v2 TypeScript server package. - Check any template for three things: the SDK version it pins, old import paths, and use of the deprecated HTTP+SSE transport.
The quick picker
| You want | Start from | Language |
|---|---|---|
| A local server for yourself | Official Python or TypeScript SDK setup | Python or TS |
| A copy-and-edit example | SDK examples/ folders | Python or TS |
| A remote server, fast | Cloudflare remote-mcp-authless template | TS |
| MCP inside a Next.js app | Vercel mcp-handler v2 | TS |
| A Pythonic framework with extras | FastMCP 4 | Python |
| A server from an OpenAPI spec | FastMCP from_openapi or Speakeasy | Python or TS |
| A server for a common data source | Our build guides (below) | Python or TS |
1. Official Python SDK setup
The Python SDK's install docs use uv:
uv init my-server --python 3.12
cd my-server
uv add "mcp[cli]"
On PyPI on 2 November 2026, mcp was at 2.3.0, requiring Python 3.10 or newer; the SDK README says 3.11+. A minimal server is a few lines with from mcp.server import MCPServer and @mcp.tool(). Our Python first-tool lesson walks through it.
What you get: the official API, uv run mcp dev to open the Inspector, mcp install for Claude Desktop, and the in-memory test Client.
Watch out for: templates that import from mcp.server.fastmcp import FastMCP. The SDK's What's New page says that path "is gone rather than deprecated" in v2.
2. Official TypeScript SDK setup
npm init -y && npm pkg set type=module
npm install @modelcontextprotocol/server zod
npm install -D tsx typescript
The v2 TypeScript SDK splits into packages. You install @modelcontextprotocol/server for servers, plus adapters such as @modelcontextprotocol/node when you need them. On npm on 2 November 2026, @modelcontextprotocol/server was 2.4.0, while the v1 package @modelcontextprotocol/sdk was 1.32.2. Our TypeScript first-tool lesson covers registerTool and serveStdio.
3. The SDK example folders
Both SDK repositories ship example servers you can copy:
- Python
examples/servers/includessimple-tool,simple-resource,simple-prompt,simple-streamablehttp,simple-streamablehttp-stateless,simple-authandeverything-server, among others. - TypeScript
examples/includesbearer-auth,elicitation,dual-era,cli-clientandtodos-server. The TypeScript docs' examples page says every example is a complete client and server pair "that CI runs on every pull request, so they stay correct as the SDK changes."
That CI promise is the main reason to prefer SDK examples over third-party templates. They change when the SDK changes.
The separate reference servers repository holds seven servers, including Filesystem, Fetch, Git, Memory and Time. Its README calls them "educational examples for developers building their own MCP servers," not production-ready solutions. Older reference servers such as PostgreSQL, SQLite and Slack sit in the archived repository with no security guarantees.
4. Cloudflare remote MCP template
Cloudflare's guide creates a remote server with no sign-in:
npm create cloudflare@latest -- remote-mcp-server-authless --template=cloudflare/ai/demos/remote-mcp-authless
npm start serves it locally at http://localhost:8788/mcp, and npx wrangler@latest deploy publishes it to https://<worker-name>.<your-account>.workers.dev/mcp. For sign-in, the guide describes adding an authorization server Worker in front, rather than a separate template.
Good for: a public, read-only demo server, or a team that already runs on Workers. Add OAuth before exposing private data. Our comparison of Cloudflare Workers vs Vercel for MCP hosting covers the trade-offs.
5. Vercel mcp-handler
Vercel's docs add an MCP route to an existing Next.js App Router app:
npm i mcp-handler@2.1.1 @modelcontextprotocol/server@2 zod@4
The route lives at app/api/mcp/route.ts and uses createMcpHandler from mcp-handler. Vercel's note says version 2 "uses @modelcontextprotocol/server instead of @modelcontextprotocol/sdk, changes tool registration, and removes legacy HTTP+SSE transport and Redis configuration." The docs pin mcp-handler 2.1.1; npm showed 2.3.0 as the latest release on 2 November 2026.
Vercel also links one-click templates for Next.js and for Vercel Functions. For auth, its docs say withMcpAuth verifies tokens and publishes metadata, but the package "does not issue tokens or run an authorization server."
6. FastMCP 4 (Python framework)
FastMCP is a separate open-source project, now at PrefectHQ/fastmcp on GitHub. PyPI listed fastmcp 4.1.5 on 2 November 2026. Its upgrade guide says "FastMCP 4 builds on the MCP Python SDK v2." It adds extras on top of the SDK, such as OpenAPI conversion and server composition.
Do not confuse it with the SDK's old built-in mcp.server.fastmcp module, which v2 removed, or with punkpeye/fastmcp, a separate TypeScript framework that shares the name. Our FastMCP vs the official Python SDK comparison helps you choose.
7. Generators from an OpenAPI spec
If you already have an OpenAPI document, a generator gives you a working prototype:
- FastMCP
from_openapiturns each endpoint into a tool, with route maps to filter them. - Speakeasy generates "a TypeScript-based MCP server," per its MCP guide.
Both are starting points. FastMCP's docs say models perform better with curated servers than with auto-converted ones. See turning an OpenAPI spec into an MCP server.
8. Data-source starters from this guide
Each of these is a complete, small server you can copy, with code that ran on 2 November 2026:
- PostgreSQL and SQLite
- CSV files, Excel files and Google Sheets
- A REST API and an internal API in TypeScript
- Docs search, a Slack bot, WordPress and Shopify
Starters to avoid
| Starter | Status checked 2 Nov 2026 | Use instead |
|---|---|---|
npx @modelcontextprotocol/create-server | npm: "Package no longer supported"; last release 25 Nov 2024; pins SDK 0.6.0 | Official TypeScript SDK setup |
create-python-server | GitHub repository archived | uv add "mcp[cli]" |
create-typescript-server | GitHub repository archived | Official TypeScript SDK setup |
Any template importing mcp.server.fastmcp | Import path removed in Python SDK v2 | from mcp.server import MCPServer |
| Templates built on HTTP+SSE | Python SDK docs say SSE "was superseded by Streamable HTTP" | Streamable HTTP |
How to vet any template in five minutes
- Check the pinned SDK. Open
package.jsonorpyproject.toml.@modelcontextprotocol/sdk0.x or 1.x means a v1-era template. - Search for old imports.
mcp.server.fastmcp,server.tool(,SSEServerTransportandStreamableHTTPServerTransportplusconnect()all point to older patterns. - Check the repository. Is it archived? When was the last commit?
- Run it with the Inspector. List tools and call one. Our Inspector lesson shows the CLI.
- Read the security defaults. No auth, a wide CORS policy or a
0.0.0.0bind without host checks are fine for a demo, not for production.
Our free server risk checklist covers the security side in more depth.
Next step
If you are learning, the free Learn MCP course takes you from first tool to deployment with current code. If you need a production server built from the right starter, with auth, logging and tests, eSEOspace MCP development can help. For inspiration on what to build, see our MCP server project ideas.
More in the MCP Guide
Free tools: server.json Validator · MCP Error Code Lookup
Latest research: State of MCP: October 2026
Frequently asked questions
Is there an official "create MCP server" command today?
Not a maintained one, as of November 2026. The npm scaffolder is marked as no longer supported, and the Python scaffolder repository is archived. The official path is to install the SDK and copy an example.
Should I start in Python or TypeScript?
Use the language your team knows. Both official SDKs are at v2 with similar features. Our TypeScript vs Python MCP SDK comparison covers the differences.
Are the reference servers safe to use in production?
The README says they are educational examples, not production-ready solutions. Read the code, and prefer a maintained vendor server for production systems.
Do hosted templates include authentication?
Not by default. Cloudflare's quick template is authless, and Vercel's handler verifies tokens you provide but does not issue them. Plan your identity provider early.
How often do these starters change?
Often. Check versions on npm or PyPI on the day you start, and pin them in your project.











