Not a slide deck — press Play and watch the full protocol conversation happen, message by message. (This shows complete message bodies, the way Part 3's wiretap captures them — Claude Desktop's own log only shows a one-line summary of each message; see "Live capture command" for that exact, corrected command.)
| Side | Capability | Meaning |
|---|---|---|
| Client | roots | Filesystem directory access for the server |
| Client | sampling | Server can borrow the client's own AI model |
| Server | tools | Callable actions |
| Server | resources | Read-only data |
| Server | prompts | Request templates |
| Server | logging | Structured log messages to the client |
roots, sampling, and logging are being deprecated in the newest spec revision (SEP-2577).
| Code | Name | Cause |
|---|---|---|
| -32700 | Parse error | Unreadable JSON |
| -32600 | Invalid request | Well-formed, not valid |
| -32601 | Method not found | Never advertised |
| -32602 | Invalid params | Wrong/missing args |
| -32603 | Internal error | Server logic failed |
| -32000+ | Server-defined | Custom to that server |
stdio subprocess, stdin/stdout, newline-delimited, stderr free for logging, no auth layer.
Streamable HTTP one endpoint (/mcp), POST+GET, JSON or SSE, optional Mcp-Session-Id.
npx -y @modelcontextprotocol/server-filesystem <dir>
npx -y @modelcontextprotocol/server-everything — all 3 primitives
uvx mcp-server-git
npx -y @modelcontextprotocol/server-memory
uvx mcp-server-fetch
uvx mcp-server-time
DeepWiki (free, no auth)
https://mcp.deepwiki.com/mcp
also: /sse (legacy, same service — great for A/B transport demos)
Semgrephttps://mcp.semgrep.ai/mcp
Correction: Claude Desktop's log only shows a summary line (method/id/params-or-result present), not full JSON — no jq needed.
tail -n0 -f "$HOME/Library/Logs/Claude"/mcp-server-*.log
| awk '/Message from client:/ {...}
/Message from server:/ {...}'
Full corrected script: watch-mcp-logs.sh, in the course files.