MCP: what Model Context Protocol is and how it works | POLPROG Skip to content

MCP, Model Context Protocol: what it is and how it works in practice

Model Context Protocol, or MCP, is an open standard for connecting AI applications to tools and data sources. Instead of building a separate integration for every model and service, an MCP server describes its capabilities in a standardized form that compatible clients can discover and invoke. By 2026, MCP has moved well beyond its original release: the current specification uses a stateless HTTP core, formal extensions, stronger authorization rules, and mechanisms for long-running work.

AI
Published Written by Reading time 18 min read

Model Context Protocol, or MCP, is an open standard for connecting AI applications to tools and data sources. Instead of building a separate integration for every model and service, an MCP server describes its capabilities in a standardized form that compatible clients can discover and invoke. By 2026, MCP has moved well beyond its original release: the current specification uses a stateless HTTP core, formal extensions, stronger authorization rules, and mechanisms for long-running work.

On this page
  1. 1Where MCP came from and the problem it solves
  2. 2What MCP standardizes and what it does not
  3. 3Architecture in practice: host, client, and server
  4. 4Tools, resources, and prompts: the core server primitives
  5. 5STDIO, Streamable HTTP, and the old SSE transport
  6. 6What a tool call looks like in current MCP
  7. 7Practical example: an agent working with a ticketing system
  8. 8Authorization: OAuth 2.1, Bearer tokens, and Client ID Metadata Documents
  9. 9Security: MCP should not mean full trust
  10. 10MCP Apps: when a tool result needs an interface
  11. 11Tasks: long-running operations without holding a connection
  12. 12Adoption: Anthropic, OpenAI, GitHub, and developer tooling
  13. 13MCP vs REST APIs and function calling
  14. 14Production MCP server checklist
  15. 15What changed in 2026 and where MCP is heading

Where MCP came from and the problem it solves

Anthropic open-sourced Model Context Protocol on November 25, 2024. The goal was to replace fragmented one-off integrations with an open way for AI assistants to connect to content repositories, business tools, and development environments. [1]

MCP does not replace databases or REST APIs. An MCP server normally sits on top of an existing system and exposes capabilities in a form a compatible AI host can understand. [1][4]

What MCP standardizes and what it does not

MCP standardizes discovery and invocation of tools, exposure of resources, and reusable prompt templates. A host therefore does not need custom knowledge of every private API. [4][5][6][7]

The protocol does not define your business logic, application data model, or company permission policy. Those remain implementation responsibilities. [5][8]

Architecture in practice: host, client, and server

ElementRole
HostAI application coordinating the model, user, and MCP connections.
MCP clientProtocol communication layer for a specific server.
MCP serverExposes capabilities and maps them to external data or systems.
ToolsActions invoked by the model.
ResourcesData and context identified by URI.
PromptsReusable prompt templates.

The classic MCP architecture separates host, client, and server. The host is the AI application, the client implements protocol communication, and the server exposes data and operations. The current release keeps this practical separation while HTTP protocol state no longer has to persist between requests. [15][2]

A single host can connect to multiple MCP servers, for example GitHub, a ticketing platform, and an internal knowledge base. The host decides which capabilities are made available to the model and user. [12][15]

Tools, resources, and prompts: the core server primitives

`Tools` are actions the model can invoke, such as searching an order, creating an issue, or running a calculation. The specification defines a tool name, description, and input schema. [5]

`Resources` expose data identified by URIs, such as files, database schemas, or documentation. `Prompts` expose reusable prompt templates. [6][7]

STDIO, Streamable HTTP, and the old SSE transport

TransportTypical use
STDIOLocal process, CLI, IDE, developer tooling.
Streamable HTTPRemote server, SaaS service, production infrastructure.
HTTP+SSELegacy HTTP transport; deprecated in 2026-07-28.

STDIO is a natural choice for local servers launched as processes by a client application. Streamable HTTP is intended for remote network deployments. [4][2]

In specification `2026-07-28`, the remote core is stateless. Legacy HTTP+SSE is officially deprecated with at least a twelve-month transition window. [2]

What a tool call looks like in current MCP

POST /mcp HTTP/1.1
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: search
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search",
    "arguments": {"q": "invoice 2026"}
  }
}

Since `2026-07-28`, there is no mandatory `initialize` exchange or `Mcp-Session-Id`. Each request can carry protocol version, client information, and capabilities, while optional `server/discover` lets a client inspect server capabilities first. [2]

For Streamable HTTP, `Mcp-Method` and `Mcp-Name` headers allow gateways, WAFs, and rate limiters to route or meter traffic without parsing the full JSON body. [2]

Practical example: an agent working with a ticketing system

Suppose a company has an internal ticketing platform. Its MCP server can expose `search_tickets`, `get_ticket`, and `update_ticket` as tools, process documentation as resources, and a reusable incident-analysis prompt. The AI host discovers the catalog, the model chooses a tool, and the server maps the call to the private API. [5][6][7]

The architectural benefit is reuse: the same MCP server can later serve multiple compatible hosts instead of reimplementing the integration for each one. [4][12]

Authorization: OAuth 2.1, Bearer tokens, and Client ID Metadata Documents

For HTTP transports, MCP authorization is based on OAuth 2.1 concepts and discovery standards. A protected MCP server acts as a resource server, the MCP client acts as an OAuth client, and access tokens are sent in the `Authorization: Bearer` header. Tokens must not be placed in query strings. [8]

The specification requires audience validation and PKCE where technically capable. In 2026 Dynamic Client Registration is formally deprecated in favor of Client ID Metadata Documents, while remaining available for compatibility. [2][8]

Security: MCP should not mean full trust

The tools specification requires servers to validate tool inputs, enforce access control, rate limit invocations, and sanitize outputs. Clients should support confirmation for sensitive operations, show tool arguments, use timeouts, and log calls for audit. [5]

