Skip to content

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.

Related