MCPInstall
model-context-protocol-survey logo

model-context-protocol-survey

by asinghcsu 17 stars asinghcsu/model-context-protocol-survey

模型上下文协议 (MCP)

READMEmain

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

FeatureTraditional APIsModel Context Protocol (MCP)
Tool UsageManual, bespoke codeDynamic, standardized calls
Prompt InteractionBasic text-basedStructured and context-aware
Context HandlingLimitedIntegrated, built-in
DiscoveryManualDynamic and introspective
SecurityVaries widelyEnforced 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

FrameworkDescriptionIntegration Link
LangChainLightweight wrapper for making Anthropic MCP tools compatible with LangChain and LangGraph.langchain-ai/langchain-mcp-adapters
CrewAIProvides an MCP server to manage and trigger deployed CrewAI workflows.crewAIInc/enterprise-mcp-server
LlamaIndexIntegration for connecting LlamaIndex tools with MCP tools using llama-index-tools-mcp.llama-index-tools-mcp

Example Clients – Feature Support Matrix

ClientResourcesPromptsToolsSamplingRootsNotes
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

ServerDescriptionLink
AWS KB RetrievalRetrieves data from the AWS Knowledge Base using Bedrock Agent Runtime.GitHub
Google DriveEnables file access and search within Google Drive.GitHub
Google MapsProvides location services, directions, and place details.GitHub
RedisInteracts with Redis key-value stores for caching and data management.GitHub
PostgreSQLOffers read-only database access with schema inspection.GitHub
CloudflareDeploys, configures, and interrogates resources on the Cloudflare platform.GitHub
StripeIntegrates with Stripe API to manage payments, customers, and refunds.GitHub
Neo4jProvides interaction with Neo4j Graph Database for graph-based operations.GitHub
ApifyLeverages pre-built cloud tools to extract data from websites and APIs.GitHub

📦 MCP SDK Information

SDK NameLanguageDescriptionLink
TypeScript MCP SDKTypeScriptA comprehensive SDK to build MCP servers and clients in TypeScript.GitHub
Python MCP SDKPythonA robust SDK for implementing MCP servers and clients in Python.GitHub
Java MCP SDKJavaSDK for building and managing MCP infrastructure in Java.GitHub
Kotlin MCP SDKKotlinKotlin-native SDK for MCP client-server communication.GitHub
C# MCP SDKC#SDK for .NET/C# developers to integrate MCP functionality.GitHub

More Research & Data MCP servers

Similar servers from the same category.

WeatherXM PRO

weatherxm

Integrates with WeatherXM PRO APIs to provide access to hyperlocal weather data, historical observations, and forecast performance metrics for location-specific analysis and planning.

APICLI+6

Gralio

tymonte

Access 3+ million SaaS reviews, detailed pricing data, alternatives, ratings, funding information, growth metrics, user sentiment analysis, and functional feature data for over 30,000 software products.

Research & Data

Integrates with professional cryptocurrency data APIs from DefiLlama Pro, CoinGecko Pro, and Arkham Intelligence to provide real-time token prices, market data, blockchain analytics, and on-chain intelligence for crypto researchers and traders.

search

Enables semantic and keyword searches across Space Frontiers' library, telegram, and reddit databases through a FastAPI-based server with flexible authentication options.

databaseauthentication+1