Concepts
- What an MCP server is, and what yours has to doThe Model Context Protocol in one page: what a server exposes, how ChatGPT and Claude call it, and the four responsibilities that separate a demo from an integration customers can rely on.
- Tool design: reads, writes and guarded actionsThe three kinds of tool every integration needs, the rules each one follows, and the four-tool interface that all the example servers implement identically.
Build
- The Sample Shop API every example wrapsA deliberately small e-commerce API with one search, one lookup, one idempotent write and one irreversible action, so each language example can show the same three kinds of tool against the same upstream.
- Build an MCP server in TypeScriptA Streamable HTTP MCP server for the Sample Shop API with the official TypeScript SDK (@modelcontextprotocol/server 2.3): tool registration with Zod schemas, annotations, error mapping, and a stateless Express endpoint.
- Build an MCP server in PythonA Streamable HTTP MCP server for the Sample Shop API with the official Python SDK (mcp 2.3): MCPServer, typed tool functions with pydantic Field descriptions, ToolError for actionable failures, and a stateless Starlette app.
- Build an MCP server in C# (.NET)A Streamable HTTP MCP server for the Sample Shop API with the official C# SDK (ModelContextProtocol.AspNetCore 2.2): attribute-declared tools, Description attributes as schema, McpException for actionable failures, and a stateless ASP.NET Core endpoint.
- Build an MCP server in PHPA Streamable HTTP MCP server for the Sample Shop API with the official PHP SDK (mcp/sdk 0.8): attribute discovery, Schema attributes for parameter constraints, ToolCallException for actionable failures, and a per-request PSR-7 entry point with a file session store.
- Conformance testing: one scenario, four serversHow the examples repository proves the TypeScript, Python, C# and PHP servers expose an identical tool interface: a 25-check client scenario run against each in CI, and what it caught while the examples were being written.
Connect
- Connect your MCP server to ClaudeHow to add a Streamable HTTP MCP server to Claude on the web and desktop, to Claude Code, and to the MCP Inspector for testing, and what to check before customers connect.
- Connect your MCP server to ChatGPTWhat ChatGPT needs from a remote MCP server (a public HTTPS endpoint with authorization), how connectors are added, how to test before exposing anything, and the behaviours to verify once connected.