Content
# A Survey of the Model Context Protocol (MCP): A Framework for Standardized, Agentic Interactions between LLMs and External Systems
---
## 📑 Table of Contents
- [A Survey of the Model Context Protocol (MCP): A Framework for Standardized, Agentic Interactions between LLMs and External Systems](#a-survey-of-the-model-context-protocol-mcp-a-framework-for-standardized-agentic-interactions-between-llms-and-external-systems)
- [📑 Table of Contents](#-table-of-contents)
- [Model Context Protocol (MCP): Empowering Agentic AI Interactions](#model-context-protocol-mcp-empowering-agentic-ai-interactions)
- [Comparative Analysis: MCP vs Traditional APIs](#comparative-analysis-mcp-vs-traditional-apis)
- [MCP Architecture Overview](#mcp-architecture-overview)
- [MCP Core Concepts](#mcp-core-concepts)
- [Resources](#resources)
- [Prompts](#prompts)
- [Tools](#tools)
- [Sampling](#sampling)
- [Roots](#roots)
- [Transport Layer](#transport-layer)
- [Agentic AI \& Composability](#agentic-ai--composability)
- [End-to-End MCP Workflow](#end-to-end-mcp-workflow)
- [🧠 AI Frameworks with MCP Integration](#-ai-frameworks-with-mcp-integration)
- [Example Clients – Feature Support Matrix](#example-clients--feature-support-matrix)
- [Reference \& Third-Party Servers](#reference--third-party-servers)
- [📦 MCP SDK Information](#-mcp-sdk-information)
---
## Model Context Protocol (MCP): Empowering Agentic AI Interactions
The **Model Context Protocol (MCP)** provides a structured, standardized way for **Large Language Models (LLMs)** to seamlessly interact with external tools, resources, and systems—much like how APIs and Language Server Protocols revolutionized application integration. MCP empowers the next generation of **agentic AI** by enabling autonomous, secure, and context-rich interactions.
---
## Comparative Analysis: MCP vs Traditional APIs
| Feature | Traditional APIs | Model Context Protocol (MCP) |
| ---------------------- | -------------------- | ---------------------------- |
| **Tool Usage** | Manual, bespoke code | Dynamic, standardized calls |
| **Prompt Interaction** | Basic text-based | Structured and context-aware |
| **Context Handling** | Limited | Integrated, built-in |
| **Discovery** | Manual | Dynamic and introspective |
| **Security** | Varies widely | Enforced mechanisms |
---
## MCP Architecture Overview
<div align="center">
<img src="assets/overview-model-context-protocol.svg" width="80%" alt="Overview of MCP Client-Server Architecture" />
<p><em>Fig. 1: MCP Client-Server Architecture.</em></p>
</div>
---
## MCP Core Concepts
### Resources
- **Structured External Data:** Exposes content such as text, audio, PDFs, system logs, and databases.
- **Types:** Text Resources (e.g., JSON, source code) and Binary Resources (e.g., PDFs, videos).
- **Discovery:** Via endpoints like `resources/list` and URI templates.
### Prompts
- **Reusable Templates:** For standardized LLM interactions.
- **Dynamic Context Injection:** Supports arguments and multi-step workflows.
- **Access Points:** Via `prompts/list` and `prompts/get`.
### Tools
<div align="center">
<img src="assets/tool.svg" width="75%" alt="MCP Tools" />
<p><em>Fig. 2: Tools provide active invocation using defined JSON schemas.</em></p>
</div>
- **Executable Capabilities:** Trigger actions and external system calls.
- **Definition:** Each tool is defined with a name, description, input/output schema, and validation.
- **Invocation:** Accessed via `tools/list` and invoked using `tools/call`.
### Sampling
<div align="center">
<img src="assets/sampling.svg" width="75%" alt="MCP Sampling Flow" />
<p><em>Fig. 3: Secure and contextual LLM completions via MCP sampling.</em></p>
</div>
- **Server-Initiated:** Sends messages to the LLM through the client.
- **Human-in-the-Loop:** Incorporates review/approval for secure execution.
- **Control Parameters:** Enables fine-tuning (temperature, token limits, etc.).
### Roots
<div align="center">
<img src="assets/root.svg" width="75%" alt="MCP Roots" />
<p><em>Fig. 4: Roots define operational boundaries using URIs.</em></p>
</div>
- **Logical Boundaries:** Define scopes (directories, API endpoints) for resource access.
- **Multi-Context Support:** Enables composable, dynamic agent workflows.
### Transport Layer
- **Real-Time Communication:** Utilizes secure HTTP/SSE channels.
- **Reliable Messaging:** Ensures structured, bidirectional interaction.
---
## Agentic AI & Composability
MCP is a catalyst for **agentic AI**, enabling autonomous agents to interact, collaborate, and chain tasks dynamically.
- **Dual Role Components:** MCP nodes act as both clients and servers.
- **Dynamic Agent Chaining:** Supports complex workflows with an orchestrator triggering specialized sub-agents.
- **Human Oversight:** Built-in review processes ensure security and reliability.
<div align="center">
<img src="assets/composabilty_agentic.png" width="80%" alt="Agentic AI & Composability" />
<p><em>Fig. X: Dynamic agent chaining enabled by MCP composability.</em></p>
</div>
<div align="center">
<img src="assets/orchestrator.png" width="80%" alt="Agentic AI & Composability" />
<p><em>Fig. y: Multi Agent Orchestrator.</em></p>
</div>
---
## End-to-End MCP Workflow
<div align="center">
<img src="assets/mcp-use-case.png" width="90%" alt="MCP Workflow Example" />
<p><em>Fig. 5: Customer Support Chatbot Workflow powered by MCP.</em></p>
</div>
**Workflow Highlights:**
1. **Capture & Send:** Client submits a structured prompt.
2. **Secure Transport:** Data is exchanged via the Transport Layer.
3. **Dynamic Invocation:** Server retrieves tools and resources as needed.
4. **Sampling & Review:** Server requests LLM completions with human oversight.
5. **Response Generation:** Outputs are returned in a clear, structured format.
---
## 🧠 AI Frameworks with MCP Integration
| Framework | Description | Integration Link |
| -------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **LangChain** | Lightweight wrapper for making Anthropic MCP tools compatible with LangChain and LangGraph. | [langchain-ai/langchain-mcp-adapters](https://github.com/langchain-ai/langchain-mcp-adapters) |
| **CrewAI** | Provides an MCP server to manage and trigger deployed CrewAI workflows. | [crewAIInc/enterprise-mcp-server](https://github.com/crewAIInc/enterprise-mcp-server) |
| **LlamaIndex** | Integration for connecting LlamaIndex tools with MCP tools using `llama-index-tools-mcp`. | [llama-index-tools-mcp](https://github.com/run-llama/llama_index/tree/main/llama-index-integrations/tools/llama-index-tools-mcp) |
---
## Example Clients – Feature Support Matrix
| Client | Resources | Prompts | Tools | Sampling | Roots | Notes |
| ------------------ | :-------: | :-----: | :---: | :------: | :---: | ------------------------------------------------------------------- |
| Claude Desktop App | ✅ | ✅ | ✅ | ❌ | ❌ | Full support for all MCP features |
| 5ire | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools. |
| BeeAI Framework | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools in agentic workflows. |
| Cline | ✅ | ❌ | ✅ | ❌ | ❌ | Supports tools and resources. |
| Continue | ✅ | ✅ | ✅ | ❌ | ❌ | Full support for all MCP features |
| Cursor | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools. |
| Emacs Mcp | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools in Emacs. |
| Firebase Genkit | ⚠️ | ✅ | ✅ | ❌ | ❌ | Supports resource list and lookup through tools. |
| GenAIScript | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools. |
| Goose | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools. |
| LibreChat | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools for Agents. |
| mcp-agent | ❌ | ❌ | ✅ | ⚠️ | ❌ | Supports tools, server connection management, and agent workflows. |
| oterm | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools. |
| Roo Code | ✅ | ❌ | ✅ | ❌ | ❌ | Supports tools and resources. |
| Sourcegraph Cody | ✅ | ❌ | ❌ | ❌ | ❌ | Supports resources through OpenCTX. |
| Superinterface | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools. |
| TheiaAI/TheiaIDE | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools for Agents in Theia AI and the AI-powered Theia IDE. |
| Windsurf Editor | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools with AI Flow for collaborative development. |
| Zed | ❌ | ✅ | ❌ | ❌ | ❌ | Prompts appear as slash commands. |
| SpinAI | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools for Typescript AI Agents. |
| OpenSumi | ❌ | ❌ | ✅ | ❌ | ❌ | Supports tools in OpenSumi. |
| Daydreams Agents | ✅ | ✅ | ✅ | ❌ | ❌ | Support for drop-in servers to Daydreams agents. |
---
## Reference & Third-Party Servers
| Server | Description | Link |
| -------------------- | --------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| **AWS KB Retrieval** | Retrieves data from the AWS Knowledge Base using Bedrock Agent Runtime. | [GitHub](https://github.com/rishikavikondala/mcp-server-aws) |
| **Google Drive** | Enables file access and search within Google Drive. | [GitHub](https://github.com/modelcontextprotocol/servers/tree/main/src/gdrive) |
| **Google Maps** | Provides location services, directions, and place details. | [GitHub](https://github.com/modelcontextprotocol/servers/tree/main/src/google-maps) |
| **Redis** | Interacts with Redis key-value stores for caching and data management. | [GitHub](https://github.com/modelcontextprotocol/servers/tree/main/src/redis) |
| **PostgreSQL** | Offers read-only database access with schema inspection. | [GitHub](https://github.com/modelcontextprotocol/servers/tree/main/src/postgres) |
| **Cloudflare** | Deploys, configures, and interrogates resources on the Cloudflare platform. | [GitHub](https://github.com/cloudflare/mcp-server-cloudflare) |
| **Stripe** | Integrates with Stripe API to manage payments, customers, and refunds. | [GitHub](https://github.com/atharvagupta2003/mcp-stripe) |
| **Neo4j** | Provides interaction with Neo4j Graph Database for graph-based operations. | [GitHub](https://github.com/neo4j-contrib/mcp-neo4j/) |
| **Apify** | Leverages pre-built cloud tools to extract data from websites and APIs. | [GitHub](https://github.com/apify/actors-mcp-server) |
<div align="center">
**🌐 Source Repositories**
🔗 [modelcontextprotocol.io/clients](https://modelcontextprotocol.io/clients)
🔗 [github.com/modelcontextprotocol/servers](https://github.com/modelcontextprotocol/servers)
🔗 [mcp.composio.dev](https://mcp.composio.dev)
🔗 [mcp.so](https://mcp.so/)
</div>
---
## 📦 MCP SDK Information
| SDK Name | Language | Description | Link |
| ---------------------- | ---------- | ------------------------------------------------------------------- | ---------------------------------------------------------------- |
| **TypeScript MCP SDK** | TypeScript | A comprehensive SDK to build MCP servers and clients in TypeScript. | [GitHub](https://github.com/modelcontextprotocol/typescript-sdk) |
| **Python MCP SDK** | Python | A robust SDK for implementing MCP servers and clients in Python. | [GitHub](https://github.com/modelcontextprotocol/python-sdk) |
| **Java MCP SDK** | Java | SDK for building and managing MCP infrastructure in Java. | [GitHub](https://github.com/modelcontextprotocol/java-sdk) |
| **Kotlin MCP SDK** | Kotlin | Kotlin-native SDK for MCP client-server communication. | [GitHub](https://github.com/modelcontextprotocol/kotlin-sdk) |
| **C# MCP SDK** | C# | SDK for .NET/C# developers to integrate MCP functionality. | [GitHub](https://github.com/modelcontextprotocol/csharp-sdk) |
Connection Info
You Might Also Like
MarkItDown MCP
Converting files and office documents to Markdown.
Time
Obtaining current time information and converting time between different...
Filesystem
Model Context Protocol Servers
Sequential Thinking
Offers a structured approach to dynamic and reflective problem-solving,...
Git
Model Context Protocol Servers
Context 7
Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors