DevLearningTools

LEARN · AI CONCEPTS

What Is MCP?

The integration problem MCP was built to solve, how it compares to just calling a REST API directly, and the real reference servers (Filesystem, GitHub, Slack) that show what it looks like in practice.

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

NOTE

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...

NOTE

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 CallThrough MCP
Integration workCustom code per application, per APIWritten once per server, reusable by any host
How the model decides to actApplication-specific logic decides when to call itThe model itself can decide a tool call is needed
Consistency across toolsEvery API has its own shape, auth, and conventionsEvery tool call follows the same structured request/response pattern
DiscoverabilityRequires reading that API's own documentationA host can query a server for what tools it exposes
NOTE

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

ServerWhat it exposes
FilesystemSecure, configurable read/write access to local files and directories
GitHubRepository management, file operations, issue and PR operations
SlackChannel management and messaging capabilities
NOTE

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.