Skip to content

asinghcsu/model-context-protocol-survey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 

Repository files navigation

A Survey of the Model Context Protocol (MCP): A Framework for Standardized, Agentic Interactions between LLMs and External Systems


πŸ“‘ Table of Contents


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

Overview of MCP Client-Server Architecture

Fig. 1: MCP Client-Server Architecture.


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

MCP Tools

Fig. 2: Tools provide active invocation using defined JSON schemas.

  • 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

MCP Sampling Flow

Fig. 3: Secure and contextual LLM completions via MCP sampling.

  • 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

MCP Roots

Fig. 4: Roots define operational boundaries using URIs.

  • 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.
Agentic AI & Composability

Fig. X: Dynamic agent chaining enabled by MCP composability.

Agentic AI & Composability

Fig. y: Multi Agent Orchestrator.


End-to-End MCP Workflow

MCP Workflow Example

Fig. 5: Customer Support Chatbot Workflow powered by MCP.

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
CrewAI Provides an MCP server to manage and trigger deployed CrewAI workflows. crewAIInc/enterprise-mcp-server
LlamaIndex Integration for connecting LlamaIndex tools with MCP tools using llama-index-tools-mcp. 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
Google Drive Enables file access and search within Google Drive. GitHub
Google Maps Provides location services, directions, and place details. GitHub
Redis Interacts with Redis key-value stores for caching and data management. GitHub
PostgreSQL Offers read-only database access with schema inspection. GitHub
Cloudflare Deploys, configures, and interrogates resources on the Cloudflare platform. GitHub
Stripe Integrates with Stripe API to manage payments, customers, and refunds. GitHub
Neo4j Provides interaction with Neo4j Graph Database for graph-based operations. GitHub
Apify Leverages pre-built cloud tools to extract data from websites and APIs. GitHub

🌐 Source Repositories
πŸ”— modelcontextprotocol.io/clients
πŸ”— github.com/modelcontextprotocol/servers
πŸ”— mcp.composio.dev
πŸ”— mcp.so


πŸ“¦ MCP SDK Information

SDK Name Language Description Link
TypeScript MCP SDK TypeScript A comprehensive SDK to build MCP servers and clients in TypeScript. GitHub
Python MCP SDK Python A robust SDK for implementing MCP servers and clients in Python. GitHub
Java MCP SDK Java SDK for building and managing MCP infrastructure in Java. GitHub
Kotlin MCP SDK Kotlin Kotlin-native SDK for MCP client-server communication. GitHub
C# MCP SDK C# SDK for .NET/C# developers to integrate MCP functionality. GitHub