What is MCP?

7 min read

·
┌──────────────────────────────────────────────────────────┐
│  ═══════════════════════════════════════════════════     │
│  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░     │
│  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░     │
│  ────────────────────────────────────────────────────    │
│  ██████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░     │
│  █████████████████████████████████░░░░░░░░░░░░░░░░░░     │
│  ██████████████████████████████████████░░░░░░░░░░░░░     │
│  ████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░     │
│  ────────────────────────────────────────────────────    │
│  ███████████████████████████████████████░░░░░░░░░░░░     │
└──────────────────────────────────────────────────────────┘

MCP, or Model Context Protocol, is an open standard for connecting AI models to external tools, data sources, and services. Think of it as a universal adapter that lets any AI application talk to any tool through a common interface, rather than requiring custom integrations for every combination of model and tool.

The Problem MCP Solves

────────────────────────────────────────

Before MCP, connecting an AI model to external tools required custom code for each integration. If you wanted your AI application to access a database, search the web, and read files, you needed to build three separate integrations. If you then switched to a different AI provider, you might need to rebuild those integrations to match the new provider's function calling format.

This creates an M-times-N problem. With M AI applications and N tools, you need M times N custom integrations. Every new tool requires integration work in every application. Every new application needs to integrate with every tool from scratch.

MCP solves this by creating a standard protocol that sits between AI applications and tools. Tool developers build one MCP server. Application developers integrate with MCP once. Everything connects.

How MCP Works

────────────────────────────────────────

MCP uses a client-server architecture with three main components:

[MCP Servers] expose tools, data, and capabilities through a standardized interface. An MCP server might provide access to a file system, a database, a web search API, or a third-party service like GitHub, Slack, or a CRM. Each server declares what tools it offers, what parameters those tools accept, and what they return.

[MCP Clients] are built into AI applications. The client connects to one or more MCP servers, discovers what tools are available, and makes those tools accessible to the AI model. When the model decides to use a tool, the client handles the communication with the appropriate server.

[Transport] is how clients and servers communicate. MCP supports multiple transport mechanisms. The most common are [stdio] (standard input/output, where the server runs as a local subprocess) and [SSE] (Server-Sent Events over HTTP, for remote servers). The protocol is transport-agnostic, so new transport options can be added without changing the protocol itself.

A typical flow looks like this:

  1. An MCP client connects to one or more MCP servers
  2. The client requests the list of available tools from each server
  3. These tools are presented to the AI model as callable functions
  4. When the model decides to use a tool, the client sends the request to the appropriate server
  5. The server executes the tool and returns the result
  6. The result is fed back to the model

MCP vs Function Calling vs Plugins

────────────────────────────────────────

These three concepts are related but different:

[Function calling] is a model-level capability. The model outputs a structured request to call a function, and the host application executes it. Function calling is the mechanism. It tells you the model wants to use a tool, but it does not standardize how that tool is built or accessed.

[Plugins] (as popularized by ChatGPT plugins) were an earlier attempt at connecting models to tools. They used OpenAPI specifications to describe APIs. Plugins were limited to a single platform and required approval from the platform provider.

[MCP] is a protocol that standardizes how tools are discovered, described, and invoked across any application and any model. It works with any model that supports function calling and is not tied to a single provider. MCP is more like USB: a universal standard that any device and any computer can use.

Who Is Adopting MCP

────────────────────────────────────────

MCP was created by Anthropic and open-sourced in late 2024. Since then, adoption has expanded significantly:

  • [Anthropic] built MCP support into Claude Desktop and the Claude API ecosystem
  • [OpenAI] announced MCP support, integrating it into their tools and platforms
  • [Development tools] like Cursor, Windsurf, Zed, and other AI-powered code editors adopted MCP early for connecting to development tools
  • [The broader community] has built hundreds of MCP servers for services like GitHub, Slack, PostgreSQL, Google Drive, Jira, file systems, web browsers, and many more

The growing adoption creates a network effect. The more MCP servers that exist, the more valuable it becomes for applications to support MCP. The more applications that support MCP, the more incentive tool developers have to build MCP servers.

Building MCP Servers

────────────────────────────────────────

Building an MCP server is straightforward. SDKs are available in Python, TypeScript, Java, and other languages. A basic MCP server involves:

  1. [Define your tools]: Specify the name, description, and parameters for each tool your server provides
  2. [Implement handlers]: Write the code that executes when each tool is called
  3. [Set up the server]: Use the MCP SDK to create a server instance and register your tools
  4. [Choose a transport]: Decide whether your server runs locally (stdio) or remotely (SSE/HTTP)

A simple MCP server that provides a weather lookup tool might be 50 lines of code. More complex servers that integrate with enterprise systems will be larger, but the protocol itself imposes minimal overhead.

MCP servers can also expose [resources] (data the model can read, like files or database records) and [prompts] (pre-built prompt templates that guide the model for specific tasks), in addition to tools.

The MCP Ecosystem

────────────────────────────────────────

The ecosystem of available MCP servers is growing rapidly. Categories include:

  • [Developer tools]: GitHub, GitLab, file systems, terminal access, code search
  • [Data and databases]: PostgreSQL, SQLite, MongoDB, BigQuery
  • [Communication]: Slack, email, Discord
  • [Productivity]: Google Drive, Notion, Jira, Linear
  • [Web]: Browser automation, web search, web scraping
  • [Specialized]: Image processing, PDF handling, calendar management

Community registries and directories have emerged to help users discover MCP servers. Many are open source and can be customized for specific needs.

Practical Benefits

────────────────────────────────────────

For developers building AI applications, MCP provides several concrete benefits:

  • [Reduced integration work]: Integrate with MCP once, get access to a growing ecosystem of tools
  • [Portability]: Switch between AI providers without rebuilding tool integrations
  • [Composability]: Combine multiple MCP servers to give your application a rich set of capabilities
  • [Community leverage]: Use MCP servers built by others rather than building everything yourself
  • [Standardization]: One protocol to learn, one way to test, one pattern for error handling

The Future of Standardized AI Tooling

────────────────────────────────────────

MCP represents a broader trend toward standardization in the AI ecosystem. As AI moves from experiments to production systems, the need for reliable, interoperable infrastructure grows. Just as HTTP standardized web communication and SQL standardized database queries, MCP aims to standardize how AI models interact with the world.

The protocol is still evolving. New features like better authentication, streaming results, and richer type systems are being developed. As more providers adopt MCP and more servers are built, it has the potential to become the default way AI applications connect to tools and data. For developers building AI applications today, understanding and adopting MCP is a practical way to future-proof your tool integration strategy.

Related Articles

Advanced AI