Starting from scratch does not mean rebuilding the protocol from scratch.
Choose the official MCP starter closest to your existing stack, build one useful surface, and put mcp-doctor beside it before the server grows.
Start with the official path closest to your stack
The current MCP documentation already offers guided server examples and official SDKs. Reuse that work instead of hand-writing the wire protocol or copying an old community snippet.
Choose the path with the least new machinery
The best starter is usually the one your team can understand, run, and maintain without introducing another runtime just for MCP.
- Match the stack. Stay with the language, package manager, deployment model, and test tools your service already uses.
- Start with one real job. Expose one tool, resource, or prompt tied to a user task before expanding the catalog.
- Name the boundary. Decide whether the first server is local or remote, what data it can reach, and which actions require explicit authority.
The protocol contract nearly doubled in 21 months
Across five official MCP revisions, the top-level reusable definitions in the versioned JSON Schema rose from 79 to 155. Pinning a revision keeps the contract you build and test explicit.
This measures schema structure—not implementation difficulty, normative requirements, compatibility, or protocol quality.
View source data and counting method
| MCP revision | Top-level $defs |
|---|---|
| 2024-11-05 | 79 |
| 2025-03-26 | 83 |
| 2025-06-18 | 91 |
| 2025-11-25 | 145 |
| 2026-07-28 | 155 |
Put mcp-doctor in the loop while the surface is small
Do not wait for a large server and a release deadline to learn what an MCP client will discover. Add a separate check as soon as the starter runs.
-
Inspect locally
mcp-doctor v0.4.0 inspect starts the selected local command or contacts the selected remote endpoint, then checks discovery, definitions, and schemas without invoking a listed tool.
-
Fix, then inspect again
Keep the feedback loop beside the code. A person or coding agent can make the change, while mcp-doctor gives the next pass a separate, bounded result.
-
Repeat the pinned check in CI
Use the same reviewed target and protocol revision as a merge checkpoint so the check does not depend on memory or the original builder’s context.
Keep building one verified edge at a time
Once the starter and its first advertised surface are stable, expand only where the next user task requires it.
- Keep normal unit and integration tests for business meaning; a protocol diagnostic does not replace them.
- Add reviewed active checks only when you control the target, input, authority, and possible side effects.
- Add tools, resources, prompts, remote transport, and authorization deliberately, rerunning the local and CI checks as the surface changes.
The starter gets you moving. The repeatable verification loop keeps “it runs” from becoming the only evidence you have.
Choose the next question
The next useful guide depends on whether you are still deciding to offer MCP or already preparing an AI-built server for launch.
Add the independent check
Review the mcp-doctor inspection and testing boundary, then choose the least-active diagnostic that answers your next question.
Read the inspection and testing guideSources and boundaries
Current official MCP documentation supports the starter and SDK-tier summary. Released mcp-doctor v0.4.0 documentation supports only the product behaviour attributed to that version.
- Official guide: Build an MCP server — The current guided server tutorial for Python, TypeScript, Java, Kotlin, C#, Ruby, Rust, and Go.
- Official MCP SDK directory — Current official languages, repository links, and tier classifications.
- TypeScript SDK v2 server package — The documented stable TypeScript server line for MCP 2026-07-28.
- mcp-doctor v0.4.0 product boundary — Released passive-inspection behaviour and the distinction from reviewed active calls.
- mcp-doctor v0.4.0 automation guide — Stable exits, redacted reports, and the least-permission passive CI starter.
- mcp-doctor v0.4.0 safety model — The execution, authority, data, and side-effect boundaries for passive and active diagnostics.
- Versioned MCP JSON schemas — The five official schema snapshots used for the retained article graph.
SDK tiers, guides, and release lines can change. Recheck the official sources before implementation. Structural diagnostics do not establish semantic truth, security, compliance, production readiness, or model success.
