MCP drills
Everything MCP speaks is JSON — so learn it by writing it. Wire servers into a host's mcpServers config, define the server primitives (tools, resources, prompts), and hand-write the JSON-RPC messages (initialize, capabilities, tools/call). Every drill is graded live in your browser against the real shapes — no AI, no autocomplete.
Why this matters:MCP is becoming the default way agents connect to tools and data. Reading about it isn't the same as being able to write a correct tool definition or an initialize handshake from memory. These drills make the shapes muscle memory. Authored against spec revision 2025-11-25.
Client configuration
0/3 doneWire MCP servers into a host with an `mcpServers` config — local stdio servers (command / args / env) and remote Streamable-HTTP servers (type / url). The JSON a host like Claude Desktop reads on startup.
Server primitives
0/5 doneDefine what a server exposes: TOOLS (name + inputSchema + optional outputSchema/annotations), RESOURCES (uri + mimeType), and PROMPTS (arguments). The exact JSON shapes a client discovers and uses.
Protocol messages
0/3 doneSpeak the wire protocol: the JSON-RPC `initialize` handshake, capability declarations, and a `tools/call` request. The messages that actually flow between client and server.