The Model Context Protocol (MCP) follows a client-host-server architecture where each host can run multiple client instances. This architecture enables users to integrate AI capabilities across applications while maintaining clear security boundaries and isolating concerns. Built on JSON-RPC, MCP provides a stateful session protocol focused on context exchange and sampling coordination between clients and servers.
The host process acts as the container and coordinator:
Each client is created by the host and maintains an isolated server connection:
A host application creates and manages multiple clients, with each client having a 1:1 relationship with a particular server.
Servers provide specialized context and capabilities:
MCP is built on several key design principles that inform its architecture and implementation:
Servers should be extremely easy to build
Servers should be highly composable
Servers should not be able to read the whole conversation, nor “see into” other servers
Features can be added to servers and clients progressively
The Model Context Protocol uses a capability-based negotiation system where clients and servers explicitly declare their supported features during initialization. Capabilities determine which protocol features and primitives are available during a session.
Each capability unlocks specific protocol features for use during the session. For example:
This capability negotiation ensures clients and servers have a clear understanding of supported functionality while maintaining protocol extensibility.
The Model Context Protocol (MCP) follows a client-host-server architecture where each host can run multiple client instances. This architecture enables users to integrate AI capabilities across applications while maintaining clear security boundaries and isolating concerns. Built on JSON-RPC, MCP provides a stateful session protocol focused on context exchange and sampling coordination between clients and servers.
The host process acts as the container and coordinator:
Each client is created by the host and maintains an isolated server connection:
A host application creates and manages multiple clients, with each client having a 1:1 relationship with a particular server.
Servers provide specialized context and capabilities:
MCP is built on several key design principles that inform its architecture and implementation:
Servers should be extremely easy to build
Servers should be highly composable
Servers should not be able to read the whole conversation, nor “see into” other servers
Features can be added to servers and clients progressively
The Model Context Protocol uses a capability-based negotiation system where clients and servers explicitly declare their supported features during initialization. Capabilities determine which protocol features and primitives are available during a session.
Each capability unlocks specific protocol features for use during the session. For example:
This capability negotiation ensures clients and servers have a clear understanding of supported functionality while maintaining protocol extensibility.