MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems.
Overview
MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems. MCP introducted by Anthropic in November 2024, adopted by many AI companies including Google, OpenAI, Microsoft, etc. Using MCP, AI application like Claude, ChatGPT, Gemini,etc can connect and access datasources (local files, databases) and tools like (search engines, fetching external, APIs) and workflows (e.g. specialized prompts) enabling them to access key information and perform tasks. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect electronic devices, MCP provides a standardized way to connect AI applications to external systems. 1. Agents can access your Google Calendar and Notion, acting as a more personalized AI assistant by using MCP. 2. Enterprise chatbots can connect to multiple databases across an organization, empowering users to analyze data using chat. 3.
README
What is the Model Context Protocol (MCP)?
MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems. MCP introducted by Anthropic in November 2024, adopted by many AI companies including Google, OpenAI, Microsoft, etc. Using MCP, AI application like Claude, ChatGPT, Gemini,etc can connect and access datasources (local files, databases) and tools like (search engines, fetching external, APIs) and workflows (e.g. specialized prompts) enabling them to access key information and perform tasks.
Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect electronic devices, MCP provides a standardized way to connect AI applications to external systems.
What can MCP enable?
- Agents can access your Google Calendar and Notion, acting as a more personalized AI assistant by using MCP.
- Enterprise chatbots can connect to multiple databases across an organization, empowering users to analyze data using chat.
- Access external data — read files, databases, Google Drive, Notion, etc.
- Use tools — search the web, run code, query APIs
- Take actions — send emails, create calendar events, manage tasks
- Connect to local systems — interact with your file system, terminal, or local apps
- Integrate services — GitHub, Postgres,and social media accounts like whatsapp, instagram, facebook, twitter, etc.
Why does MCP matter?
Depending on where you sit in the ecosystem, MCP can have a range of benefits.
- Developers: MCP reduces development time and complexity when building, or integrating with, an AI application or agent.
- AI applications or agents: MCP enables AI applications or agents to access external systems and tools, allowing them to perform tasks that they would not be able to perform on their own.
- Businesses: MCP enables businesses to integrate their AI applications with their existing systems, allowing them to leverage the power of AI to improve their operations.
- Users: MCP enables users to access the power of AI to improve their lives, allowing them to perform tasks that they would not be able to perform on their own.
MCP Architecture
Concepts of MCP
1. Participants:
MCP follows a client-server architecture where an MCP host establish connection between one or more MCP servers. The MCP host accomplishes this by creating one MCP client for each MCP server. Each MCP client maintains a dedicated connection with its corresponding MCP server. Local MCP servers that use the STDIO (Standard Input/Output) transport typically serve a single MCP client, whereas remote MCP servers that use the Streamable HTTP transport will typically serve many MCP clients.
- **Key Participants**:
The key participants in the MCP architecture are:
1. **MCP Host**: The AI application that coordinates and manages one or multiple MCP clients
2. **MCP Client**: A component that maintains a connection to an MCP server and obtains context from an MCP server for the MCP host to use
3. **MCP Server**: A program that provides context to MCP clients
2. Layers:
- Data layer(Internal Layer): Defines the JSON-RPC based protocol for client-server communication, including lifecycle management, and core primitives, such as tools, resources, prompts and notifications. Primitives of data layer are tools, resources, prompts and notifications.
- Transport layer(External Layer): Defines the communication mechanisms and channels that enable data exchange between clients and servers, including transport-specific connection establishment, message framing, and authorization.
DATA LAYER
TRANSPORT LAYER
MCP Client
What is an MCP Client?
An MCP Client is a component that lives inside the MCP host and acts as the bridge between the AI application and an MCP server. The host creates one dedicated MCP client per MCP server, and each client maintains a persistent, stateful connection to its corresponding server throughout the session.
Role of the MCP Client
The MCP client is responsible for:
- Connection management — Initiating, maintaining, and gracefully terminating the connection to the MCP server using the appropriate transport (STDIO for local servers, Streamable HTTP for remote servers).
- Capability negotiation — During the initialization handshake, the client exchanges capability declarations with the server so both sides know what features (tools, resources, prompts, sampling, etc.) are supported.
- Message routing — Forwarding requests from the host to the correct server and returning responses back to the host.
- Context retrieval — Fetching tools, resources, and prompts from the MCP server so the host (AI application) can use them when generating responses.
- Lifecycle management — Handling connection errors, reconnections, and clean shutdowns.
How the MCP Client Works
When the MCP host starts up, it reads its configuration to discover which MCP servers to connect to. For each server, it spins up a dedicated MCP client that:
- Establishes a transport-level connection to the server (e.g., spawns a local process via STDIO or opens an HTTP stream to a remote endpoint).
- Performs an initialization handshake — sends an
initializerequest containing the client’s protocol version and capabilities, and receives the server’s protocol version and capabilities in return. - Sends a
notifications/initializedmessage to signal that the client is ready. - Begins sending requests (e.g.,
tools/list,tools/call,resources/read,prompts/get) on behalf of the host as needed.
MCP Host
│
├── MCP Client A ──── (STDIO) ────► Local MCP Server (e.g., file system)
│
└── MCP Client B ──── (HTTP) ─────► Remote MCP Server (e.g., GitHub API)
MCP Client Capabilities
During initialization, an MCP client may declare support for:
| Capability | Description |
|---|---|
roots |
Informs the server of filesystem root directories the client can expose |
sampling |
Allows the server to request LLM completions through the client |
experimental |
Declares support for non-standard, experimental features |
MCP Server
What is an MCP Server?
An MCP Server is a lightweight program that exposes context — tools, resources, and prompts — to MCP clients over the Model Context Protocol. Servers act as the integration point between the AI application and external systems such as databases, APIs, file systems, and third-party services.
A server can be:
- Local — Runs on the same machine as the host, communicates over STDIO.
- Remote — Runs on a separate machine or cloud endpoint, communicates over Streamable HTTP.
Role of the MCP Server
The MCP server is responsible for:
- Exposing primitives — Declaring and serving the tools, resources, and prompts that MCP clients can discover and use.
- Handling requests — Processing incoming JSON-RPC requests (e.g.,
tools/call,resources/read) and returning well-formed responses. - Maintaining security boundaries — Each server operates in its own process or environment, isolating access to the external system it wraps.
- Sending notifications — Proactively notifying connected clients about changes (e.g., a resource has been updated).
MCP Server Primitives
MCP servers expose three core primitives that clients can discover and consume:
| Primitive | Description | Example |
|---|---|---|
| Tools | Executable functions the AI can invoke | search_web, run_query, send_email |
| Resources | Read-only data sources the AI can access | A file, a database row, a webpage |
| Prompts | Pre-defined prompt templates the server provides | A summarization template, a code review prompt |
How the MCP Server Works
Once the initialization handshake with a client is complete, the server:
- Responds to
tools/listrequests by returning a list of available tools with their names, descriptions, and input schemas (JSON Schema). - Executes
tools/callrequests by running the requested tool with the provided arguments and returning the result. - Responds to
resources/listandresources/readrequests by returning available data sources and their contents. - Responds to
prompts/listandprompts/getrequests by returning available prompt templates. - Sends notifications to clients when relevant state changes occur (e.g.,
notifications/tools/list_changed).
MCP Client ──── tools/list ────────────────► MCP Server
◄─── [{ name, description, ... }] ──
──── tools/call { name, args } ───►
◄─── { result } ──────────────────
MCP Server Capabilities
During initialization, an MCP server may declare support for:
| Capability | Description |
|---|---|
tools |
The server exposes callable tools |
resources |
The server exposes readable data resources |
prompts |
The server exposes reusable prompt templates |
logging |
The server can send log messages to the client |
experimental |
The server supports non-standard, experimental features |
Local vs. Remote MCP Servers
| Local MCP Server | Remote MCP Server | |
|---|---|---|
| Transport | STDIO | Streamable HTTP |
| Location | Same machine as the host | Cloud or separate machine |
| Clients served | Typically one (1:1 with client) | Many clients simultaneously |
| Use case | File system, terminal, local DBs | SaaS APIs, shared enterprise services |
| Authorization | Process-level isolation | OAuth 2.0 / token-based auth |
Install
This server does not publish a one-line install command.
Open the repository installation guide New to MCP? Start with the mcpskill.org guide →