Introduction
Recently, Google released the A2A protocol, extending the Model Context Protocol (MCP) proposed by Anthropic last year. Before diving into A2A, I wanted to take some time to document my notes on MCP.
While researching MCP, I came across many discussions on Medium and YouTube. In this article, beyond basic concepts and implementation details, I want to focus more on the ideas and design implications that are worth discussing.
📌 This article aims to move from fundamentals to deeper insights, showing that MCP is more than just “connecting multiple data sources or APIs for agents to automatically choose from.” Hopefully, it also won’t feel too dry or boring.
Friendly reminder: This article turned out to be longer than expected, so it’s split into two parts. Feel free to jump to the sections you’re most interested in 🥸
What is the Model Context Protocol (MCP)?
MCP stands for Model Context Protocol, an open protocol proposed by Anthropic in November 2024, designed to enable seamless integration between AI applications or agents and tools and data sources.
In everyday terms, you can think of MCP as the USB-C of AI applications. Just as USB-C provides a unified interface for connecting various devices to a computer, MCP standardizes how AI applications connect to external systems (as illustrated in the cover image: https://norahsakal.com/blog/mcp-vs-api-model-context-protocol-explained/).
From a software perspective, comparing MCP with APIs and LSP (Language Server Protocol) can make the idea easier to grasp👇
ㅤ | API | LSP | MCP |
Concept | Standardizes how web applications interact with backends | Standardizes how IDEs interact with language server tools | Standardizes how AI applications interact with external systems |
Key participants | Servers, databases, services | Code navigation, analysis, intelligence | Prompts, tools, resources |
What is the influence of MCP ?
If you’re wondering what kind of impact MCP standardization brings, keep reading.
Without MCP: Fragmented AI Development
With MCP: Standardized AI Development
From the comparison above, we can see that without MCP, building an AI application often requires extensive customization across many components. With MCP, however, there are significant gains across four different dimensions
Role | Impact |
AI application developers / engineers | Existing applications can be connected to MCP servers intuitively, with minimal extra work |
MCP server or tool developers | Once built, an MCP server can be reused anywhere |
End users | MCP enables richer and more powerful AI application scenarios |
Enterprises | Clearer separation of responsibilities across AI product teams |
Building with MCP
Below are the key roles involved in MCP:
Role | Controlled by | Description | Example |
MCP Host | – | Applications that want to access data via MCP | Claude Desktop, IDEs, AI tools |
MCP Client | – | Establishes a one-to-one connection with an MCP server; the model decides when to invoke tools | – |
MCP Server | – | Exposes tools to client applications | CRM MCP Server |
Tools | Model | Functions invoked by the model, with usage descriptions | Search, messaging, database updates |
Resources | Application | Data exposed to applications with rich interaction interfaces | Files, DB records, API responses |
Prompts | User | Predefined AI interaction templates, treated as user-invoked tools | Document Q&A, meeting summaries, JSON output |
Resources vs Tools: Key Differences
Design aspect | Control | Advantage |
Separate design to optimize model behavior and enrich app–server interaction | Tools are controlled by the model; Resources are controlled by the application | MCP-compliant applications can decide when to inject resources based on rules or LLM calls |
Vector Database Integration
Depending on use-case requirements, vector databases are useful when:
- It’s unclear when a tool should be invoked
- The LLM needs to query databases at different stages
MCP and Agent Frameworks
🤝 Complementary roles:
- MCP focuses on standardized connectivity
- Agent frameworks handle:
- Knowledge management
- Agent loop orchestration
- Processing tool outputs
For example, LangGraph provides connectors to link agents with MCP.
Flexible Use of Resources & Prompts
Core characteristics:
- Dynamic: Interacts with user and application context
- Customizable: Servers can tailor content per task
- Real-time: Resource notifications support live updates
MCP’s value proposition:
- Standardized tool invocation
- Greater control over system components
- A framework for rich interactions
Transports
Message Format
MCP uses JSON-RPC 2.0 for all requests, responses, and notifications.
Message lifecycle:
- Initialization
- Client sends
initializewith protocol version and capabilities - Server responds with its version and capabilities
- Client sends
initializednotification
- Message exchange
- Requests, responses, and notifications flow both ways
- Termination
- Either side may close the connection via
close(), transport interruption, or error
Transport Type
Built-in (Stdio / SSE) and Custom Transports
Transport | Description | Use case | Characteristics |
Stdio | Communication via stdin/stdout | Local integrations (CLI tools, IDE plugins) | Low latency, no network stack, simple IPC |
SSE | HTTP POST + Server-Sent Events | Web apps needing real-time server push | Supports streaming from server to client |
Custom | Developer-implemented transports | Special protocols (e.g., WebSocket) | Highly flexible, requires custom security handling |
Why MCP Will Become a Foundational Protocol for Agent Systems
As agent systems evolve, models themselves improve and become better at utilizing the data provided to them.
Core Capabilities MCP Enables for LLMs
- Allows LLMs to proactively invoke tools and reason over results
- Enables a form of statefulness
- Interactions don’t reset each time; progress can be tracked
MCP as Infrastructure
MCP acts as a unified standard that allows LLMs to:
- Talk to retrieval systems
- Invoke diverse tools
- Integrate memory
Key trait: agents can discover and use new capabilities at runtime without pre-defining everything.
The Simple Nature of Agent Systems
At their core, agent systems are not complicated. They are enhanced LLMs running in a loop: executing tasks toward a goal, invoking tools, observing responses, and repeating until completion.
Value of MCP for Developers
Flexibility | User autonomy | Developer focus |
Developers don’t need to know all agent capabilities upfront | Users can customize context and data handling | Focus on loops, context, memory, and model choice |
The Power of Abstraction
As an abstraction layer, MCP allows agent developers to focus on what agents should do and how they interact with surrounding systems—without worrying about specific servers, tools, or resources.
Common Questions About MCP
A frequent concern is data security. Since MCP is open-source, organizations can run MCP servers within their own VPCs, ensuring privacy and control over proprietary data.
Another question relates to modularity. Separating agents from other functionality enables highly customized MCP servers. When integrating external systems, MCP’s standardized interfaces greatly reduce integration complexity and allow teams to focus on core functionality.
References
Anthropic 介紹
MCP Official Site
MCP Server Resources
What is MCP?
Conclusion
Beyond introducing MCP, this article discussed its advantages, design philosophy, and common challenges.
In Note: MCP(下)I’ll dive deeper into MCP agents, sampling, composability, registries, and future directions. I hope these notes are helpful.
