Cheatsheet

MCP server design cheatsheet (build distributable tools right in 2026)

Production patterns for building MCP servers in 2026: tool design, auth, transports, prompt + resource design, packaging, and the patterns that make a server usable across many LLM clients.

Primitives

MCP exposes three things to clients.

ItemDescriptionExample
ToolsFunctions the model can call. JSON-schema args, structured results.
ResourcesRead-only data sources (files, queries, API endpoints) the model can read.
PromptsPre-built prompt templates with arguments the user / client can fill in.

Tool design

ItemDescriptionExample
Name by intentgithub_create_issue, not call_github_api_endpoint_v3.
Description does the workAnthropic's docs are explicit: the model reads description text as documentation.
Tight result shapesStructured + small. The whole result enters next-step context.
Errors as textReadable error messages help the model recover.

Transports

ItemDescriptionExample
stdioDefault for local servers — Claude Desktop, Cursor, etc. Simple, no network.
SSE / HTTPFor remote / hosted servers. Add auth.
Streamable HTTP2025 update — replaces SSE for production remote servers.

Auth

ItemDescriptionExample
OAuth 2.1Standard for remote MCP servers in 2026. Server authorises against the client's identity.
Bearer tokensSimple for trusted environments. Avoid in untrusted clients.
Per-tenant scopingCritical if your server multi-tenants.

Packaging + distribution

ItemDescriptionExample
Publish to MCP RegistryOnce Anthropic's registry stabilises (early 2026). Discoverable by clients.
npm / pip / pkgDistribute as ordinary packages your users install + configure in their client.
VersioningSemantic version your tool surface — breaking changes are real.
Server.json manifestDeclare capabilities the client should know about up front.

FAQ

What's the difference between an MCP server and a regular API?

An MCP server speaks the Model Context Protocol — JSON-RPC + structured tool / resource / prompt surface — so any MCP-compatible LLM client can use it without per-product integration.

Best language for MCP servers in 2026?

TypeScript and Python both have first-party SDKs. Go and Rust SDKs are maturing. Pick by team fit.

Should I expose tools or resources for static data?

Resources for read-only static / queryable data; tools for actions or computed responses.

Last updated: 2026-06-01.