Glossary · M

Model Context Protocol (MCP)

Open standard that lets AI applications and agents discover and call external tools, data sources and prompts through a common interface.

By Obseria Editorial TeamUpdated

Definition

The Model Context Protocol (MCP) is an open, JSON-RPC-based standard that lets AI applications connect to external tools, data sources and prompt templates in a uniform way. MCP servers expose capabilities, MCP clients inside a host application such as an IDE or chat assistant discover and call them, so one integration works across many AI applications.

What is the Model Context Protocol (MCP)?

The Model Context Protocol (MCP) is an open protocol that standardizes how AI applications access context and capabilities outside the model. Before MCP, every combination of AI application and tool needed its own integration: a coding assistant had one plug-in for the issue tracker, a chat assistant another one for the same system. MCP replaces this with a single interface. A tool or data source is wrapped once as an MCP server, and any MCP-capable application can use it.

Anthropic introduced MCP as an open-source project in November 2024. Adoption spread quickly across AI vendors, IDEs and developer tools, and in December 2025 Anthropic donated MCP to the Agentic AI Foundation, a directed fund under the Linux Foundation, so the protocol is now governed vendor-neutrally. The specification takes inspiration from the Language Server Protocol and is published at modelcontextprotocol.io in dated revisions.

Architecture: hosts, clients and servers

MCP distinguishes three roles:

  • Host: the AI application the user works with, for example an IDE, a desktop assistant or an AI agent runtime.
  • Client: a connector inside the host that talks to exactly one server.
  • Server: a program that exposes capabilities, for example access to a database, a ticketing system or an observability platform.

Messages are encoded as JSON-RPC 2.0. The specification defines two standard transports: stdio, where the client launches the server as a local subprocess, and Streamable HTTP for remote servers. Remote servers are typically protected with an OAuth-based authorization flow defined in the specification.

Core primitives: tools, resources and prompts

An MCP server can offer three kinds of capabilities:

  • Tools are functions the model can decide to call, such as search_errors or run_query. Each tool has a name, a description and a JSON schema for its input.
  • Resources are context and data, for example files, database schemas or documents, identified by a URI.
  • Prompts are reusable, parameterized message templates that users can select.

The host lists the available tools, passes their descriptions to the model, and executes the calls the model requests. The result is fed back into the conversation, so the model can reason about it or call the next tool.

When a client connects, both sides agree on the protocol revision and the capabilities they support. This keeps clients and servers interoperable as the specification evolves: a server can add new tools, and the client discovers them without a code change. Official SDKs exist for several languages, including Python and TypeScript, so a simple server that wraps an internal API often needs only a few dozen lines of code.

Example: an observability MCP server in the IDE

An illustrative workflow: a developer asks a coding agent why checkout requests have become slow since this morning. The agent sees that an observability MCP server offers the tools find_slow_traces and list_deployments. It calls the first tool for the endpoint POST /checkout, receives the slowest traces with the dominant spans, then calls the second tool and finds a deployment shortly before the latency increase. With that evidence it opens the relevant code and proposes a fix, without the developer copying data between tools.

Security and governance

MCP gives models access to real systems, so the protocol itself stresses user consent and tool safety. Important points in practice:

  • Least privilege: give each server only the scopes it needs; prefer read-only access.
  • Treat tool output and tool descriptions as untrusted. Content returned by a server can carry prompt injection, and a malicious server can describe its tools misleadingly.
  • Human approval for tools with side effects, and an allowlist of trusted servers.
  • Audit logging of every tool call with user, server, arguments and result status.

Monitoring MCP traffic

Because agents chain many tool calls, MCP calls belong in the same trace as the LLM calls that triggered them. The OpenTelemetry GenAI semantic conventions include conventions for MCP, still marked as development, with attributes such as mcp.method.name and metrics such as mcp.client.operation.duration. That makes it possible to see which tools are slow, which fail and how often an agent calls them per task.

How Obseria helps

Obseria works on both sides of MCP. The Obseria MCP server gives coding agents read-only, scoped access to errors, traces, logs and deployments, with every tool call in the audit log. With AI observability, MCP and LLM calls of your own agents appear as OpenTelemetry traces with latency, errors and token usage.

Frequently asked questions

Anthropic introduced MCP as an open-source protocol in November 2024. In December 2025 it was donated to the Agentic AI Foundation under the Linux Foundation, which now provides vendor-neutral governance.

An MCP server usually wraps an existing API. The difference is the standardized interface: tools, resources and prompts are described in a way any MCP client can discover and present to a model, so no client-specific integration is needed.

MCP defines consent and authorization principles, but security depends on the implementation. Use scoped, preferably read-only credentials, trusted servers only, human approval for actions with side effects and audit logging of all tool calls.

Instrument clients and servers with OpenTelemetry and follow the MCP semantic conventions. Track latency, error rate and call volume per tool and correlate tool calls with the LLM and agent spans in the same trace.

Put these concepts into practice

Try Obseria free for 14 days, with OpenTelemetry and no proprietary agents.