published · S-005
Model Context Protocol
Connect hosts and clients to server-provided tools, resources, prompts, and related primitives.
Markdown · JSON · Canonical source
- Revision
- 2026-07-28
- Maturity
- published
- Authority
- MCP project / AAIF ecosystem
- Structure
- JSON-RPC, normative prose, and a TypeScript schema
- Roles
- host, client, server
MCP is not one boolean capability. Tools, resources, prompts, sampling, elicitation, roots, tasks, transports, and authorization are independent questions with direction-specific roles.
Catalog assertions should pin this revision (or another named revision), identify the exact harness surface, and retain transport, authorization, plan, policy, and runtime conditions as qualifiers. A broad product statement that it “supports MCP” is discovery evidence, not proof of every primitive.
Catalog mapping
Atomic capability rows
Absence here means the feature tree has not yet been published, not that the specification lacks the capability.
- MCP cancellationCancel an in-flight MCP request and handle cancellation correctly.
- MCP client roleConsume capabilities exposed by MCP servers.
- MCP elicitationHandle structured user-input requests initiated by an MCP server.
- MCP legacy HTTP and SSEConnect through the superseded HTTP plus SSE transport when migration compatibility is required.
- MCP list-changed notificationsRefresh capability lists when a server announces dynamic changes.
- MCP loggingReceive structured log messages emitted by an MCP server.
- MCP OAuth authorizationComplete the MCP authorization flow for protected remote servers.
- MCP progress notificationsReceive progress updates for long-running requests.
- MCP prompt-list notificationsRefresh prompt templates after a server announces changes.
- MCP promptsInvoke reusable MCP prompt templates.
- MCP Registry metadataDiscover MCP servers and metadata through the official registry model.
- MCP resource subscriptionsSubscribe to resource changes and receive update notifications.
- MCP resourcesRead MCP resources as live context.
- MCP revision compatibilityImplement or negotiate the exact dated MCP revision.
- MCP rootsProvide filesystem or workspace roots to an MCP server.
- MCP samplingHandle server requests for model sampling through the client.
- MCP server instructionsConsume server-provided instructions during initialization.
- MCP server roleExpose capabilities from the harness as an MCP server.
- MCP stdio transportConnect to a local MCP server over standard input and output.
- MCP Streamable HTTPConnect to an MCP server over the current Streamable HTTP transport.
- MCP task listingList and page through tasks exposed by the task utility.
- MCP tasksCreate, inspect, and manage long-running MCP tasks.
- MCP toolsInvoke operations exposed by a Model Context Protocol server.
- Model Context ProtocolTrack tools, prompts, resources, and interactive apps as independent parts of MCP.
Conformance boundary
Proposed tests
Definitions only. No fixture has been executed against a harness.
- T-MCP-001MCP initialize and protocolVersion negotiation · required
- T-MCP-002tools/list and tools/call round trip · required
- T-MCP-003resources/list and resources/read · optional
- T-MCP-004prompts/list and prompts/get · optional
- T-MCP-005sampling/createMessage request from server to client · optional
- T-MCP-006Elicitation form request and response · optional
- T-MCP-007roots/list request from server to client · optional
- T-MCP-008Task-augmented request lifecycle · experimental
- T-MCP-009stdio framing and stderr isolation · required
- T-MCP-010Streamable HTTP session lifecycle · required
- T-MCP-011OAuth discovery and authorization flow · optional
- T-MCP-012notifications/tools/list_changed refresh · optional