Guide · Model Context Protocol

MCP vs API: who calls, who discovers, who decides.

An API is written for a developer’s code. MCP is written for an AI model that chooses its tools at run time — and it usually calls your API underneath.

The Model Context Protocol gives AI assistants and agents one standard way to find and use tools and data. This guide shows where it sits in your stack, how a call works step by step, what it adds for security, and how to decide which one a system needs.

Updated · 14 sources

Where MCP sits
01
AI assistant or agentdecides which tool to use, and when
host
02
MCP clientone connection per server, inside the host
JSON-RPC 2.0
03
MCP serverlists its tools, resources and prompts; runs the call
tools/listtools/call
04
Your APIthe endpoint the server calls on the model’s behalf
RESTGraphQL
05
Your systemthe data and actions behind it all
CRMERPdocuments

What is the difference between MCP and an API?

An API is a fixed set of endpoints a developer writes code against. MCP — the Model Context Protocol — is a standard an AI model uses to discover tools at run time, read their descriptions and decide which to call. In MCP vs API, they are layers rather than rivals: most MCP servers wrap an existing API, translating what a model asks for into the calls that API already accepts.

Side by side

MCP vs API by who calls, how tools are found, message format and connection.

The clearest way to see the difference is to ask who sits on each end of the call, and what each side knows before the call is made.

for developers

API

A contract a developer reads, then codes against. The calling code knows in advance which endpoint it needs.

  • Endpoints fixed at build time
  • Described in OpenAPI or similar docs
  • Each call written by a person
  • Any client: web, mobile, scripts, systems
for AI models

MCP

A protocol an AI host speaks to a server. The model learns at run time which tools exist and picks one for the task in front of it.

  • Tools listed by the server on request
  • Descriptions written for a model to read
  • Each call chosen by the model
  • Clients are AI assistants and agents
The developer, in codeWho decides the callThe model, at run time
Documentation, read by a personHow tools are foundtools/list, read by the model
HTTP methods and resourcesMessage formatJSON-RPC 2.0 messages
One request, one responseConnectionSelf-contained requests, each carrying its protocol version and capabilities
Endpoints and data shapesWhat it exposesTools, resources and prompts
The system of recordTypical relationshipA layer over that system’s API
Step by step

How an AI agent finds and calls a tool over MCP.

Every MCP exchange follows the same few messages. The model never needs to know an endpoint in advance — only what the server lists. Under the current revision each request stands alone, so any copy of a server can answer it.

  1. Discover the server

    Optionally, the client asks which protocol versions and capabilities the server supports. Every later request carries its own version anyway.

    server/discover
  2. List the tools

    The server answers with each tool’s name, description and input schema — and may list only what the caller’s token allows.

    tools/list
  3. Choose

    The model reads the descriptions against the user’s request and picks a tool and its arguments.

  4. Consent

    The host shows the call to the person before it runs: the specification says hosts must obtain explicit consent before invoking any tool.

    human in the loop
  5. Call

    The server runs the tool — typically by calling your API — and returns the result. If it needs more from the person, it says so and the client retries with the answer.

    tools/call
What a model sees after tools/list (abridged)
{
  "tools": [{
    "name": "find_invoices",
    "description": "Find supplier invoices by
      supplier, status or due date.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "supplier": { "type": "string" },
        "status":   { "type": "string" }
      }
    }
  }]
}

Three kinds of thing a server offers

  • ToolsFunctions the model may call — search, create, update.
  • ResourcesContext and data the model or the user can read.
  • PromptsTemplated messages and workflows a person can pick.

Two standard transports. stdio: the client launches the server as a local process and they exchange messages over its standard streams. Streamable HTTP: each message is a POST to one endpoint — the form a company deploys for many users.

Revision history

How the MCP specification changed from 2024 to 2026, revision by revision.

MCP is dated by revision, and the revisions matter: an article or SDK written for an early one describes sessions, a different sign-in flow and features that are now deprecated. Check which revision a server and a client speak.

  1. Nov 2024Launched by AnthropicAn open standard for connecting AI assistants to data and tools, with specification and SDKs released as open source.
  2. Mar 2025OAuth and Streamable HTTPRevision 2025-03-26 adds an authorization framework based on OAuth 2.1 and replaces the HTTP+SSE transport with Streamable HTTP.
  3. Jun 2025Servers become resource serversRevision 2025-06-18: servers publish Protected Resource Metadata (RFC 9728), clients must use resource indicators, and elicitation and structured tool output arrive.
  4. Nov 2025Client ID metadata, tasksRevision 2025-11-25 recommends Client ID Metadata Documents for registration and adds experimental tasks for long-running work.
  5. Dec 2025A neutral homeAnthropic donates MCP to the Agentic AI Foundation, a directed fund under the Linux Foundation.
  6. Jan 2026MCP AppsThe first official extension: a tool can return an interactive interface that the host renders in a sandboxed frame.
  7. Jul 2026Stateless MCPRevision 2026-07-28 removes the initialize handshake and protocol sessions, adds server/discover, and deprecates roots, sampling and dynamic client registration.
Decision guide

