Vol. VII · Protocols & Tools · VII.2
Model Context Protocol
MCP is USB-C for tools, resources, and prompts. Servers expose capabilities; clients (harnesses) load them. Do not confuse a protocol with a product strategy.
6 min read
Doctrine
- Implement against the spec (python-sdk, official TS SDK), not a random wrapper.
- Resources and prompts are part of MCP, not only tools. Use them.
- Each MCP server is a trust boundary. Users should approve servers like they approve extensions.
Where it sits
Harnesses (Cline, Gemini CLI, OpenCode, n8n) are MCP clients. Your database, browser, or internal API is a server. Skills can teach the agent how to use a server. A2A is a different layer — agent to agent — and complements MCP rather than replacing it.
Anti-patterns
- Bundling twenty MCP servers into every session 'just in case' (context death).
- An MCP server that is actually an unbounded shell.