MCP (Model Context Protocol) is an open protocol, published by Anthropic in late 2024, standardizing how an AI application connects to external tools and data. It takes inspiration from the Language Server Protocol, which solved a strikingly similar problem for code editors: instead of every editor writing custom support for every programming language, one shared protocol let any editor support any language that speaks it.
Learning Objectives
- Explain the integration problem MCP was designed to solve.
- Explain what's actually different about calling a tool through MCP versus calling a REST API directly.
- Name what a real MCP reference server actually exposes.
The Problem: Custom Integrations Don't Scale
AI App 1
Custom Integration
GitHub, Slack, DB...
each one, one-off
Multiply this by every AI application that wants to connect to every external system, and the number of custom, one-off integrations grows out of control. This is sometimes called the N×M problem, N applications each needing their own connector to M different tools.
MCP's Fix: One Protocol, Many Combinations
Any MCP Host
MCP
one shared protocol
Any MCP Server
GitHub, Slack, DB...
A server built once, following the protocol, works with any host that also speaks it. The integration work happens once per tool, not once per application-tool pair.
MCP vs Calling a REST API Directly
| Direct REST API Call | Through MCP | |
|---|---|---|
| Integration work | Custom code per application, per API | Written once per server, reusable by any host |
| How the model decides to act | Application-specific logic decides when to call it | The model itself can decide a tool call is needed |
| Consistency across tools | Every API has its own shape, auth, and conventions | Every tool call follows the same structured request/response pattern |
| Discoverability | Requires reading that API's own documentation | A host can query a server for what tools it exposes |
MCP doesn't replace REST APIs, a server often calls a REST API internally to actually do its work. MCP standardizes the layer between the AI application and that integration code, not what happens inside the integration itself.
Real Reference Servers
| Server | What it exposes |
|---|---|
| Filesystem | Secure, configurable read/write access to local files and directories |
| GitHub | Repository management, file operations, issue and PR operations |
| Slack | Channel management and messaging capabilities |
These are maintained as official reference implementations. A host application that supports MCP can connect to any of them (or any of the many community-built servers) without writing custom integration code for each one.
Common Beginner Mistakes
- Assuming MCP replaces REST APIs entirely, when a server frequently calls a REST API under the hood, MCP standardizes the layer above that, not what's inside it.
- Treating MCP as specific to one AI provider, it's an open protocol, not tied to a single company's models.
- Assuming any AI application automatically works with any MCP server, both the host and the server need to actually implement the protocol.
- Underestimating the real security implications, a connected tool can take real actions, and the protocol's own spec places explicit emphasis on user consent for exactly this reason.
FAQ
Do I need to write my own MCP server to use MCP?
Not necessarily, official reference servers (Filesystem, GitHub, Slack) and many community-built ones already exist and can be connected to directly. Writing a custom server only becomes necessary for a genuinely new integration nothing else already covers.
Is MCP only for coding assistants?
No, it's general-purpose. Coding assistants were early, visible adopters, but the protocol itself is designed for any AI application that needs to connect to external tools or data, not code-specific by design.
What transport does MCP actually use to send messages?
JSON-RPC 2.0 is the underlying message format, over a stateful connection, with hosts and clients negotiating capabilities when a connection is established.
Interview Questions
What problem does MCP solve, described concretely?
The N×M integration problem, without a shared standard, N different AI applications each need their own custom connector to M different external tools. MCP lets a tool be built once, following the protocol, and used by any compliant application.
What's actually different between calling an API directly and calling it through an MCP tool?
A direct API call requires application-specific integration code and knowledge of that API's own conventions. Through MCP, the model itself can discover and decide to invoke a tool through one consistent, structured pattern, and the same server works across any MCP-compliant host without additional integration work.
Name a real, officially maintained MCP reference server and what it exposes.
The Filesystem server exposes secure, configurable read/write access to local files and directories. GitHub and Slack are two other official reference servers, exposing repository/issue operations and channel/messaging operations respectively.
Does MCP replace the need for REST APIs?
No, an MCP server frequently implements its functionality by calling a REST API internally. MCP standardizes the protocol layer between the AI application and that integration, not what the integration does internally.
Summary
MCP is an open protocol solving the N×M integration problem, letting a tool be built once and used by any compliant AI application, rather than requiring a custom connector per application-tool pair. It doesn't replace REST APIs, it standardizes the layer between an AI application and whatever integration work a server performs, using JSON-RPC 2.0 as its underlying message format.
What's Next?
The next lesson covers the Host, Client, and Server roles precisely, and what a real request actually looks like passing between them.