The safest production model is least privilege. A documentation-reading server should not receive credentials that can delete production data, and production-changing operations should have additional controls. [5][8][13]

MCP Apps: when a tool result needs an interface

MCP Apps is an official extension that lets tools return interactive interfaces such as forms, dashboards, and visualizations. A tool references a `ui://` resource, which a compatible host can render in a sandboxed iframe. [9]

UI communication remains structured and auditable, and hosts can require consent for tool calls initiated from the interface. [9]

Tasks: long-running operations without holding a connection

MCP Tasks handles operations that take seconds, minutes, or hours. Instead of blocking a connection, a server can return a durable task handle that a client later polls for status and result. [10]

The extension fits CI pipelines, batch jobs, deployments, external queues, and human approval workflows. Current task support requires explicit capability support on both sides. [10][2]

Adoption: Anthropic, OpenAI, GitHub, and developer tooling

OpenAI added remote MCP server support to the Responses API in May 2025 and joined the MCP steering committee. [11]

GitHub Copilot supports MCP across IDEs, Copilot CLI, the Copilot app, and cloud agent workflows. GitHub also provides registry and enterprise management mechanisms for MCP servers. [12][13][14]

MCP vs REST APIs and function calling

A REST API describes a system interface for general clients. Function calling describes how a particular model or API asks for functions. MCP adds a shared discovery, schema, and communication layer between an AI host and a tool server. [4][5]

If you have one model and three private backend functions, MCP may be unnecessary overhead. If the same capabilities must work across multiple hosts or be published as an independent integration, MCP becomes much more useful. [4][11][12]

Production MCP server checklist

A production rollout should start with a small, explicit tool surface. Every tool needs a clear name, precise description, validated input schema, and permissions limited to what it actually requires. [5][8]

For a remote server, build for current Streamable HTTP, implement authorization, metrics, rate limiting, and tracing, and make backward compatibility an explicit decision rather than an accident. [2][8]

  • Build for specification `2026-07-28`.
  • Keep the tool surface and permissions minimal.
  • Validate every argument and result.
  • Require confirmation for sensitive operations.
  • For HTTP, implement correct OAuth and audience validation.
  • Use rate limits, timeouts, audit logs, and tracing.
  • Never give a server secrets it does not need.
  • Test host compatibility and failure behavior.

What changed in 2026 and where MCP is heading

The major `2026-07-28` changes are the stateless core, removal of the handshake and protocol sessions, cacheable list responses, header-based routing, a formal extension system, and authorization hardening. Roots, Sampling, and Logging are deprecated for new implementations. [2]

The August 2026 roadmap prioritizes agent messaging, webhooks and events, HTTP transport unification, agent identity, enterprise security, and improved SDK developer experience. These are roadmap directions, not all current-spec features. [3]

MCP is most valuable when the same data or operations should be reusable across multiple AI hosts without rebuilding every integration. In 2026 it is no longer just a thin tool adapter. Stateless Streamable HTTP, authorization, MCP Apps, Tasks, registries, and enterprise controls push it toward production infrastructure. Every MCP server should still be treated as an execution boundary: use least privilege, validate inputs, log calls, and require explicit user consent for sensitive operations.

AI MCP Model Context Protocol Agents API Developer Tools OAuth AI Infrastructure

Frequently asked questions

What does MCP stand for?

Model Context Protocol, an open standard for connecting AI applications to tools and data sources. [1][4]

Who created MCP?

Anthropic open-sourced MCP on November 25, 2024, and it is now developed as an open ecosystem standard. [1][2]

What is the current MCP specification?

As of September 4, 2026, the current final release is 2026-07-28. [2][3]

Does MCP use JSON-RPC?

Yes. MCP is based on JSON-RPC, and current SDKs implement the protocol according to the specification. [4][15]

What is the difference between a tool and a resource?

A tool performs an action; a resource exposes data or context identified by a URI. [5][6]

Does remote MCP still use SSE?

The current remote transport is Streamable HTTP. Legacy HTTP+SSE is deprecated. [2]

Does MCP include authorization?

Yes. For HTTP, the specification defines optional authorization flows based on OAuth 2.1 concepts. Protected servers should follow that model. [8]

Does OpenAI support MCP?

Yes. The Responses API has supported remote MCP servers since May 2025. [11]

Does GitHub Copilot support MCP?

Yes. GitHub documents MCP support across IDEs, CLI, the Copilot app, and cloud agent. [12]

When should I not use MCP?

For a small private integration used by a single backend or client, direct function calling or a normal API may be simpler. MCP is most valuable when interoperability and reuse matter. [4][11][12]

Sources and references

  1. Anthropic, Introducing the Model Context Protocol, November 25, 20241234
  2. Model Context Protocol, The 2026-07-28 Specification123456789101112
  3. Model Context Protocol, The New MCP Roadmap, August 22, 202612
  4. Model Context Protocol TypeScript SDK v2123456789
  5. Model Context Protocol, Tools specification123456789
  6. Model Context Protocol, Resources specification1234
  7. Model Context Protocol, Prompts specification123
  8. Model Context Protocol, Authorization specification1234567
  9. Model Context Protocol, MCP Apps12
  10. Model Context Protocol, MCP Tasks12
  11. OpenAI, New tools and features in the Responses API, May 21, 20251234
  12. GitHub Docs, About Model Context Protocol123456
  13. GitHub Docs, MCP server usage in your company12
  14. Official MCP Registry
  15. Model Context Protocol, Architecture, 2025-06-18123

Was this helpful?

Get new articles by email

One short email per new Learning article. No spam, unsubscribe in one click.

We only use your email to send new articles. No third-party sharing.

Back to Learning