AgentProtocol.ai
//the standards

Model Context Protocol (MCP)

The Model Context Protocol is an open protocol that standardises how AI applications connect agents and language models to external tools, data and context. This guide explains how it works and when to reach for it.

Layer: agent ↔ toolsTransport: JSON-RPC 2.0

What is the Model Context Protocol?

The Model Context Protocol (MCP) is an open specification, introduced by Anthropic, for connecting AI agents and LLM applications to the outside world — tools they can call, data they can read, and context they can use. It answers a narrow but common question: how should an agent talk to a tool?

Rather than writing a bespoke adapter for every integration, a developer runs (or connects to) an MCP server that exposes capabilities in a standard shape. Any MCP client — an IDE, a chat app, an agent runtime — can then use those capabilities without custom code.

One interface, many servers
The value of MCP is the same as USB or a power socket: a single, predictable interface on one side means anything on the other side just works. Build a tool as an MCP server once and every MCP-aware client can use it.

The client–server model

MCP uses a client–server architecture communicating over JSON-RPC 2.0. The host application spins up MCP clients, each of which connects to an MCP server.

  • Host — the AI application (e.g. an IDE assistant or chat client) the user interacts with.
  • Client — a connector inside the host that maintains a session with one server.
  • Server — a program exposing tools, resources and prompts for a specific system (a database, a file store, an API).

The three primitives: tools, resources, prompts

An MCP server offers up to three kinds of capability. Keeping them distinct is what makes the protocol predictable.

  • Tools — actions the model can invoke (e.g. query_database, create_ticket). These map naturally onto model function calling.
  • Resources — read-only data the client can load into context (files, records, documents).
  • Prompts — reusable, parameterised prompt templates a server can offer to guide common tasks.
list-tools.json
json
// Client asks a server what it can do (JSON-RPC request)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

// Server responds with its tool catalogue
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "tools": [
      {
        "name": "search_docs",
        "description": "Full-text search across the knowledge base",
        "inputSchema": { "type": "object", "properties": { "query": { "type": "string" } } }
      }
    ]
  }
}

When to use MCP

Reach for MCP when the core need is connecting an agent to tools, data or context — especially if you want that connection to be reusable across clients or shareable with others.

  • Giving an agent access to internal systems (databases, ticketing, file stores) through a consistent interface.
  • Building a tool once and letting many different AI apps use it.
  • Standardising tool access across a team so integrations aren't rewritten per project.
What MCP is not
MCP is about an agent using tools and context — not about two independent agents delegating tasks to each other. For agent-to-agent coordination, look at A2A. For an API-style interface to an agent, see the Agent Protocol.

MCP compared to A2A and Agent Protocol

MCP sits at the tool/context layer. A2A sits at the agent-to-agent layer. The Agent Protocol REST spec sits at the client-to-agent layer. They compose. See the full comparison for details.

//questions

Frequently asked questions

Who created MCP?

The Model Context Protocol was introduced by Anthropic as an open specification. It is documented publicly and has an open ecosystem of servers and clients, but AgentProtocol.ai is independent and not affiliated with Anthropic.

What transport does MCP use?

MCP messages follow JSON-RPC 2.0. The connection between client and server can run over different transports (such as standard input/output for local servers or HTTP-based transports for remote ones), depending on the deployment.

Is MCP the same as function calling?

No, but they're related. Function calling is a model capability for emitting structured calls. MCP is a protocol for describing and exposing those callable tools (plus resources and prompts) in a standard, reusable way across applications.

Do I need MCP if I only have one tool?

Not necessarily. For a single, internal tool a direct integration may be simpler. MCP's benefits grow with the number of tools and the number of applications that need to share them.