THE DEV BENCH
🔌

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 done

Wire 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 done

Define 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 done

Speak the wire protocol: the JSON-RPC `initialize` handshake, capability declarations, and a `tools/call` request. The messages that actually flow between client and server.