Build a server
Each language section starts with a first server and builds from there. Every example under examples/mcp/ is tested with the same harness: a 2025-11-25 client, a client that negotiates, and a client pinned to 2026-07-28.
Pick a language
Section titled “Pick a language”| Language | Start here | Then | 2026-07-28 support in our tests |
|---|---|---|---|
| TypeScript | First stateless server | Streamable HTTP, resources and prompts | Yes, alongside 2025-11-25 |
| Python | First server | Streamable HTTP, upgrade from FastMCP | Yes, alongside 2025-11-25 |
| Java | Spring AI | No: 2025-11-25 only | |
| Go | First server | Yes, alongside 2025-11-25 |
A server that only speaks 2025-11-25 is not broken. In our tests the TypeScript client connected to the Java servers both with its default settings and in auto mode; only a client pinned to 2026-07-28 failed.
Before you publish a server
Section titled “Before you publish a server”- Test it without a client first: MCP Inspector.
- For stdio servers, keep stdout for the protocol: stdio checklist.
- For HTTP servers, read Docker and nginx and OAuth basics.
MCPDev is community documentation. It is not affiliated with the Model Context Protocol project or with the vendors of the clients it covers.