Article · Model Context Protocol
What is the Model Context Protocol?
The Model Context Protocol (MCP) is an open standard for connecting AI applications to tools and data. An application connects to MCP servers, each of which describes the tools, resources and prompts it offers, in one shared format. MCP standardizes that connection. Who may use it, and what a model may do through it, is left to you.
In short
The Model Context Protocol is an open protocol that lets an AI application call tools and read data on any server that speaks it. Write a server for your ticket system once, and every application that supports MCP can use it.
It is not a model, an agent framework or an API for one product. It is closer to a plug standard. A model’s own tool calling says how the model asks for a tool inside one application. MCP says how that application finds the tool on another system and calls it there.
Anthropic introduced MCP in 2024. In December 2025 it donated the protocol to the Agentic AI Foundation, a fund under the Linux Foundation. The specification is versioned by date, and the current version is 2026-07-28.
Hosts, clients and servers
MCP has three participants. The architecture overview names them:
- The host: the AI application a person uses, such as a chat assistant or a code editor.
- A client: a connection the host opens to one server. A host with three servers runs three clients.
- A server: a program that offers tools and data. It can run on the same machine, over standard input and output, or remotely over HTTP.
Messages are JSON-RPC 2.0. A client asks a server what it offers with a list request, and calls a tool with tools/call. Since the 2026-07-28 version every request carries its own protocol version and capabilities, so a server can answer each one on its own.
How it works
One host, three servers
A host opens a client for each server, learns what each offers, and calls one tool. Pick a step to stop the drawing and read it.
- 01
A host and its model
An AI application, the host, has a model and a task: has pump P-7 failed this way before?
- 02
One client per server
The host opens a client for each MCP server it is set up to use: tickets, files and part records.
- 03
Discover the tools
Each client asks its server what it offers. The answers are tools, with names, descriptions and argument schemas.
- 04
Call one
The model picks search. Its client sends tools/call to the tickets server, with the arguments.
- 05
Back into context
The server answers with three tickets. The result goes into the model’s context for its next step.
Tools, resources and prompts
A server offers three kinds of things. The specification sorts them by who decides when they are used:
- Tools are functions the model decides to call: search tickets, read a part record, update a work order. Each has a name, a description and a schema for its arguments.
- Resources are data the application attaches as context: a file, a record, the schema of a database.
- Prompts are templates a person chooses, often shown as slash commands.
Tools get most of the attention, because they are how a model acts. They are also where most of the risk sits.
What MCP standardizes
MCP fixes the parts every integration used to reinvent: how a client learns what a server offers, the shape of a tool’s description and arguments, the message format and the two transports. For remote servers it also defines an authorization flow based on OAuth 2.1.
That is the value. A team that wrote one connector per assistant writes one server, and each new assistant that supports MCP can use it.
What it leaves to you
The protocol carries tools and data. It does not decide what flows through it. The architecture overview says MCP “does not dictate how AI applications use LLMs or manage the provided context.” Four decisions stay with whoever builds the host and the server:
- Who may connect. The authorization specification is plain: “Authorization is OPTIONAL for MCP implementations.” When it is used, it tells the server who connected, not what that person may see.
- Which tools a user is offered. A server answers a list request with the tools available to that client. Which ones those are is the server’s decision.
- Which calls run. The specification asks hosts to get a person’s consent before invoking a tool. How a host asks, and whether it asks every time, is up to the host.
- Which records come back. A tool that reads tickets returns whatever its code returns. Whether it checks the asking person’s access, record by record, is up to the tool.
The specification says so itself: “MCP itself cannot enforce these security principles at the protocol level”.
Who decides
Four checks MCP leaves to you
One call passes four decisions on its way to the model. MCP carries the messages between them; your host, your server and your tools make them.
- 01
Who may connect
The client presents a token. For remote servers the specification defines an OAuth flow, and it is optional.
- 02
Which tools are listed
The server decides which tools this user is offered.
- 03
Which calls run
The model asks to call a tool. The host decides whether a person approves it first.
- 04
Which records come back
The tool reads as the user, or as one account for everyone. That choice is in the tool’s code.
- 05
Into the model’s context
What passed all four checks reaches the model. MCP carried each message; the four decisions were yours.
How it goes wrong
- A service account behind the server. The server reaches the ticket system with one broad account, so everyone who can connect reads what that account reads.
- Too many tools. Every connected server adds its tool descriptions to the model’s context on every call. See what is context engineering?
- Tool results read as orders. A ticket a tool returns can carry text that reads like an instruction. That is prompt injection, and MCP passes the text through like any other.
- Descriptions taken on trust. The specification treats tool descriptions as untrusted unless they come from a trusted server, and a tool as arbitrary code. A local server runs on your machine, with your access.
- Writes with no approval. A tool that updates a work order runs as soon as the model calls it, unless the host stops to ask.
How to evaluate an MCP server
Before you connect one, six questions:
- Who runs it, and where? Local over standard input and output, or remote over HTTP, and on whose infrastructure?
- How does a client authenticate, and as whom does the server act: the person, or one account for everyone?
- Does each tool check the person’s access per record, or return whatever its query finds?
- Which tools change something, and who approves those calls before they run?
- How large are its tool results, and do they cite the records they came from?
- Is every call logged with its arguments and its result?
How Curiosity uses it
Curiosity Studio can act as an MCP server. Since July 2025 a workspace can host its AI tools over MCP, so external MCP clients can discover and call them, as the changelog records. A coding assistant or another AI application can then search and read the records Studio connects, through Studio’s AI tools.
Access control comes from Studio, not from the protocol. The documentation of the built in read tool says access control is its only boundary, over MCP as in a chat: it reads what the calling user can see. Records come from more than 70 systems, with the access rights of their source, checked per record at query time. In tools you write, the reach is yours to set: use the query scoped to the current user. The AI agents page has the developer view.
The documentation describes Studio as a server, not as a client of other MCP servers. To bring another system’s records into Studio, you connect it with a connector, or write one with the connector SDK.
References
Sources and further reading
Donating the Model Context Protocol and establishing the Agentic AI Foundation
Anthropic · December 2025
MCP’s move to a fund under the Linux Foundation, and its adoption a year after launch.
ReadSpecification, version 2026-07-28
Model Context Protocol
Hosts, clients and servers, the features each offers, and the security principles implementers must build.
ReadArchitecture overview
Model Context Protocol
The participants, the data and transport layers, and the three server primitives.
ReadServer features
Model Context Protocol specification
Prompts, resources and tools, and who controls each.
ReadAuthorization
Model Context Protocol specification
The OAuth 2.1 flow for HTTP transports, and that authorization is optional.
ReadChangelog
Curiosity documentation
Weekly release notes for Curiosity Studio, including the July 2025 entry that exposes a workspace’s tools over MCP.
ReadThe consult tool
Curiosity documentation
How the built in read tool reads what the calling user can see, in a chat, an agent run or over MCP.
ReadFAQ
Questions people ask
What is an MCP server?
A program that offers tools, resources and prompts to AI applications over the Model Context Protocol. It can run on the same machine as the application or remotely over HTTP. An application connects to it, lists what it offers and calls its tools.
What is the difference between MCP and function calling?
Function calling is how a model asks its own application to run a tool. MCP is how that application finds tools on other systems and calls them there, in one format any MCP server understands. The two work together.
Does MCP handle authorization?
Partly. For remote servers the specification defines an OAuth 2.1 flow, and it is optional. It says who connected. Which tools that person is offered, which calls run and which records come back are decided by the host, the server and each tool.
Does Curiosity Studio support MCP?
Yes, as a server. A Studio workspace can host its AI tools over MCP, so external MCP clients can discover and call them. Its built in read tool reads only what the calling user can see. To bring another system’s data into Studio, you use a connector.
Articles
Read next
What is context engineering?
Context engineering
Choosing what goes into a model’s context window at each step and what stays out, and why a bigger window does not help.
ReadWhat is an AI agent?
AI agents
The loop an agent runs, how it differs from a workflow, and what an enterprise agent needs before it touches real records.
ReadWhat is prompt injection?
Prompt injection
Direct and indirect injection, why no filter stops it reliably, the lethal trifecta, and the designs that limit what a steered assistant can do.
ReadYour data. Your infrastructure.