Model Context Protocol (MCP)
MCP is an interoperability boundary between an AI host and external capabilities. A host creates clients that connect to focused servers; the connection negotiates capabilities instead of assuming every implementation supports the same features.
Three Server Primitives
| Primitive | Usually controlled by | Purpose |
|---|---|---|
| Tools | model | perform an action or retrieval |
| Resources | application | supply structured context |
| Prompts | user | expose reusable interaction templates |
The protocol standardizes discovery and invocation. It does not make a tool trustworthy, guarantee good authorization, or decide which result belongs in the model context.
Use MCP When
- several AI clients should share the same live integration;
- capabilities need discovery, typed inputs, or remote authentication;
- the external service owns data or actions that should not be copied into the repository;
- a focused server can expose a small, understandable capability surface.
Use a direct local command or native tool when only one harness needs a simple operation. Use a skill when the missing piece is procedure rather than connectivity.
Operating Rules
- Prefer focused servers and enable only relevant tools.
- Keep secrets in environment or OAuth storage, never in notes or checked-in config.
- Treat tool output as untrusted input until validated.
- Distinguish read access from external writes and destructive actions.
- Pin or record server versions when reproducibility matters.
- Remove unused servers: every exposed tool consumes attention and expands the failure surface.
Review Trigger
Recheck this note when the MCP specification revision, transport model, authorization flow, or the host's approval semantics change. Product-specific configuration examples belong in workflow notes and may need faster review.