MCP vs API: when to use each one.

The question that settles it is who makes the call. If your own code always knows what to call, an API is the right tool. If a model has to work out what to call from a person’s request, it needs MCP.

Who decides which operation runs?

Your code, every timeCall the API directly. A mobile app, a nightly job or a webhook handler gains nothing from a model choosing the endpoint.
An AI model, from a requestPut an MCP server in front of the API, so any assistant or agent can discover the tools and call them under the person’s sign-in.
BothKeep the API as the system of record and add an MCP server over it. Code calls the API; assistants call the MCP tools that wrap it.
Model-driven
One assistant, one systemMCP is worth it as soon as a model picks the call, even for a single system.MCP server
Assistants across the businessMCP shines: each system is wrapped once, and every assistant can use every tool.MCP everywhere
Code-driven
A script and an endpointA direct API call is simpler, faster to build and easier to test.API
Integration platformAPIs and events between systems; add MCP where people want to ask an assistant to act.API + MCP
Few systemsMany systems
Security

MCP security compared with API security.

An API trusts the code that calls it. An MCP server is called by a model acting for a person, so the questions change: whose permission is the model using, did the person agree, and can a tool description be trusted? The specification answers some of these with MUSTs and leaves the rest to the host and server.

What to require of any MCP server
  • Per-person sign-inOver HTTP, OAuth 2.1 with PKCE: the server publishes where to sign in (RFC 9728), and the token names that one server as its audience (RFC 8707). Every call carries the person’s own permission instead of a shared service key.
  • Consent before a tool runsThe host shows the call and its inputs and lets the person deny it; the specification asks for a human in the loop.
  • Descriptions treated as untrustedThe specification says descriptions of tool behaviour, such as annotations, are untrusted unless they come from a trusted server.
  • Permissions checked on every callThe server checks the person’s rights on each call. A tool list may also vary by the token presented, so each caller sees what their grants allow.
  • No token passthroughA server must accept only tokens issued for it and must not pass tokens through to the API behind it; it calls that API with credentials of its own.
  • Every call loggedWhich person, which tool, which arguments, when. The specification asks clients to log tool usage for audit.
  • A way to disconnectAn administrator can list connected assistants and end their access.
On Botminds

How Botminds uses MCP and APIs together.

Botminds offers both over the same platform: a hosted MCP server for people working through an assistant, and the Runtime API for services and scheduled jobs. Piper, the platform’s agents and outside assistants share one catalogue of tools, behind the same checks.

Botminds platformone catalogue of 700+ tools, behind the same checks
Hosted MCP serverany assistant in the company drives the platform
Per-person sign-inOAuth with a proof key; no client secret to steal
Checked on every callthe call runs as you, against your role; the tool list is shaped to it
Outside MCP serversagents use your other systems, allow-listed
Runtime APIservices and schedules call it with keys
Disconnect any timeend an assistant’s access from the AI clients list
Same grants everywherean agent reaches only the tools it is given
On the audit trailchanges land there; connections and consents are logged

Read the full design in MCP for the enterprise, and how agents use tools in the agent harness.

Questions people ask

MCP vs API: common questions.

The technology behind itMCPThe Model Context Protocol, both ways
Is MCP a replacement for APIs?

No. In MCP vs API, MCP is a layer over APIs: most MCP servers call an existing API underneath. The API stays the contract for code; MCP makes the same capabilities usable by AI models that pick tools at run time.

Is MCP just a REST API for AI?

It is a different shape. REST exposes resources over HTTP methods and URLs; MCP sends JSON-RPC 2.0 messages to one endpoint, where the client discovers tools, resources and prompts at run time, and a server can reply that it needs more input from the person before it finishes a call.

Who created the Model Context Protocol?

Anthropic introduced MCP as an open standard in November 2024, with the specification and SDKs open source. In December 2025 Anthropic donated it to the Agentic AI Foundation, a directed fund under the Linux Foundation co-founded with Block and OpenAI.

Do I need MCP if I already have an OpenAPI description?

An OpenAPI description tells developers what an API offers. MCP gives an AI host a live list of tools with descriptions written for a model, a consent step before each call and a standard way to sign in. An OpenAPI description is a common starting point for MCP tools, but descriptions written for developers usually need rewriting so a model can choose between tools correctly.

How does authentication work for a remote MCP server?

Over HTTP, MCP uses OAuth 2.1. The server publishes Protected Resource Metadata (RFC 9728) naming its authorization server; the client registers — preferably with a Client ID Metadata Document — and sends the person through sign-in with PKCE; every call then carries a token issued for that server. Authorization is optional in the specification, and local servers over stdio take credentials from the environment.

What are MCP tools, resources and prompts?

Tools are functions the model may call. Resources are context and data to read. Prompts are templated messages a person can choose. A server offers any of the three; a host decides how to present them.

Can I use Botminds over MCP and over an API?

Yes. People connect their assistant to the Botminds MCP server and sign in as themselves, so every call runs within their role. Services, schedules and back-office jobs use the Runtime API with keys.

See it on
your own work.

Bring one process and its documents. We’ll show you the agents, the controls and the record, running on your data.