MCP Ecosystem
The Model Context Protocol ecosystem in 2026: governance, spec evolution, and enterprise adoption.
Governance
MCP was donated to the Agentic AI Foundation (AAIF), a Linux Foundation directed fund, in December 2025. Co-founded by Anthropic, Block, and OpenAI.
This means:
- MCP is vendor-neutral, not Anthropic-controlled
- Spec changes go through an open governance process
- Multiple organizations contribute to the standard
- Enterprise adoption is accelerating because of neutrality
Spec Evolution
Streamable HTTP Transport
The original remote transport was Server-Sent Events (SSE). The new standard is streamable HTTP:
| SSE (legacy) | Streamable HTTP (new) | |
|---|---|---|
| Connection | Long-lived | Request-response with optional streaming |
| Scalability | Stateful sessions, hard to load balance | Stateless, standard HTTP infrastructure |
| Firewall-friendly | Often blocked | Standard HTTPS |
| Resumability | Manual reconnection | Built into protocol |
SSE still works but streamable HTTP is the recommended transport for new remote servers.
Tasks Primitive
Async operations that may take a long time:
{
"method": "tasks/create",
"params": {
"name": "process-large-dataset",
"timeout": 3600,
"retry": { "maxAttempts": 3, "backoffMs": 1000 }
}
}
Tasks support:
- Progress reporting
- Cancellation
- Retry semantics with exponential backoff
- Expiry policies
- Status polling
MCP Apps
Tools can now return interactive UI components:
{
"type": "tool_result",
"content": [
{
"type": "app",
"component": "data-table",
"props": {
"columns": ["Name", "Status", "Updated"],
"rows": [...]
}
}
]
}
The client renders the component natively. This bridges the gap between text-only tool outputs and rich interactive experiences.
Elicitation
Servers can request structured input from users mid-task:
{
"method": "elicitation/request",
"params": {
"message": "Which environment should I deploy to?",
"options": ["staging", "production"],
"type": "select"
}
}
Instead of the model guessing or asking through natural language, the server directly prompts the user through a structured dialog. Supported types: text, select, multi-select, confirm.
Enterprise Readiness
Audit Trails
Every tool call, resource access, and prompt use is logged with:
- Timestamp
- Caller identity
- Input parameters
- Output summary
- Duration
SSO Integration
MCP servers can delegate authentication to enterprise SSO providers:
{
"auth": {
"type": "oauth2",
"provider": "okta",
"scopes": ["read:data", "write:data"]
}
}
Gateway Behavior
MCP gateways sit between clients and servers, providing:
- Rate limiting
- Request/response logging
- Tool-level access control
- Usage metering
Config Portability
Standardized configuration format for MCP server connections:
{
"mcpServers": {
"github": {
"transport": "streamable-http",
"url": "https://mcp.github.com/v1",
"auth": { "type": "bearer", "token": "${GITHUB_TOKEN}" }
}
}
}
Same config works across Claude Code, Cursor, and other MCP-compatible clients.
2026 Roadmap
| Priority | Status | Description |
|---|---|---|
| Transport scalability | Shipped | Streamable HTTP replacing SSE |
| Tasks primitive | Shipped | Async operations with retry/expiry |
| MCP Apps | In progress | Interactive UI components |
| Elicitation | In progress | Server-initiated structured input |
| Governance maturation | Ongoing | AAIF working groups, RFC process |
| Enterprise readiness | Ongoing | Audit, SSO, gateways |
Claude-Specific MCP Integration
Claude Code has deep MCP integration as a client:
- Auto-discovers MCP servers from
.claude/settings.json - Supports stdio (local) and streamable HTTP (remote) transports
- Wildcard permissions for MCP tools
- Skills compose with MCP (skills = workflows, MCP = tools)
See also: FastMCP for building MCP servers in Python.
Next
- API deep dive - Claude API features that interact with MCP
- Skill patterns - how skills orchestrate MCP tools