{
 "acronym": "MCP",
 "adoption": {
  "level": "observed",
  "by": "Hugging Face, Cloudflare Docs, GitHub, Stripe, Linear, Claude, Visual Studio Code, Cursor, and 14 other verified implementations",
  "probe_run": null
 },
 "aliases": [],
 "analog": "Language Server Protocol",
 "audience": [
  "agent-builder",
  "platform",
  "standards-body"
 ],
 "collisions": [
  "Microsoft Cloud Partner",
  "Master Control Program"
 ],
 "discovery": {
  "mechanism": "Operator-published remote URL. Optional Server Card at the recommended <streamable-http-url>/server-card. Official MCP Registry is in preview.",
  "path": "No required path in the base protocol. server.json may name a remote server URL. Optional Server Card recommended at <streamable-http-url>/server-card. Registry is in preview."
 },
 "dispute": null,
 "evidence": [
  {
   "label": "[1]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. / The protocol uses JSON-RPC 2.0 messages to establish communication between / Version 2025-11-25 / Version 2024-11-05 / This specification defines the authoritative protocol requirements, based on the TypeScript schema in schema.ts . / Extensions are always opt-in and require explicit support from both client and server / MCP takes some inspiration from the Language Server Protocol , which standardizes how to add support for programming languages across a whole ecosystem of development tools. / The protocol uses JSON-RPC 2.0 messages to establish communication between: Hosts : LLM applications that initiate connections Clients : Connectors within the host application Servers : Services that provide context and capabilities / Expose tools and capabilities to AI systems / Skills over MCP : Rich, structured instructions for agent workflows, discovered and consumed through MCP",
   "ref": 1
  },
  {
   "label": "[2]",
   "url": "https://www.anthropic.com/news/model-context-protocol",
   "claim": "Anthropic, *Introducing the Model Context Protocol*, 2024-11-25",
   "date": "2024-11-25",
   "quote": "Every new data source requires its own custom implementation, making truly connected systems difficult to scale. / 2024-11-25 / It provides a universal, open standard for connecting AI systems with data sources / constrained by their isolation from data—trapped behind information silos and legacy systems. Every new data source requires its own custom implementation, making truly connected systems difficult to scale.",
   "ref": 2
  },
  {
   "label": "[3]",
   "url": "https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation",
   "claim": "The Linux Foundation, *Linux Foundation Announces the Formation of the Agentic AI Foundation (AAIF), Anchored by New Project Contributions Including Model Context Protocol (MCP), goose and AGENTS.md*, 2025-12-09",
   "date": "2025-12-09",
   "quote": "today announced the formation of the Agentic AI Foundation (AAIF), and founding contributions of three leading projects driving innovation in open source AI; Anthropic’s Model Context Protocol (MCP), Block's goose, and OpenAI's AGENTS.md / When we open sourced it in November 2024, we hoped other developers would find it as useful as we did / SAN FRANCISCO, Dec. 9, 2025 – The Linux Foundation , the nonprofit organization enabling mass innovation through open source, today announced the formation of the Agentic AI Foundation (AAIF) / founding contributions of three leading projects driving innovation in open source AI; Anthropic’s Model Context Protocol (MCP)",
   "ref": 3
  },
  {
   "label": "[4]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/transports/stdio",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *stdio Transport — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "In the stdio transport, the client launches the MCP server as a subprocess. / The server reads JSON-RPC messages from stdin and writes JSON-RPC messages to stdout. / Messages are delimited by newlines, and MUST NOT contain embedded newlines. / Each message is a single JSON-RPC request, notification, or response. / The server MUST NOT write anything to its stdout that is not a valid MCP message. / The server MAY write UTF-8 strings to stderr / SHOULD NOT assume stderr output indicates error conditions. / The wire format (one newline-delimited JSON-RPC message per line over a reliable bidirectional byte stream) works unchanged over Unix domain sockets, TCP connections, or any similar channel.",
   "ref": 4
  },
  {
   "label": "[5]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/transports/streamable-http",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Streamable HTTP Transport — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "The client sends every JSON-RPC request or notification as its own HTTP POST. / The server MUST provide a single HTTP endpoint path (hereafter referred to as the MCP endpoint ) that supports POST. / the server MUST return either Content-Type: application/json (a single JSON object) or Content-Type: text/event-stream (an SSE response stream). / Streamable HTTP was introduced in protocol version 2025-03-26 as a replacement for the HTTP+SSE transport from protocol version 2024-11-05. / Removal of the GET stream endpoint. Removal of protocol-level sessions. / The client MUST include an Accept header listing both application/json and text/event-stream as supported content types. / Every POST request to the MCP endpoint MUST include an MCP-Protocol-Version header. / The body of the HTTP POST MUST be a single JSON-RPC request or notification. The client MUST NOT send JSON-RPC responses. / The header value MUST match the io.modelcontextprotocol/protocolVersion field carried in the request body's _meta. / Mcp-Method method All requests Mcp-Name params.name or params.uri tools/call , resources/read , prompts/get / the server MUST return either Content-Type: application/json (a single JSON object) or Content-Type: text/event-stream (an SSE response stream). The client MUST support both. / a Server-Sent Events (SSE) stream scoped to that request, carrying request-related notifications followed by the final response. / the server MUST return HTTP status code 202 Accepted with no body. / This is a change from Streamable HTTP in protocol versions 2025-03-26 through 2025-11-25 / servers could assign a session via the Mcp-Session-Id header (terminated with HTTP DELETE), clients could open a standalone SSE stream with HTTP GET",
   "ref": 5
  },
  {
   "label": "[6]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/changelog",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Key Changes (2026-07-28) — Model Context Protocol Specification*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "Make MCP stateless: remove the initialize / notifications/initialized handshake. / Remove protocol-level sessions and the Mcp-Session-Id header from the Streamable HTTP transport. / previous revision, 2025-11-25 / Every request now carries its protocol version and client capabilities in _meta ( io.modelcontextprotocol/protocolVersion , io.modelcontextprotocol/clientCapabilities ). / Servers that need cross-call state use explicit, server-minted handles passed as ordinary tool arguments / resources/subscribe / resources/unsubscribe with subscriptions/listen / Remove ping, logging/setLevel, and notifications/roots/list_changed / Remove SSE stream resumability and message redelivery (the Last-Event-ID header and SSE event IDs) from the Streamable HTTP transport / Servers return an InputRequiredResult (resultType: \"input_required\") / Deprecate the roots, sampling, and logging features (SEP-2577) / Change resource not found error code from -32002 to -32602 (Invalid params) to align with JSON-RPC specification. / authorization servers SHOULD include the iss parameter in authorization responses per RFC 9207, and MCP clients MUST validate a present iss against the recorded issuer before redeeming the authorization code ( SEP-2468 ). / Clarify that client credentials are bound to the authorization server that issued them: clients MUST key persisted credentials by the issuer identifier, MUST NOT reuse them with a different authorization server / MUST NOT reuse them with a different authorization server, and MUST re-register when the authorization server changes ( SEP-2352 ).",
   "ref": 6
  },
  {
   "label": "[7]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/versioning",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Versioning and Compatibility — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "Legacy : protocol versions that establish a session with an initialize handshake ( 2025-11-25 and earlier). / Modern : protocol versions that convey version, identity, and capabilities as per-request metadata (revision 2026-07-28 and later). / There is no negotiation handshake. Every request carries its protocol version, and the server accepts or rejects each request independently / Every request declares the protocol version it is using in its _meta field. On HTTP, this is also carried in the MCP-Protocol-Version header / Extensions are advertised in the extensions field of capabilities / io.modelcontextprotocol/tasks / it MUST respond with an UnsupportedProtocolVersionError listing the versions it does support / \"supported\": [ \"2026-07-28\", \"2025-11-25\" ] / The client SHOULD select a mutually supported version from the supported list and retry the request",
   "ref": 7
  },
  {
   "label": "[8]",
   "url": "https://blog.modelcontextprotocol.io/posts/mcp-roadmap/",
   "claim": "David Soria Parra and Den Delimarsky (Model Context Protocol Blog), *The New MCP Roadmap*, 2026-08-22",
   "date": "2026-08-22",
   "quote": "The new roadmap is organized into five priority areas. Several of them pick up work that the previous version of the roadmap listed as being on the horizon, including server-initiated events, result type improvements, and agent identity",
   "ref": 8
  },
  {
   "label": "[9]",
   "url": "https://blog.modelcontextprotocol.io/posts/ruby-sdk-tier-1/",
   "claim": "Koichi Ito (Model Context Protocol Blog), *The Official Ruby SDK for MCP Reaches Tier 1*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "The official Ruby SDK for the Model Context Protocol is now a Tier 1 SDK under the MCP SDK tiering system, with full support for the 2026-07-28 MCP specification and a 100% conformance pass rate across both scored spec versions. / And as the specification evolves, the Ruby SDK team has committed to supporting the next MCP spec, targeted for late March 2027 , by its release date.",
   "ref": 9
  },
  {
   "label": "[10]",
   "url": "https://blog.modelcontextprotocol.io/posts/2026-07-28/",
   "claim": "David Soria Parra and Den Delimarsky (MCP Blog), *MCP 2026-07-28 Specification Release*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "David Soria Parra Member of Technical Staff, Co-Inventor of MCP / Any request can now land on any server instance behind a plain round-robin load balancer without needing shared storage. / We leverage it with Foundry toolbox unified MCP endpoint that brings together tools while centralizing governance, identity, and observability. With stateless operations, Tasks for long-running work, and enterprise-managed identity, the next generation of MCP makes it easier than ever to build secure, scalable, production-ready agent systems. / All four Tier 1 SDKs speak 2026-07-28 as of today: TypeScript Python Go C# Beyond the Tier 1 set, the Rust SDK supports the new spec in beta. / Cloudflare’s Agents SDK supports the spec from day zero, so developers can run MCP servers directly in Workers, call tools without transport-session overhead, and enable richer flows like elicitation for approvals. / Across our Tier 1 SDKs, we’re seeing close to half-a-billion downloads a month, with both TypeScript and Python SDKs crossing the 1 billion total downloads threshold.",
   "ref": 10
  },
  {
   "label": "[11]",
   "url": "https://modelcontextprotocol.io/community/governance",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Governance and Stewardship — Model Context Protocol*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "Justin Spahr-Summers (Co-Inventor, Lead Maintainer Emeritus) / Lead Maintainers are the final decision makers (also known as BDFL - Benevolent Dictator for Life). / All code and specification contributions to the project must be made using the Apache License, Version 2.0 / All documentation (excluding specifications) will be made available under Creative Commons Attribution 4.0 International license",
   "ref": 11
  },
  {
   "label": "[12]",
   "url": "https://modelcontextprotocol.io/docs/2026-07-28/learn/versioning",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Versioning — Model Context Protocol Documentation*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "Current : the current protocol version, which is ready for use and may continue to receive backwards compatible changes. / The current protocol version is 2026-07-28 .",
   "ref": 12
  },
  {
   "label": "[13]",
   "url": "https://ruby.sdk.modelcontextprotocol.io/protocol-versions/",
   "claim": "MCP Ruby SDK, *Protocol Versions*, checked 2026-10-30",
   "date": null,
   "quote": "2026-07-28 Modern Stateless lifecycle: no handshake, version carried on every request (SEP-2575)",
   "ref": 13
  },
  {
   "label": "[14]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Base Protocol Overview — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "All messages between MCP clients and servers MUST follow the JSON-RPC 2.0 specification. / Server Features : Resources, prompts, and tools exposed by servers / Client Features : Elicitation, sampling and root directory lists provided by clients / JSON-RPC 2.0 reserves the range -32000 to -32099 for implementation-defined server errors. MCP partitions this range as follows: -32000 to -32019 - legacy. / -32020 to -32099 - reserved for the MCP specification. Error codes in this sub-range are defined exclusively by the MCP specification and recorded in the schema. / -32020 HeaderMismatch -32021 MissingRequiredClientCapability -32022 UnsupportedProtocolVersion / -32002 - Resource not found (2025-11-25 and earlier; replaced by -32602 ) / -32042 - URL elicitation required (2025-11-25 only).",
   "ref": 14
  },
  {
   "label": "[15]",
   "url": "https://modelcontextprotocol.io/registry/about",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *About the Official MCP Registry*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "Server metadata is stored in a standardized server.json format / The MCP Registry is the official centralized metadata repository for publicly accessible MCP servers / The MCP Registry is intended to be consumed primarily by downstream aggregators, such as MCP server marketplaces. / The MCP Registry is currently in preview.",
   "ref": 15
  },
  {
   "label": "[16]",
   "url": "https://modelcontextprotocol.io/seps/2127-mcp-server-cards",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *SEP-2127: MCP Server Cards — HTTP Server Discovery*, 2026-01-21",
   "date": "2026-01-21",
   "quote": "Cards themselves can be hosted at any unreserved URI, with <streamable-http-url>/server-card reserved as the recommended location. / Cards themselves can be hosted at any unreserved URI, with /server-card reserved as the recommended location.",
   "ref": 16
  },
  {
   "label": "[17]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/patterns/mrtr",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Multi Round-Trip Requests — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "InputRequiredResult / resultType\": \"input_required\" / prompts/get Yes resources/read Yes tools/call Yes / Servers MUST send server-to-client requests (such as roots/list , sampling/createMessage , or elicitation/create ) using the MRTR pattern. / The previous pattern of server-initiated requests is no longer supported.",
   "ref": 17
  },
  {
   "label": "[18]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/architecture",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Architecture — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "Servers should not be able to read the whole conversation, nor \"see into\" other servers / The Model Context Protocol (MCP) follows a client-host-server architecture where each host can run multiple client instances. MCP is a stateless protocol: every request is self-contained and carries its own protocol version and capabilities. / A host application creates and manages multiple clients, with each client having a 1:1 relationship with a particular server. / Can be local processes or remote services / Clients include their capabilities in _meta.io.modelcontextprotocol/clientCapabilities on every request. / Servers advertise their capabilities in response to server/discover",
   "ref": 18
  },
  {
   "label": "[19]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Authorization — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "Authorization is OPTIONAL for MCP implementations. / Implementations using an STDIO transport SHOULD NOT follow this specification, and instead retrieve credentials from the environment. / OAuth 2.1 / MCP servers MUST implement OAuth 2.0 Protected Resource Metadata ( RFC9728 ). / MCP clients MUST implement Resource Indicators for OAuth 2.0 as defined in RFC 8707 / Implementations using an HTTP-based transport SHOULD conform to this specification. / A protected MCP server acts as an OAuth 2.1 resource server / MCP clients MUST use OAuth 2.0 Protected Resource Metadata for authorization server discovery. / MUST be included in both authorization requests and token requests. / aligns with the resource parameter in RFC 9728 / OAuth 2.0 Dynamic Client Registration Protocol ( RFC7591 )",
   "ref": 19
  },
  {
   "label": "[20]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/server/discover",
   "claim": "Model Context Protocol, *Discovery — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "`server/discover` lets a client query a server’s supported protocol versions, capabilities, and identity before sending any other requests. Servers **MUST** implement it. / server/discover lets a client query a server's supported protocol versions, capabilities, and identity before sending any other requests. Servers MUST implement it. / supportedVersions / Calling server/discover is optional for clients / On stdio, there is no per-request HTTP status code to drive fallback. / legacy ( initialize handshake) servers SHOULD send server/discover first / serverInfo is self-reported by the server and is not verified by the protocol. It is intended for display, logging, and debugging. Clients SHOULD NOT use it to change their behavior, and SHOULD NOT rely on it for security decisions",
   "ref": 20
  },
  {
   "label": "[21]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/client/sampling",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Sampling — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "The Sampling feature is deprecated as of protocol version 2026-07-28 ( SEP-2577 ). / existing implementations SHOULD migrate to integrating directly with LLM provider APIs. / request LLM sampling (\"completions\" or \"generations\") from language models via clients. / with no server API keys necessary. / Servers can request text, audio, or image-based interactions",
   "ref": 21
  },
  {
   "label": "[22]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/client/roots",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Roots — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "The Roots feature is deprecated as of protocol version 2026-07-28 ( SEP-2577 ). / existing implementations SHOULD migrate to passing directories or files via tool parameters, resource URIs, or server configuration. / expose filesystem \"roots\" to servers. / They are informational guidance rather than an access-control mechanism. / The protocol does not enforce that servers stay within roots.",
   "ref": 22
  },
  {
   "label": "[23]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/deprecated",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Deprecated Features Registry — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "First revision released on or after 2027-07-28 / Logging SEP-2577 2026-07-28 / Dynamic Client Registration / Dynamic Client Registration PR #2858 2026-07-28 Client ID Metadata Documents",
   "ref": 23
  },
  {
   "label": "[24]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/server/tools",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Tools — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "Tools in MCP are designed to be model-controlled , meaning that the language model can discover and invoke tools automatically based on its contextual understanding and the user's prompts. / there SHOULD always be a human in the loop with the ability to deny tool invocations. / Servers that support tools MUST declare the tools capability / To discover available tools, clients send a tools/list request. / MUST NOT vary per-connection or as a side effect of other requests on the connection. / The set MAY vary by the authorization presented on the request / Servers MAY respond to tools/call with an InputRequiredResult / resultType\": \"input_required\" / For trust & safety and security, clients MUST consider tool annotations to be untrusted unless they come from trusted servers.",
   "ref": 24
  },
  {
   "label": "[25]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/server/resources",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Resources — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "Resources in MCP are designed to be application-driven / such as files, database schemas, or application-specific information. / Each resource is uniquely identified by a URI / clients send a resources/list request. / resources/read / \"resources\": { \"listChanged\": true, \"subscribe\": true } / Clients subscribe to change notifications for specific resources by sending a / notifications.resourceSubscriptions",
   "ref": 25
  },
  {
   "label": "[26]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/server/prompts",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Prompts — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "Prompts are designed to be user-controlled , meaning they are exposed from servers to clients with the intention of the user being able to explicitly select them for use. / as slash commands / clients send a prompts/list request. / prompts/get / MUST NOT vary per-connection",
   "ref": 26
  },
  {
   "label": "[27]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/client/elicitation",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Elicitation — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "The Model Context Protocol (MCP) provides a standardized way for servers to request additional information from users through the client during interactions. / Form mode : Servers can request structured data from users with optional JSON schemas to validate responses / URL mode : Servers can direct users to external URLs for sensitive interactions that must not pass through the MCP client / Servers MUST use URL mode for interactions involving such sensitive information / passwords, API keys, access tokens, or payment credentials / echoed requestState",
   "ref": 27
  },
  {
   "label": "[28]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/security_best_practices",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Security Best Practices — Model Context Protocol (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "MCP Servers MUST NOT accept any tokens that were not explicitly issued for the MCP server / Local MCP servers with inadequate restrictions or from untrusted sources introduce several critical security risks: Arbitrary code execution",
   "ref": 28
  },
  {
   "label": "[29]",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Client Registration — Model Context Protocol Specification (2026-07-28)*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "enables clients to use HTTPS URLs as client identifiers / client_id_metadata_document_supported / The metadata document MUST include at least the following properties: client_id , client_name , redirect_uris",
   "ref": 29
  },
  {
   "label": "[30]",
   "url": "https://webmachinelearning.github.io/webmcp/",
   "claim": "Web Machine Learning Community Group (editors Brandon Walderman, Khushal Sagar, Dominic Farolino, and Samuel Dallstream), *WebMCP*, Draft Community Group Report, 11 November 2026",
   "date": null,
   "quote": "partial interface Document { [ SecureContext , SameObject ] readonly attribute ModelContext modelContext ; };",
   "ref": 30
  },
  {
   "label": "[31]",
   "url": "https://modelcontextprotocol.io/seps/1865-mcp-apps-interactive-user-interfaces-for-mcp",
   "claim": "Model Context Protocol (MCP), *SEP-1865: MCP Apps — Interactive User Interfaces for MCP*, 2026-01-26",
   "date": "2026-01-26",
   "quote": "declaring UI resources via the ui:// URI scheme, associating them with tools through metadata, and facilitating bi-directional communication",
   "ref": 31
  },
  {
   "label": "[32]",
   "url": "https://huggingface.co/mcp",
   "claim": "Hugging Face, *Live MCP endpoint*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{\"listChanged\":false},\"resources\":{\"listChanged\":false,\"subscribe\":false},\"extensions\":{\"io.modelcontextprotocol/skills\":{\"directoryRead\":true}}} / \"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"huggingface.co/mcp\",\"version\":\"0.4.31\",\"title\":\"Hugging Face\"",
   "ref": 32
  },
  {
   "label": "[33]",
   "url": "https://huggingface.co/docs/hub/agents-mcp",
   "claim": "Hugging Face, *Hugging Face MCP Server*, checked 2026-10-30",
   "date": null,
   "quote": "Hugging Face MCP Server: https://huggingface.co/mcp",
   "ref": 33
  },
  {
   "label": "[34]",
   "url": "https://docs.mcp.cloudflare.com/mcp",
   "claim": "Cloudflare, *Live MCP endpoint*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "{\"result\":{\"supportedVersions\":[\"2026-07-28\"],\"capabilities\":{\"tools\":{\"listChanged\":true},\"prompts\":{\"listChanged\":true}},\"resultType\":\"complete\",\"ttlMs\":0,\"cacheScope\":\"private\",\"_meta\":{\"io.modelcontextprotocol/serverInfo\":{\"name\":\"docs-ai-search\",\"version\":\"0.5.0\"}}},\"jsonrpc\":\"2.0\",\"id\":1}",
   "ref": 34
  },
  {
   "label": "[35]",
   "url": "https://developers.cloudflare.com/agents/model-context-protocol/cloudflare/servers-for-cloudflare/",
   "claim": "Cloudflare, *Cloudflare's own MCP servers*, checked 2026-10-30",
   "date": null,
   "quote": "https://docs.mcp.cloudflare.com/mcp",
   "ref": 35
  },
  {
   "label": "[36]",
   "url": "https://api.githubcopilot.com/mcp/",
   "claim": "GitHub, *Live MCP endpoint*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "www-authenticate: Bearer error=\"invalid_request\", error_description=\"No access token was provided in this request\", resource_metadata=\"https://api.githubcopilot.com/.well-known/oauth-protected-resource/mcp/\"",
   "ref": 36
  },
  {
   "label": "[37]",
   "url": "https://github.com/github/github-mcp-server",
   "claim": "GitHub, *github/github-mcp-server*, checked 2026-10-30",
   "date": null,
   "quote": "The GitHub MCP Server connects AI tools directly to GitHub's platform. / For non-interactive stdio deployments, see **[GitHub App Authentication](docs/github-app-auth.md)**.",
   "ref": 37
  },
  {
   "label": "[38]",
   "url": "https://mcp.stripe.com",
   "claim": "Stripe, *Live MCP endpoint*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "www-authenticate: Bearer resource_metadata=\"https://mcp.stripe.com/.well-known/oauth-protected-resource\" / {\"error\":\"Unauthorized. See https://docs.stripe.com/mcp for usage instructions.\",\"error_code\":\"missing_api_key\",\"error_description\":\"No valid API key provided.\"}",
   "ref": 38
  },
  {
   "label": "[39]",
   "url": "https://docs.stripe.com/mcp",
   "claim": "Stripe, *Model Context Protocol (MCP)*, checked 2026-10-30",
   "date": null,
   "quote": "Stripe’s MCP server supports two authentication methods: OAuth : Use OAuth when a client accesses Stripe on behalf of your Stripe user account. Agent API keys : Use an agent API key when an AI application needs independent, persistent access to Stripe.",
   "ref": 39
  },
  {
   "label": "[40]",
   "url": "https://mcp.linear.app/mcp",
   "claim": "Linear, *Live MCP endpoint*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "www-authenticate: Bearer realm=\"OAuth\", resource_metadata=\"https://mcp.linear.app/.well-known/oauth-protected-resource/mcp\", scope=\"read write\"",
   "ref": 40
  },
  {
   "label": "[41]",
   "url": "https://linear.app/docs/mcp",
   "claim": "Linear, *MCP server*, checked 2026-10-30",
   "date": null,
   "quote": "Read-write access is provided through https://mcp.linear.app/mcp by default. For read-only access, you have two options: Connect to https://mcp.linear.app/mcp/readonly , which only ever exposes read tools.",
   "ref": 41
  },
  {
   "label": "[42]",
   "url": "https://registry.modelcontextprotocol.io/v0.1/servers/com.atlassian%2Fatlassian-mcp-server/versions/2.0.0",
   "claim": "Official MCP Registry, *com.atlassian/atlassian-mcp-server version 2.0.0 (Official MCP Registry)*, version 2.0.0 (publishedAt 2026-09-09T17:53:32.01107Z; retained snapshot fetched 2026-10-30)",
   "date": null,
   "quote": "\"name\":\"com.atlassian/atlassian-mcp-server\",\"description\":\"Connect to Atlassian Jira, Confluence, Loom, and more to search, create, and manage your work.\",\"title\":\"Atlassian Rovo MCP Server\",\"repository\":{\"url\":\"https://github.com/atlassian/atlassian-mcp-server\",\"source\":\"github\"},\"version\":\"2.0.0\",\"websiteUrl\":\"https://support.atlassian.com/atlassian-rovo-mcp-server/docs/getting-started-with-the-atlassian-remote-mcp-server/\",\"remotes\":[{\"type\":\"streamable-http\",\"url\":\"https://mcp.atlassian.com/v2/mcp\"},{\"type\":\"streamable-http\",\"url\":\"https://mcp.atlassian.com/v1/mcp/authv2\"}]",
   "ref": 42
  },
  {
   "label": "[43]",
   "url": "https://registry.modelcontextprotocol.io/v0.1/servers/com.notion%2Fmcp/versions/1.0.1",
   "claim": "Official MCP Registry, *com.notion/mcp version 1.0.1 (Official MCP Registry)*, version 1.0.1 (publishedAt 2025-09-11T22:25:50.737872Z; retained snapshot fetched 2026-10-30)",
   "date": null,
   "quote": "\"name\":\"com.notion/mcp\",\"description\":\"Official Notion MCP server\",\"repository\":{},\"version\":\"1.0.1\",\"remotes\":[{\"type\":\"streamable-http\",\"url\":\"https://mcp.notion.com/mcp\"},{\"type\":\"sse\",\"url\":\"https://mcp.notion.com/sse\"}]",
   "ref": 43
  },
  {
   "label": "[44]",
   "url": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.microsoft%2Fplaywright-mcp/versions/0.0.82",
   "claim": "Official MCP Registry, *io.github.microsoft/playwright-mcp version 0.0.82 (Official MCP Registry)*, version 0.0.82 (publishedAt 2026-09-18T23:41:20.46032Z; retained snapshot fetched 2026-10-30)",
   "date": null,
   "quote": "\"name\":\"io.github.microsoft/playwright-mcp\",\"description\":\"Playwright Tools for MCP\",\"repository\":{\"url\":\"https://github.com/microsoft/playwright-mcp\",\"source\":\"github\"},\"version\":\"0.0.82\",\"packages\":[{\"registryType\":\"npm\",\"identifier\":\"@playwright/mcp\",\"version\":\"0.0.82\",\"transport\":{\"type\":\"stdio\"}}]",
   "ref": 44
  },
  {
   "label": "[45]",
   "url": "https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp",
   "claim": "Anthropic, *Get started with custom connectors using remote MCP*, modified 2026-10-30",
   "date": null,
   "quote": "Local MCP servers configured in Claude Desktop via claude_desktop_config.json are a separate mechanism and do use your local network, but those aren't available in Cowork or claude.ai. / Under OAuth client , choose how Claude identifies itself to the server’s authorization server: “Use Claude’s published identity (Recommended),” “Register automatically,” or “Use your own OAuth client.”",
   "ref": 45
  },
  {
   "label": "[46]",
   "url": "https://claude.com/resources/articles/bringing-mcp-2026-07-28-to-claude",
   "claim": "Anthropic, *MCP 2026-07-28 spec: stateless core, coming to Claude*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "The fifth spec release of the Model Context Protocol, MCP 2026-07-28 , is live today. The latest spec moves MCP to a stateless core, while hardening authorization and graduating official extensions. Support is being rolled out across Claude products.",
   "ref": 46
  },
  {
   "label": "[47]",
   "url": "https://code.visualstudio.com/blogs/2025/06/12/full-mcp-spec-support",
   "claim": "Microsoft / Harald Kirschner, Connor Peet and Tyler Leonhardt, *The Complete MCP Experience: Full Specification Support in VS Code*, 2025-06-12",
   "date": "2025-06-12",
   "quote": "Beyond the initial tools and workspace awareness we introduced in May , you can now use authorization, prompts, resources, and sampling. / Combined with streamable HTTP transport (which landed in our previous version), this enables remote MCP servers that can scale independently while maintaining enterprise-grade security.",
   "ref": 47
  },
  {
   "label": "[48]",
   "url": "https://cursor.com/changelog/1-0",
   "claim": "Cursor, *Cursor 1.0*, 2025-06-04",
   "date": "2025-06-04",
   "quote": "You can now set up MCP servers in Cursor with one click, and together with OAuth support, you can easily authenticate servers that support it.",
   "ref": 48
  },
  {
   "label": "[49]",
   "url": "https://blog.google/innovation-and-ai/technology/developers-tools/introducing-gemini-cli-open-source-ai-agent/",
   "claim": "Google, *Gemini CLI: your open-source AI agent*, published 2025-06-25; modified 2026-01-07",
   "date": null,
   "quote": "Extend Gemini CLI’s capabilities through built-in support for the Model Context Protocol (MCP) or bundled extensions / Because Gemini CLI is fully open source (Apache 2.0) , developers can inspect the code to understand how it works and verify its security implications.",
   "ref": 49
  },
  {
   "label": "[50]",
   "url": "https://modelcontextprotocol.io/registry/registry-aggregators",
   "claim": "Model Context Protocol, *MCP Registry Aggregators*, checked 2026-10-30",
   "date": null,
   "quote": "A subregistry is an aggregator that also implements the OpenAPI spec defined by the MCP Registry. / The base URL for the MCP Registry REST API is https://registry.modelcontextprotocol.io. / GET /v0.1/servers - List all servers. GET /v0.1/servers/{serverName}/versions - List all versions of a server. GET /v0.1/servers/{serverName}/versions/{version} - Get a specific version of a server. Use the special version latest",
   "ref": 50
  },
  {
   "label": "[51]",
   "url": "https://github.blog/ai-and-ml/github-copilot/meet-the-github-mcp-registry-the-fastest-way-to-discover-mcp-servers/",
   "claim": "Toby Padilla, GitHub Blog, *Meet the GitHub MCP Registry: The fastest way to discover MCP Servers*, published 2025-09-16",
   "date": null,
   "quote": "\"datePublished\":\"2025-09-16T09:27:54-07:00\" / self-publish MCP servers directly to the OSS MCP Community Registry / those servers will automatically appear in the GitHub MCP Registry",
   "ref": 51
  },
  {
   "label": "[52]",
   "url": "https://glama.ai/mcp/methodology",
   "claim": "Glama, *How Glama indexes the MCP ecosystem*, checked 2026-10-30",
   "date": null,
   "quote": "Glama ingests and re-publishes everything in the official registry, and layers its own sandbox-derived data on top / the behavioural analysis, the schema captures from actual server runs, the TDQS scores",
   "ref": 52
  },
  {
   "label": "[53]",
   "url": "https://www.pulsemcp.com/work-with-us",
   "claim": "PulseMCP, *Work With Us*, checked 2026-10-30",
   "date": null,
   "quote": "We ingest from the official registry and supplement with our own indexing across the web",
   "ref": 53
  },
  {
   "label": "[54]",
   "url": "https://www.pulsemcp.com/posts/newsletter-claude-code-competition-ai-fundraising-abounds-mcp-registry-launch",
   "claim": "PulseMCP, *Claude Code has competition, AI fundraising abounds, Official MCP Registry launched*, published 2025-09-09",
   "date": null,
   "quote": "we’re setting PulseMCP up as a sub-registry of the official registry / use our data (like estimated downloads, standardized names and descriptions) to curate your MCP marketplaces",
   "ref": 54
  },
  {
   "label": "[55]",
   "url": "https://www.pulsemcp.com/servers/",
   "claim": "PulseMCP, *MCP Server Directory*, checked 2026-11-06",
   "date": null,
   "quote": "New server submissions and listing changes are still paused while we rework how we ingest and manage listings.",
   "ref": 55
  },
  {
   "label": "[56]",
   "url": "https://mcpcensus.com/compare/mcp-registries",
   "claim": "MCP Census (Jaco Veldsman), *MCP registries compared*, 2026-11-04",
   "date": "2026-11-04",
   "quote": "returns PASS, REVIEW, BLOCK or UNKNOWN / 57,777 server rows (read 4 November 2026) / Updated 2026-11-04 / 115,336 servers (page title, 4 November 2026). Tags include Remote 45,340, Local 43,442 / 21,602 servers / 300+ / stopped on 31 October 2026 / Every statement about another site comes from the pages in the Sources list, read on 4 November 2026. / 21,602 servers (page, undated; the title says / the API, Connect, accounts, CLI and proxy URLs stopped on 31 October 2026",
   "ref": 56
  },
  {
   "label": "[57]",
   "url": "https://modelcontextprotocol.io/docs/sdk",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *Official MCP SDKs*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "Build MCP servers and clients using our official SDKs in TypeScript, Python, Go, Kotlin, Swift, Java, C#, Ruby, Rust, and PHP. / TypeScript modelcontextprotocol/typescript-sdk Tier 1 Python modelcontextprotocol/python-sdk Tier 1 C# modelcontextprotocol/csharp-sdk Tier 1 Go modelcontextprotocol/go-sdk Tier 1 Rust modelcontextprotocol/rust-sdk Tier 1 Ruby modelcontextprotocol/ruby-sdk Tier 1",
   "ref": 57
  },
  {
   "label": "[58]",
   "url": "https://modelcontextprotocol.io/docs/tools/inspector",
   "claim": "Model Context Protocol (AAIF / Linux Foundation), *MCP Inspector*, 2026-07-28",
   "date": "2026-07-28",
   "quote": "It ships as a single package, @modelcontextprotocol/inspector , providing three clients behind one binary / All three are built on the same shared core, so a connection behaves identically across them: the same transports, the same configuration files, the same OAuth state on disk, and the same protocol-era negotiation (legacy vs. modern 2026-07-28). / npx @modelcontextprotocol/inspector --cli node path/to/server/index.js --method tools/list / npx @modelcontextprotocol/inspector --tui node path/to/server/index.js",
   "ref": 58
  },
  {
   "label": "[59]",
   "url": "https://developers.cloudflare.com/agents/model-context-protocol/",
   "claim": "Cloudflare, *Model Context Protocol (MCP) · Cloudflare Agents docs*, checked 2026-10-30",
   "date": null,
   "quote": "Remote MCP connections : MCP clients connect to MCP servers over the Internet, establishing a connection using Streamable HTTP , and authorizing the MCP client access to resources on the user's account using OAuth . / When a token lacks a scope, return an insufficientScope() challenge so the client asks the user to approve it (step-up authorization) instead of requesting every scope up front.",
   "ref": 59
  },
  {
   "label": "[60]",
   "url": "https://raw.githubusercontent.com/modelcontextprotocol/mcpb/main/README.md",
   "claim": "Model Context Protocol, *MCP Bundles (MCPB) Specification & Toolchain README*, 2026-10-30",
   "date": "2026-10-30",
   "quote": "MCP Bundles (`.mcpb`) are zip archives containing a local MCP server and a `manifest.json` that describes the server and its capabilities. / `@anthropic-ai/dxt` package will be moved to `@anthropic-ai/mcpb`",
   "ref": 60
  },
  {
   "label": "[61]",
   "url": "https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/",
   "claim": "Model Context Protocol Blog, *One Year of MCP: November 2025 Spec Release*, 2025-11-25",
   "date": "2025-11-25",
   "quote": "It's the central index for all available MCP servers that now has close to two thousand entries since its announcement in September. / That's a 407% growth from the initial batch of servers we onboarded that same month.",
   "ref": 61
  },
  {
   "label": "[62]",
   "url": "https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation",
   "claim": "Anthropic, *Donating the Model Context Protocol and establishing the Agentic AI Foundation*, 2025-12-09",
   "date": "2025-12-09",
   "quote": "Across the ecosystem: There are now more than 10,000 active public MCP servers, covering everything from developer tools to Fortune 500 deployments;",
   "ref": 62
  },
  {
   "label": "[63]",
   "url": "https://www.localcan.com/blog/state-of-mcp-server-development",
   "claim": "Jarek Ceborski, LocalCan, *State of MCP Server Development: October 2026*, 2026-10-15",
   "date": "2026-10-15",
   "quote": "Every number below was measured or checked on 14 October 2026 / The official MCP Registry lists 43,012 active servers / 59.6% are remote-only, 34.6% ship only as a package you run yourself, 4.7% offer both, and 1.1% list neither",
   "ref": 63
  },
  {
   "label": "[64]",
   "url": "https://www.apideck.com/blog/mcp-server-directories",
   "claim": "Apideck, *MCP server directories*, 2026-10-31",
   "date": "2026-10-31",
   "quote": "Every count below is from 31 October 2026. / The registry held 53,541 servers on 31 October 2026 / 113,204 open-source servers and 40,151 remote connectors on 31 October / PulseMCP listed 21,614 servers / MCP Market showed 50,999 servers / The Cursor Marketplace linked about 490 plugins on 31 October",
   "ref": 64
  },
  {
   "label": "[65]",
   "url": "https://arxiv.org/html/2611.06897v1",
   "claim": "Khalid Tounoussi, Mohammed Sayagh, Ali Ouni, and Yutaro Kashiwa, *MCP-Eco: A Linked Dataset of MCP Servers, Consumers, and Development Activity*, 2026-11-04",
   "date": "2026-11-04",
   "quote": "exported the release to Parquet on 2026-06-23 / 78,302 candidate server projects / The crawler queries the APIs of the official MCP registry, Glama, Smithery, PulseMCP. For MCP.so, it reads server listing pages found through sitemaps.",
   "ref": 65
  }
 ],
 "form": "endpoint",
 "governance": "Agentic AI Foundation (AAIF), a directed fund under the Linux Foundation, since 2025-12-09; a Series of LF Projects, LLC; Lead Maintainers are the final decision makers",
 "group": null,
 "hatnote_md": "This article covers the Model Context Protocol (MCP) for host-to-server context and tool exchange. For the browser DOM API, see [WebMCP](/protocols/webmcp/); for server discovery, see [Official MCP Registry](/protocols/mcp-registry/) and [MCP Server Cards](/protocols/mcp-server-cards/).",
 "history": [
  {
   "date": "2026-09-06",
   "note": "verified against modelcontextprotocol.io/specification/2026-07-28, github.com/modelcontextprotocol/experimental-ext-server-card, github.com/modelcontextprotocol/registry, modelcontextprotocol.io/docs/2026-07-28/sdk, modelcontextprotocol.io/docs/extensions/apps, en.wikipedia.org/wiki/Model_Context_Protocol, workos.com MCP-2026 blog"
  },
  {
   "date": "2026-10-16",
   "note": "Server Cards (SEP-2127) Final 6 Oct 2026; Skills over MCP (SEP-2640) Final 13 Sep 2026; next spec release cadence under discussion (SEP-3398)"
  },
  {
   "date": "2026-10-17",
   "note": "prose brought in line with the infobox and history: SEP-2127 Server Cards are Final (2026-10-06), not experimental; reserved location, media type and the superseded /.well-known/mcp.json noted"
  },
  {
   "date": "2026-10-20",
   "note": "server-card evidence line marked superseded (SEP-2127 Final; repo renamed to ext-server-card)"
  },
  {
   "date": "2026-10-20",
   "note": "probe now uses server/discover for 2026-07-28 with initialize as the legacy fallback; SEP-2127 card is Final; three registry censuses recorded with their units and dates"
  },
  {
   "date": "2026-10-28",
   "note": "Re-verified record against 27 sources on 2026-10-28: 5 live remote MCP endpoints (Hugging Face and Cloudflare via server/discover HTTP 200; GitHub Copilot, Stripe, and Linear via HTTP 401 + RFC 9728 OAuth protected-resource metadata HTTP 200), 7 client vendor statements, and 3 press sources."
  },
  {
   "date": "2026-11-12",
   "note": "Completed v0.5 primary-source specification, protocol-graph, and ecosystem adoption pass."
  }
 ],
 "id": "mcp",
 "implementation": "multi-implementation",
 "last_verified": "2026-11-11",
 "name": "Model Context Protocol",
 "native_status": "Open protocol. The current version, 2026-07-28, is ready for use. The next specification is targeted for late March 2027.",
 "origin": {
  "date": "2024-11-25",
  "org": "Anthropic"
 },
 "pairs_with": [
  "a2a",
  "webmcp",
  "mcp-apps",
  "mcp-registry",
  "ag-ui",
  "anthropic-agent-skills-format"
 ],
 "part_of": null,
 "parties": [
  "agent-site"
 ],
 "phase": "living",
 "prerequisites": [],
 "probe": {
  "method": "POST",
  "on_absent": "Connection refused, 404, or a non-JSON-RPC response means no MCP server is exposed at that endpoint. SEP-2127 is Final: GET {endpoint}/server-card as application/mcp-server-card+json is a static discovery signal, discovered via /.well-known/ai-catalog.json. /.well-known/mcp.json is the legacy SEP-1649 path. When the static card and a live server/discover response disagree, the live call wins.",
  "parse": "For protocol 2026-07-28, POST a JSON-RPC 2.0 request with method server/discover. The 2026-07-28 specification made MCP stateless and retired initialize, initialized, and Mcp-Session-Id. Each request carries the MCP-Protocol-Version header, and the method and tool name travel in Mcp-Method and Mcp-Name. server/discover is optional; any other request can land on any instance. On success, the returned protocol version (for example 2026-07-28) and the server name prove an MCP server is present. For servers that still speak 2025-11-25 and earlier, fall back to the legacy initialize handshake and read response.result.protocolVersion and response.result.serverInfo.name.",
  "path": "{endpoint}/mcp"
 },
 "question": "How does an AI application call tools and pull structured context, prompts, and data from an external server?",
 "scope": "general",
 "spec_url": "https://modelcontextprotocol.io/specification/2026-07-28",
 "step": "act",
 "summary_md": "The **Model Context Protocol** (**MCP**) is an open protocol that uses `JSON-RPC 2.0` messages to connect LLM host applications with servers that provide context and capabilities. Anthropic introduced it on 2024-11-25 as a universal, open standard for connecting AI systems with data sources. The Linux Foundation's Agentic AI Foundation (AAIF) now stewards MCP as a founding project, alongside Block's goose and OpenAI's AGENTS.md. On `stdio`, the client launches the MCP server as a subprocess; the server reads JSON-RPC messages from `stdin` and writes JSON-RPC messages to `stdout`, delimited by newlines. On Streamable HTTP, every JSON-RPC request is its own HTTP `POST` to a single MCP endpoint, and the server answers with either `Content-Type: application/json` or `Content-Type: text/event-stream`. The 2025-11-25 revision serves as the legacy Streamable HTTP session baseline (succeeding 2025-03-26 and 2024-11-05), while the 2026-07-28 revision retires the `initialize` / `notifications/initialized` handshake, `Mcp-Session-Id` headers, and standalone GET SSE streams. A roadmap published on 2026-08-22 organizes later specification work into five priority areas, picking up server-initiated events, result type improvements, and agent identity, together with HTTP-native transport and SDK developer experience. On 2026-10-30 the official Ruby SDK reached Tier 1, with full support for the 2026-07-28 specification and a 100% conformance pass rate across both scored spec versions. The Ruby SDK team has committed to supporting the next MCP specification, targeted for late March 2027, by its release date.",
 "track": "linux-foundation",
 "use_cases": [
  "expose-tools-to-agents",
  "describe-agent-capabilities",
  "discover-my-api",
  "render-agent-ui"
 ],
 "version": {
  "date": "2026-07-28",
  "label": "2026-07-28"
 },
 "watch": [
  {
   "type": "page",
   "url": "https://modelcontextprotocol.io/specification/2026-07-28/index",
   "selector": "main",
   "cadence": "weekly"
  },
  {
   "type": "github",
   "repo": "modelcontextprotocol/modelcontextprotocol",
   "mode": "tag"
  },
  {
   "type": "feed",
   "url": "https://blog.modelcontextprotocol.io/index.xml"
  },
  {
   "type": "page",
   "url": "https://modelcontextprotocol.io/specification/versioning",
   "selector": "main"
  }
 ],
 "tier": "flagship",
 "lifecycle_status": "active",
 "wire_archetype": "harnesses_rpc_ui",
 "freshness": "current",
 "v05_verified": true,
 "v05_last_checked_display": "2026-11-11",
 "v05_hatnote_html_md": "This article covers the Model Context Protocol (MCP) for host-to-server context and tool exchange. For the browser DOM API, see [WebMCP](/protocols/webmcp/); for server discovery, see [Official MCP Registry](/protocols/mcp-registry/) and [MCP Server Cards](/protocols/mcp-server-cards/). [1]",
 "v05_elevator_pitch_md": "MCP is a universal connector standard that lets AI applications (such as Claude, VS Code, or Cursor) plug into external data sources and tools (such as GitHub, Stripe, or Notion) without custom point-to-point integration code. Instead of building a bespoke connector for every AI host and external service, developers expose one MCP server with standardized `tools`, `resources`, and `prompts` that any MCP-compatible host can call over local `stdio` or HTTP. [1][2]",
 "v05_lead_md": "The **Model Context Protocol** (**MCP**) is an open protocol that uses `JSON-RPC 2.0` messages to connect LLM host applications with servers that provide context and capabilities. Anthropic introduced it on 2024-11-25 as a universal, open standard for connecting AI systems with data sources. The Linux Foundation's Agentic AI Foundation (AAIF) now stewards MCP as a founding project, alongside Block's goose and OpenAI's AGENTS.md. [1][2][3] On `stdio`, the client launches the MCP server as a subprocess; the server reads JSON-RPC messages from `stdin` and writes JSON-RPC messages to `stdout`, delimited by newlines. On Streamable HTTP, every JSON-RPC request is its own HTTP `POST` to a single MCP endpoint, and the server answers with either `Content-Type: application/json` or `Content-Type: text/event-stream`. [4][5] The 2025-11-25 revision serves as the legacy Streamable HTTP session baseline (succeeding 2025-03-26 and 2024-11-05), while the 2026-07-28 revision retires the `initialize` / `notifications/initialized` handshake, `Mcp-Session-Id` headers, and standalone GET SSE streams. [5][6][7] A roadmap published on 2026-08-22 organizes later specification work into five priority areas, picking up server-initiated events, result type improvements, and agent identity, together with HTTP-native transport and SDK developer experience. [8] On 2026-10-30 the official Ruby SDK reached Tier 1, with full support for the 2026-07-28 specification and a 100% conformance pass rate across both scored spec versions. [9] The Ruby SDK team has committed to supporting the next MCP specification, targeted for late March 2027, by its release date. [9]",
 "v05_identity_sentence_md": "The **Model Context Protocol** (**MCP**) is an open protocol that uses `JSON-RPC 2.0` messages to connect LLM host applications with servers that provide context and capabilities. Anthropic introduced it on 2024-11-25 as a universal, open standard for connecting AI systems with data sources. The Linux Foundation's Agentic AI Foundation (AAIF) now stewards MCP as a founding project, alongside Block's goose and OpenAI's AGENTS.md. [1][2][3]",
 "v05_infobox_rows": [
  {
   "label": "Category",
   "value_md": "[Act](/category/act/) (`act`)"
  },
  {
   "label": "Form",
   "value_md": "Endpoint (`endpoint`)"
  },
  {
   "label": "Originated by",
   "value_md": "Anthropic; co-invented by David Soria Parra and Justin Spahr-Summers (open-sourced November 2024) [3][10][11]"
  },
  {
   "label": "Governed by",
   "value_md": "Agentic AI Foundation (AAIF) under the Linux Foundation since 2025-12-09; Lead Maintainers hold final decision authority [3][11]"
  },
  {
   "label": "Track",
   "value_md": "Foundation / Consortium Specification (`linux-foundation`); founding project of the Agentic AI Foundation [3]"
  },
  {
   "label": "Status",
   "value_md": "Active open standard; current stateless specification version `2026-07-28` is ready for use; next specification targeted for late March 2027 [9][12]"
  },
  {
   "label": "Version",
   "value_md": "`2026-07-28` (stateless core); prior handshake revisions: `2025-11-25`, `2025-06-18`, `2025-03-26`, and `2024-11-05`; next specification targeted for late March 2027 [1][9][13]"
  },
  {
   "label": "Message format",
   "value_md": "JSON-RPC 2.0 requests, responses, and notifications (`application/json` and `text/event-stream`) [5][14]"
  },
  {
   "label": "Transports",
   "value_md": "`stdio` (newline-delimited JSON-RPC over subprocess streams) and Streamable HTTP (`POST` to one MCP endpoint) [4][5]"
  },
  {
   "label": "Specification",
   "value_md": "[Model Context Protocol Specification (2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28) [1]"
  },
  {
   "label": "Found at",
   "value_md": "Operator endpoint URL or `server.json` in [Official MCP Registry](/protocols/mcp-registry/); optional [MCP Server Card](/protocols/mcp-server-cards/) at any unreserved URI (with `<streamable-http-url>/server-card` reserved as the recommended location) [15][16]"
  },
  {
   "label": "Licence",
   "value_md": "Apache License 2.0 for outbound code and specifications; CC BY 4.0 for non-specification documentation [11]"
  }
 ],
 "v05_problem_md": "Before MCP, connecting AI assistants to external content repositories and legacy systems required a custom integration for every data source, isolating models behind information silos. Even after MCP standardized JSON-RPC host-to-server connectors, revisions through 2025-11-25 opened a stateful session via an `initialize` handshake and `Mcp-Session-Id` header, preventing follow-up requests from landing freely on any instance behind a plain round-robin load balancer without shared storage. [2][6][7][10] Revision 2026-07-28 puts `io.modelcontextprotocol/protocolVersion` and `io.modelcontextprotocol/clientCapabilities` in `_meta` on every JSON-RPC request, and Streamable HTTP repeats that version in `MCP-Protocol-Version`. A server that needs more input during `tools/call`, `resources/read`, or `prompts/get` returns `InputRequiredResult` with `input_required` instead of starting its own JSON-RPC request. [5][6][17] Servers remain isolated from the full conversation and from other connected servers, while optional protocol extensions require explicit opt-in from both client and server. HTTP authorization is optional and uses OAuth 2.1 Protected Resource Metadata (`RFC 9728`) and Resource Indicators (`RFC 8707`), whereas `stdio` retrieves credentials from the environment. [1][18][19]",
 "v05_mechanism_delta_md": "Revision 2026-07-28 puts `io.modelcontextprotocol/protocolVersion` and `io.modelcontextprotocol/clientCapabilities` in `_meta` on every JSON-RPC request, and Streamable HTTP repeats that version in `MCP-Protocol-Version`. A server that needs more input during `tools/call`, `resources/read`, or `prompts/get` returns `InputRequiredResult` with `input_required` instead of starting its own JSON-RPC request. [5][6][17]",
 "v05_scope_boundary_md": "Servers remain isolated from the full conversation and from other connected servers, while optional protocol extensions require explicit opt-in from both client and server. HTTP authorization is optional and uses OAuth 2.1 Protected Resource Metadata (`RFC 9728`) and Resource Indicators (`RFC 8707`), whereas `stdio` retrieves credentials from the environment. [1][18][19]",
 "v05_fuzzy_additions": [
  {
   "id": "server-discovery-and-stateless-transports-on-stdio-and-streamable-http",
   "heading": "Server discovery and stateless transports on stdio and Streamable HTTP",
   "body_md": "Revision 2026-07-28 replaces the stateful `initialize` session used in 2025-11-25 and earlier with stateless per-request metadata. There is no negotiation handshake: every request declares its protocol version in `_meta` (and, on HTTP, in `MCP-Protocol-Version`) alongside `_meta.io.modelcontextprotocol/clientCapabilities`, and the server accepts or rejects each request independently. Servers advertise supported capabilities and optional `extensions` such as `io.modelcontextprotocol/tasks` through `server/discover`. [7][18]",
   "bullets": [
    {
     "label": "Discover and version mismatch",
     "text_md": "Servers MUST implement `server/discover` (returning `supportedVersions`). Clients MAY skip `server/discover` and handle `UnsupportedProtocolVersionError` (for example, `\"supported\": [ \"2026-07-28\", \"2025-11-25\" ]`), then SHOULD retry a mutually supported version. On `stdio`, a dual-era client SHOULD send `server/discover` before `initialize`. [7][20]"
    },
    {
     "label": "Streamable HTTP request",
     "text_md": "One MCP endpoint supports `POST`. Each JSON-RPC message is its own HTTP POST. Accept MUST list `application/json` and `text/event-stream`. The body is one request or notification, never a response. `MCP-Protocol-Version` MUST match `io.modelcontextprotocol/protocolVersion` in `_meta`. `Mcp-Method` names the method; `Mcp-Name` carries `params.name` or `params.uri` for `tools/call`, `resources/read`, and `prompts/get`. [5]"
    },
    {
     "label": "JSON, SSE, retired sessions, and 2026-07-28 breaking changes",
     "text_md": "A request returns `Content-Type: application/json` or `Content-Type: text/event-stream`; clients MUST support both, and SSE stays scoped to that POST until the final response. Accepted notifications return `202 Accepted` with no body. Revision 2026-07-28 removes `Mcp-Session-Id` sessions and standalone GET SSE streams so cross-call state uses explicit server-minted handles passed as ordinary tool arguments; it also replaces `resources/subscribe` and `resources/unsubscribe` with `subscriptions/listen`, removes `ping`, `logging/setLevel`, `notifications/roots/list_changed`, and `Last-Event-ID` SSE stream resumability, and requires a `resultType` discriminator (`complete` vs. `input_required` in `InputRequiredResult`). [5][6]"
    },
    {
     "label": "`stdio` subprocess framing",
     "text_md": "`stdio` launches the server as a subprocess. JSON-RPC on `stdin` and `stdout` is one newline-delimited message, with no embedded newlines, and `stdout` carries nothing else. Logs MAY use `stderr` and are not an error signal. `stdio` SHOULD NOT follow the HTTP authorization specification; credentials come from the environment. [4][19]"
    }
   ]
  },
  {
   "id": "server-primitives-client-primitives-oauth-2-1-and-security-considerations",
   "heading": "Server primitives, client primitives, OAuth 2.1, and security considerations",
   "body_md": "Servers expose resources, prompts, and tools; clients may expose elicitation, `sampling`, and `roots`. Revision 2026-07-28 deprecates `sampling`, `roots`, and `logging` (`SEP-2577`), along with OAuth Dynamic Client Registration (`PR #2858`), with earliest removal in the first revision released on or after 2027-07-28: implementations SHOULD replace `sampling` with direct LLM provider APIs and pass directories or files via tool parameters or resource URIs instead of `roots`. Server-to-client calls (`roots/list`, `sampling/createMessage`, and `elicitation/create`) MUST use the Multi Round-Trip Requests (`MRTR`) pattern rather than server-initiated requests. [6][14][17][21][22][23]",
   "bullets": [
    {
     "label": "Model-controlled tools",
     "text_md": "Tools are model-controlled, and a person SHOULD be able to deny a call. Servers declare the `tools` capability. `tools/list` MUST NOT vary per-connection, though it MAY follow the request's authorization. `tools/call` MAY return `InputRequiredResult` with `input_required` when the tool needs more input. [24]"
    },
    {
     "label": "Resources, prompts, and JSON-RPC 2.0 server error codes",
     "text_md": "Resources are application-driven and identified by a URI; clients call `resources/list` and `resources/read`, while servers that advertise the `resources` `listChanged` or `subscribe` capability flags deliver resource-specific update notifications when clients subscribe via `subscriptions/listen` (`notifications.resourceSubscriptions`). Prompts are user-controlled templates—often surfaced as slash commands—accessed via `prompts/list` and `prompts/get` (neither list may vary per-connection). MCP partitions the JSON-RPC 2.0 server-error block (`-32000` to `-32099`) into `-32000` to `-32019` for legacy implementation-defined server errors (where `-32002` was used in 2025-11-25 and earlier for resource not found before 2026-07-28 standardized `-32602`) and `-32020` to `-32099` reserved for the MCP specification (`-32020` `HeaderMismatch`, `-32021` `MissingRequiredClientCapability`, `-32022` `UnsupportedProtocolVersion`, plus reserved 2025-11-25 code `-32042` for URL elicitation required). [6][14][25][26]"
    },
    {
     "label": "Elicitation, sampling, roots, and security considerations",
     "text_md": "Elicitation runs inside another call: Form mode takes structured data with an optional JSON schema, while URL mode is required for passwords, API keys, access tokens, and payment credentials so they do not pass through the client, and on resumption the server checks the echoed `requestState` before returning a final result. `sampling` requests model output via the client without server API keys, and `roots` are informational filesystem guidance that the protocol does not enforce. For trust, safety, and security, `serverInfo` is self-reported and unverified (clients SHOULD NOT use it to change behavior or make security decisions), and clients MUST consider tool annotations untrusted unless received from trusted servers. MCP servers MUST NOT accept tokens not explicitly issued for the server, and local `stdio` servers from untrusted sources carry arbitrary code execution risks. [20][21][22][24][27][28]"
    },
    {
     "label": "OAuth 2.1 resource metadata",
     "text_md": "Authorization is OPTIONAL; `stdio` SHOULD NOT follow it. Servers MUST publish `RFC 9728` Protected Resource Metadata, which clients use to discover the authorization server. `RFC 8707` requires `resource` on authorization and token requests, set to the canonical URI. `client_id` is an HTTPS URL when `client_id_metadata_document_supported` is set, and the document MUST include `client_id`, `client_name`, and `redirect_uris`. `RFC 7591` is deprecated as of 2026-07-28. Authorization servers SHOULD include the `iss` parameter in authorization responses per `RFC 9207`, and MCP clients MUST validate a present `iss` against the recorded issuer before redeeming the authorization code (`SEP-2468`). Client credentials are bound to the issuing authorization server: clients MUST key persisted credentials by the issuer identifier and MUST NOT reuse them with a different authorization server (`SEP-2352`). [6][19][23][29]"
    }
   ]
  }
 ],
 "v05_diagram": {
  "title": "Client-host-server architecture",
  "heading": "Client-host-server architecture",
  "mermaid": "flowchart LR\n  subgraph Host[\"Host application\"]\n    Coord[\"Coordinator: consent, auth, context\"]\n    C1[\"Client 1\"]\n    C2[\"Client 2\"]\n    Coord --> C1\n    Coord --> C2\n  end\n  S1[\"Server: local process\"]\n  S2[\"Server: remote service\"]\n  C1 <-->|\"JSON-RPC, 1:1\"| S1\n  C2 <-->|\"JSON-RPC, 1:1\"| S2",
  "caption_md": "A host application creates and manages multiple clients, each with a `1:1` relationship to one server. Those servers can be local processes or remote services. MCP is a stateless protocol built on `JSON-RPC`: every request is self-contained and carries its own protocol version and capabilities. [18]"
 },
 "v05_wire_artifact": {
  "title": "server/discover request and response (2026-07-28)",
  "heading": "server/discover request and response (2026-07-28)",
  "lang": "json",
  "code": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": \"discover-1\",\n  \"method\": \"server/discover\",\n  \"params\": {\n    \"_meta\": {\n      \"io.modelcontextprotocol/protocolVersion\": \"2026-07-28\",\n      \"io.modelcontextprotocol/clientInfo\": {\n        \"name\": \"ExampleClient\",\n        \"version\": \"1.0.0\"\n      },\n      \"io.modelcontextprotocol/clientCapabilities\": {}\n    }\n  }\n}\n\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": \"discover-1\",\n  \"result\": {\n    \"resultType\": \"complete\",\n    \"supportedVersions\": [\"2026-07-28\"],\n    \"capabilities\": {\n      \"tools\": {},\n      \"resources\": {}\n    },\n    \"_meta\": {\n      \"io.modelcontextprotocol/serverInfo\": {\n        \"name\": \"ExampleServer\",\n        \"version\": \"1.0.0\"\n      }\n    },\n    \"instructions\": \"This server provides weather and resource utilities.\",\n    \"ttlMs\": 3600000,\n    \"cacheScope\": \"public\"\n  }\n}",
  "caption_md": "`server/discover` request and response (servers MUST implement `server/discover`; clients MAY skip it before sending other requests). The result carries protocol version `2026-07-28`, capabilities, and identity in `_meta`, with `ttlMs` and `cacheScope`, in place of the legacy `initialize` handshake. [20]"
 },
 "v05_counterparts": {
  "classic_analogues": [
   {
    "name": "JSON-RPC 2.0 Specification",
    "spec_or_rfc": "JSON-RPC 2.0",
    "relation_type": "profiles_classic",
    "relation_label": "Profiles classic standard",
    "delta_md": "Profiles JSON-RPC 2.0 over stdio or Streamable HTTP POST with stateless per-request version and capability metadata in `_meta`. [6][14]"
   },
   {
    "name": "Language Server Protocol (LSP)",
    "spec_or_rfc": "LSP",
    "relation_type": "analogous_to_classic",
    "relation_label": "Analogous to classic standard",
    "delta_md": "Adapts LSP's reusable client-server architecture from IDE language intelligence to AI host integration with tools, resources, and prompts. [1]"
   }
  ],
  "agentic_peers": [
   {
    "target_id": "a2a",
    "target_name": "Agent2Agent Protocol (A2A)",
    "relation_type": "complements",
    "relation_label": "Complements",
    "delta_md": "A2A delegates multi-turn tasks between opaque peer agents, whereas MCP connects a host client to server tools and resources. [1]"
   },
   {
    "target_id": "webmcp",
    "target_name": "WebMCP",
    "relation_type": "peer_alternative",
    "relation_label": "Peer alternative",
    "delta_md": "WebMCP registers page-scoped tools on `document.modelContext` in browser JavaScript, whereas MCP connects hosts to stdio or HTTP servers. [4][5][30]"
   },
   {
    "target_id": "mcp-apps",
    "target_name": "MCP Apps",
    "relation_type": "has_component",
    "relation_label": "Has component",
    "delta_md": "SEP-1865 extension declaring interactive `ui://` resources linked to tools for bidirectional host-iframe communication. [31]"
   },
   {
    "target_id": "mcp-registry",
    "target_name": "Official MCP Registry",
    "relation_type": "has_component",
    "relation_label": "Has component",
    "delta_md": "Centralized preview metadata index publishing `server.json` records for public MCP packages and remote server URLs. [15]"
   },
   {
    "target_id": "ag-ui",
    "target_name": "Agent-User Interaction Protocol (AG-UI)",
    "relation_type": "complements",
    "relation_label": "Complements",
    "delta_md": "AG-UI streams agent-to-frontend UI state events over HTTP, whereas MCP connects the backend agent host to tool servers. [1]"
   },
   {
    "target_id": "anthropic-agent-skills-format",
    "target_name": "Agent Skills",
    "relation_type": "complements",
    "relation_label": "Complements",
    "delta_md": "Packages filesystem `SKILL.md` workflow instructions, which MCP also exposes dynamically through the optional Skills over MCP extension. [1]"
   }
  ]
 },
 "v05_adoption": {
  "visible": true,
  "empty_state_note_md": null,
  "scope_note_md": "Selected verified implementations (22 probed or cited examples across 4 tables; non-exhaustive — see [Ecosystem censuses](#ecosystem-censuses) below for ecosystem-wide totals).",
  "side_a": {
   "visible": true,
   "heading": "MCP Servers (Remote Endpoints & Local Packages)",
   "col4_header": "Transport, Capabilities & Scope",
   "note_md": "HTTP 200 and HTTP 401 probe responses and vendor documentation establish endpoint presence or declared support as of the stated check date rather than verified 2026-07-28 wire conformance. [7]",
   "rows": [
    {
     "actor": "Hugging Face",
     "role": "Remote MCP server",
     "status": "Live (HTTP 200)",
     "status_display": "Live (HTTP 200) · checked 2026-10-30",
     "col4_md": "Streamable HTTP at `https://huggingface.co/mcp` returning `2026-07-28`, `tools`, `resources`, and `io.modelcontextprotocol/skills`.",
     "source_md": "[huggingface.co/mcp](https://huggingface.co/mcp) [32] · [HF Hub MCP docs](https://huggingface.co/docs/hub/agents-mcp) [33]"
    },
    {
     "actor": "Cloudflare Docs",
     "role": "Remote MCP server",
     "status": "Live (HTTP 200)",
     "status_display": "Live (HTTP 200) · checked 2026-10-30",
     "col4_md": "Streamable HTTP at `https://docs.mcp.cloudflare.com/mcp` (`docs-ai-search` `0.5.0`) advertising `2026-07-28`, `tools`, and `prompts`.",
     "source_md": "[docs.mcp.cloudflare.com/mcp](https://docs.mcp.cloudflare.com/mcp) [34] · [Cloudflare MCP servers](https://developers.cloudflare.com/agents/model-context-protocol/cloudflare/servers-for-cloudflare/) [35]"
    },
    {
     "actor": "GitHub",
     "role": "Remote & local MCP server",
     "status": "Live (HTTP 401)",
     "status_display": "Live (HTTP 401) · checked 2026-10-30",
     "col4_md": "Remote HTTP server at `https://api.githubcopilot.com/mcp/` with OAuth `resource_metadata` challenge and Go `stdio` server.",
     "source_md": "[api.githubcopilot.com/mcp/](https://api.githubcopilot.com/mcp/) [36] · [github/github-mcp-server](https://github.com/github/github-mcp-server) [37]"
    },
    {
     "actor": "Stripe",
     "role": "Remote & local MCP server",
     "status": "Live (HTTP 401)",
     "status_display": "Live (HTTP 401) · checked 2026-10-30",
     "col4_md": "Remote server at `https://mcp.stripe.com` with OAuth `resource_metadata` challenge, Agent API keys, and `missing_api_key` error.",
     "source_md": "[mcp.stripe.com](https://mcp.stripe.com) [38] · [Stripe MCP docs](https://docs.stripe.com/mcp) [39]"
    },
    {
     "actor": "Linear",
     "role": "Remote MCP server",
     "status": "Live (HTTP 401)",
     "status_display": "Live (HTTP 401) · checked 2026-10-30",
     "col4_md": "Streamable HTTP at `https://mcp.linear.app/mcp` with OAuth 2.1 `resource_metadata` challenge and `https://mcp.linear.app/mcp/readonly`.",
     "source_md": "[mcp.linear.app/mcp](https://mcp.linear.app/mcp) [40] · [Linear MCP docs](https://linear.app/docs/mcp) [41]"
    },
    {
     "actor": "Atlassian Rovo",
     "role": "Remote MCP server",
     "status": "Listed",
     "status_display": "Listed · as of 2026-09-09",
     "col4_md": "Registry entry `com.atlassian/atlassian-mcp-server` (`2.0.0`) advertising `streamable-http` at `https://mcp.atlassian.com/v2/mcp` and `https://mcp.atlassian.com/v1/mcp/authv2`.",
     "source_md": "[MCP Registry (v2.0.0)](https://registry.modelcontextprotocol.io/v0.1/servers/com.atlassian%2Fatlassian-mcp-server/versions/2.0.0) [42]"
    },
    {
     "actor": "Notion",
     "role": "Remote MCP server",
     "status": "Listed",
     "status_display": "Listed · as of 2025-09-11",
     "col4_md": "Registry entry `com.notion/mcp` (`1.0.1`) advertising `streamable-http` (`https://mcp.notion.com/mcp`) and `sse` (`https://mcp.notion.com/sse`).",
     "source_md": "[MCP Registry (v1.0.1)](https://registry.modelcontextprotocol.io/v0.1/servers/com.notion%2Fmcp/versions/1.0.1) [43]"
    },
    {
     "actor": "Microsoft Playwright",
     "role": "Local MCP server",
     "status": "Listed",
     "status_display": "Listed · as of 2026-09-18",
     "col4_md": "Registry entry `io.github.microsoft/playwright-mcp` (`0.0.82`) distributing npm package `@playwright/mcp` over local `stdio`.",
     "source_md": "[MCP Registry (v0.0.82)](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.microsoft%2Fplaywright-mcp/versions/0.0.82) [44]"
    }
   ]
  },
  "side_b": {
   "visible": true,
   "heading": "AI Host Applications & IDEs",
   "col4_header": "Transport, Capabilities & Scope",
   "note_md": "Vendor documentation and release notes establish declared client and harness support rather than verified 2026-07-28 wire conformance. [7]",
   "rows": [
    {
     "actor": "Claude",
     "role": "AI host application",
     "status": "Partial",
     "status_display": "Partial · as of 2026-10-30",
     "col4_md": "Remote MCP connectors (OAuth or headers) and local `claude_desktop_config.json` servers; stateless `2026-07-28` rollout in progress.",
     "source_md": "[Claude remote MCP connectors](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) [45] · [Bringing MCP 2026-07-28 to Claude](https://claude.com/resources/articles/bringing-mcp-2026-07-28-to-claude) [46]"
    },
    {
     "actor": "Visual Studio Code",
     "role": "IDE host",
     "status": "Supported",
     "status_display": "Supported · as of 2025-06-12",
     "col4_md": "Supports `streamable HTTP` and local transports, OAuth resource-server authorization, `tools`, `prompts`, `resources`, and `sampling`.",
     "source_md": "[VS Code full MCP spec support](https://code.visualstudio.com/blogs/2025/06/12/full-mcp-spec-support) [47]"
    },
    {
     "actor": "Cursor",
     "role": "IDE host",
     "status": "Supported",
     "status_display": "Supported · as of 2025-06-04",
     "col4_md": "Supports one-click MCP server installation and OAuth authentication in Cursor `1.0`.",
     "source_md": "[Cursor 1.0 changelog](https://cursor.com/changelog/1-0) [48]"
    },
    {
     "actor": "Gemini CLI",
     "role": "CLI coding agent",
     "status": "Supported",
     "status_display": "Supported · as of 2025-06-25",
     "col4_md": "Open-source (`Apache 2.0`) terminal agent with built-in Model Context Protocol client support and bundled extensions.",
     "source_md": "[Introducing Gemini CLI](https://blog.google/innovation-and-ai/technology/developers-tools/introducing-gemini-cli-open-source-ai-agent/) [49]"
    },
    {
     "actor": "Microsoft Foundry",
     "role": "Enterprise agent platform",
     "status": "Supported (release announcement)",
     "status_display": "Supported (release announcement) · as of 2026-07-28",
     "col4_md": "Release announcement claims unified MCP endpoint with stateless `2026-07-28` and `Tasks`; no independent feature-matrix verification.",
     "source_md": "[MCP 2026-07-28 release blog](https://blog.modelcontextprotocol.io/posts/2026-07-28/) [10]"
    }
   ]
  },
  "additional_tables": [
   {
    "visible": true,
    "heading": "Registries, Directories & Discovery Indexes",
    "col4_header": "Catalog & ingestion model",
    "note_md": "Discovery catalogs and sub-registries that index `server.json` metadata or crawl public MCP server packages (see also [MCP Registry](/protocols/mcp-registry/)). [15][50]",
    "rows": [
     {
      "actor": "Official MCP Registry",
      "role": "Central metadata repository",
      "status": "Supported (preview)",
      "status_display": "Supported (preview) · checked 2026-10-30",
      "col4_md": "Official `server.json` catalog (`GET /v0.1/servers`) at `https://registry.modelcontextprotocol.io` for downstream aggregators.",
      "source_md": "[The MCP Registry](https://modelcontextprotocol.io/registry/about) [15] · [MCP Registry Aggregators](https://modelcontextprotocol.io/registry/registry-aggregators) [50]"
     },
     {
      "actor": "GitHub MCP Registry",
      "role": "Sub-registry & IDE directory",
      "status": "Supported",
      "status_display": "Supported · as of 2025-09-16",
      "col4_md": "Ingests servers self-published to the OSS MCP Community Registry into GitHub and VS Code.",
      "source_md": "[Meet the GitHub MCP Registry](https://github.blog/ai-and-ml/github-copilot/meet-the-github-mcp-registry-the-fastest-way-to-discover-mcp-servers/) [51]"
     },
     {
      "actor": "Glama",
      "role": "Aggregator & sandbox index",
      "status": "Supported",
      "status_display": "Supported · checked 2026-10-30",
      "col4_md": "Ingests the official registry and layers sandbox schema captures, behavioral analysis, and TDQS scores.",
      "source_md": "[Glama MCP methodology](https://glama.ai/mcp/methodology) [52]"
     },
     {
      "actor": "PulseMCP",
      "role": "Sub-registry & directory",
      "status": "Partial",
      "status_display": "Partial · as of 2025-09-09",
      "col4_md": "Ingests the Official MCP Registry as a downstream sub-registry supplemented with web indexing; live directory temporarily pauses new submissions.",
      "source_md": "[PulseMCP Work With Us](https://www.pulsemcp.com/work-with-us) [53] · [PulseMCP Official Registry launch](https://www.pulsemcp.com/posts/newsletter-claude-code-competition-ai-fundraising-abounds-mcp-registry-launch) [54] · [PulseMCP server directory](https://www.pulsemcp.com/servers/) [55]"
     },
     {
      "actor": "MCP Census",
      "role": "Trust-layer census over registries",
      "status": "Listed",
      "status_display": "Listed · as of 2026-11-04",
      "col4_md": "Trust layer returning PASS, REVIEW, BLOCK, or UNKNOWN; `57,777` rows.",
      "source_md": "[MCP registries compared](https://mcpcensus.com/compare/mcp-registries) [56]"
     }
    ]
   },
   {
    "visible": true,
    "heading": "SDKs, Runtimes & Developer Tooling",
    "col4_header": "Supported languages / packaging",
    "note_md": "Reference protocol SDKs, serverless hosting frameworks, local archive formats, and conformance debuggers used to build and test MCP clients and servers. [57]",
    "rows": [
     {
      "actor": "Official MCP SDKs",
      "role": "Client & server SDKs",
      "status": "Partial",
      "status_display": "Partial · as of 2026-10-30",
      "col4_md": "Current `Tier 1` roster lists 6 official SDKs (`TypeScript`, `Python`, `C#`, `Go`, `Rust`, and `Ruby`), plus Tier 2 `Java` and Tier 3 `Kotlin`, `Swift`, and `PHP` (July 2026 release covered `TypeScript`, `Python`, `Go`, `C#`, and `Rust` beta). The official Ruby SDK reached Tier 1 on 2026-10-30, with full support for the 2026-07-28 specification and a 100% conformance pass rate across both scored spec versions.",
      "source_md": "[Official MCP SDKs](https://modelcontextprotocol.io/docs/sdk) [57] · [MCP 2026-07-28 release blog](https://blog.modelcontextprotocol.io/posts/2026-07-28/) [10] · [MCP Ruby SDK versions](https://ruby.sdk.modelcontextprotocol.io/protocol-versions/) [13] · [Ruby SDK reaches Tier 1](https://blog.modelcontextprotocol.io/posts/ruby-sdk-tier-1/) [9]"
     },
     {
      "actor": "MCP Inspector",
      "role": "Developer testing client",
      "status": "Supported",
      "status_display": "Supported · as of 2026-07-28",
      "col4_md": "Reference `@modelcontextprotocol/inspector` package providing Web, `--cli`, and `--tui` clients across `stdio` and HTTP for `2026-07-28`.",
      "source_md": "[MCP Inspector docs](https://modelcontextprotocol.io/docs/tools/inspector) [58]"
     },
     {
      "actor": "Cloudflare Agents SDK",
      "role": "Server & client runtime",
      "status": "Supported",
      "status_display": "Supported · as of 2026-10-27",
      "col4_md": "Workers runtime supporting stateless `2026-07-28` MCP servers, `Streamable HTTP`, `insufficientScope()` OAuth challenges, and `MCPClientManager`.",
      "source_md": "[Cloudflare Agents MCP docs](https://developers.cloudflare.com/agents/model-context-protocol/) [59] · [MCP 2026-07-28 blog](https://blog.modelcontextprotocol.io/posts/2026-07-28/) [10]"
     },
     {
      "actor": "MCP Bundles (MCPB)",
      "role": "Local server bundle format",
      "status": "Supported",
      "status_display": "Supported · checked 2026-10-30",
      "col4_md": "Zip archive format (`.mcpb`, formerly `.dxt`) bundling a local MCP server with `manifest.json` via `@anthropic-ai/mcpb`.",
      "source_md": "[modelcontextprotocol/mcpb](https://raw.githubusercontent.com/modelcontextprotocol/mcpb/main/README.md) [60]"
     }
    ]
   }
  ],
  "censuses": [
   {
    "label": "One Year of MCP (2025-11-25)",
    "as_of": "2025-11-25",
    "value_md": "Close to 2,000 server entries indexed in the Official MCP Registry as of November 25, 2025, representing 407% growth from the initial batch onboarded at the registry's September 2025 launch. [61]"
   },
   {
    "label": "Anthropic AAIF donation announcement (2025-12-09)",
    "as_of": "2025-12-09",
    "value_md": "More than 10,000 active public MCP servers published across the ecosystem as of December 9, 2025, when Anthropic donated MCP to the Linux Foundation's Agentic AI Foundation. [62]"
   },
   {
    "label": "MCP 2026-07-28 release announcement",
    "as_of": "2026-07-28",
    "value_md": "Close to 500 million monthly downloads across official Tier 1 MCP SDKs as of July 28, 2026, with both the TypeScript and Python SDKs surpassing 1 billion total downloads. [10]"
   },
   {
    "label": "MCP registries compared (read 4 November 2026)",
    "as_of": "2026-11-04",
    "value_md": "On 4 November 2026 the MCP Census comparison records Glama at 115,336 servers (Remote 45,340, Local 43,442), its own census at 57,777 server rows, PulseMCP at 21,602 servers, and the Docker MCP Catalog at 300+ servers. Smithery's API, Connect, accounts, CLI, and proxy URLs stopped on 31 October 2026. [56]"
   },
   {
    "label": "State of MCP Server Development (LocalCan, checked 14 October 2026)",
    "as_of": "2026-10-14",
    "value_md": "LocalCan's census, measured on 14 October 2026, counts 43,012 active servers in the official MCP Registry. Across that set, 59.6% are remote-only, 34.6% ship only as a package, 4.7% offer both, and 1.1% list neither. [63]"
   },
   {
    "label": "MCP server directories (Apideck, 31 October 2026)",
    "as_of": "2026-10-31",
    "value_md": "Apideck's 31 October 2026 table counts the official registry API at 53,541 servers, Glama at 113,204 servers and 40,151 connectors, PulseMCP at 21,614, MCP Market at 50,999, and the Cursor Marketplace at about 490 plugins. [64]"
   },
   {
    "label": "MCP-Eco (arXiv HTML, Parquet export 2026-06-23)",
    "as_of": "2026-06-23",
    "value_md": "The MCP-Eco frozen release, exported to Parquet on 2026-06-23, covers 78,302 candidate server projects. Its crawler queries the official MCP registry, Glama, Smithery, and PulseMCP, and reads MCP.so listing pages found through sitemaps. [65]"
   }
  ],
  "footer_md": null
 },
 "v05_see_also": [
  {
   "target_id": "mcp-server-cards",
   "target_name": "MCP Server Cards",
   "relation_label": "Has component",
   "delta": "SEP-2127 is the MCP extension whose Server Card is read with `GET <endpoint>/server-card` before the client connects, and the card omits the tools, resources, and prompts the live server still provides.",
   "item_md": "**[MCP Server Cards](/protocols/mcp-server-cards/)** (Has component) — SEP-2127 is the MCP extension whose Server Card is read with `GET <endpoint>/server-card` before the client connects, and the card omits the tools, resources, and prompts the live server still provides."
  },
  {
   "item_md": "**Depended on by:** [Ad Context Protocol (AdCP)](/protocols/adcp/), [Agentic Real Time Framework](/protocols/artf/), [Coral Protocol (CoralOS)](/protocols/coral-protocol/), [Discovery of Model Context Protocol Servers via DNS TXT Records](/protocols/mcp-dns-discovery/), [KYA-OS (Know Your Agent Operating System)](/protocols/kya-os/), [OpenAI Apps SDK manifests](/protocols/openai-apps-sdk-manifests/), [Per-Call Proof for Local Tool Invocation by AI Agents](/protocols/local-tool-call-proof/)"
  },
  {
   "item_md": "**Peer alternatives:** [Agent Protocol](/protocols/agent-protocol-aief/), [agents.json](/protocols/agents-json/)"
  },
  {
   "item_md": "**Complements:** [A2UI (Agent to UI) Protocol](/protocols/a2ui/), [Agent Client Protocol](/protocols/agent-client-protocol/), [Agentic Commerce Protocol](/protocols/agentic-commerce-protocol/), [AGENTS.md](/protocols/agents-md/), [ERC-8004: Trustless Agents](/protocols/erc-8004/), [L402](/protocols/l402/), [OAuth Client ID Metadata Document](/protocols/oauth-cimd/), [OAuth Protected Resource and Authorization Server Metadata (as used for agent authorization)](/protocols/oauth-metadata-for-agents/), [Open Responses](/protocols/open-responses/), [Universal Commerce Protocol (UCP)](/protocols/ucp/), and [32 more in the protocol directory](/protocols/)"
  },
  {
   "item_md": "**[Act protocols](/category/act/)** — Category index for `act` standards."
  }
 ],
 "v05_compiled_md": "---\nid: mcp\ntitle: \"Model Context Protocol\"\ntier: flagship\nlifecycle_status: active\ncategory: act\nform: endpoint\nwire_archetype: harnesses_rpc_ui\nspec_url: https://modelcontextprotocol.io/specification/2026-07-28\nlast_checked: 2026-11-11\n---\n\n# Model Context Protocol\n\n**Category:** [Act](/category/act/) (`act`) · **Form:** Endpoint (`endpoint`) · **Last checked:** 2026-11-11\n\n> *This article covers the Model Context Protocol (MCP) for host-to-server context and tool exchange. For the browser DOM API, see [WebMCP](/protocols/webmcp/); for server discovery, see [Official MCP Registry](/protocols/mcp-registry/) and [MCP Server Cards](/protocols/mcp-server-cards/). [1]*\n\n> **In brief:** MCP is a universal connector standard that lets AI applications (such as Claude, VS Code, or Cursor) plug into external data sources and tools (such as GitHub, Stripe, or Notion) without custom point-to-point integration code. Instead of building a bespoke connector for every AI host and external service, developers expose one MCP server with standardized `tools`, `resources`, and `prompts` that any MCP-compatible host can call over local `stdio` or HTTP. [1][2]\n\nThe **Model Context Protocol** (**MCP**) is an open protocol that uses `JSON-RPC 2.0` messages to connect LLM host applications with servers that provide context and capabilities. Anthropic introduced it on 2024-11-25 as a universal, open standard for connecting AI systems with data sources. The Linux Foundation's Agentic AI Foundation (AAIF) now stewards MCP as a founding project, alongside Block's goose and OpenAI's AGENTS.md. [1][2][3] On `stdio`, the client launches the MCP server as a subprocess; the server reads JSON-RPC messages from `stdin` and writes JSON-RPC messages to `stdout`, delimited by newlines. On Streamable HTTP, every JSON-RPC request is its own HTTP `POST` to a single MCP endpoint, and the server answers with either `Content-Type: application/json` or `Content-Type: text/event-stream`. [4][5] The 2025-11-25 revision serves as the legacy Streamable HTTP session baseline (succeeding 2025-03-26 and 2024-11-05), while the 2026-07-28 revision retires the `initialize` / `notifications/initialized` handshake, `Mcp-Session-Id` headers, and standalone GET SSE streams. [5][6][7] A roadmap published on 2026-08-22 organizes later specification work into five priority areas, picking up server-initiated events, result type improvements, and agent identity, together with HTTP-native transport and SDK developer experience. [8] On 2026-10-30 the official Ruby SDK reached Tier 1, with full support for the 2026-07-28 specification and a 100% conformance pass rate across both scored spec versions. [9] The Ruby SDK team has committed to supporting the next MCP specification, targeted for late March 2027, by its release date. [9]\n\n| Field | Value |\n| :--- | :--- |\n| **Category** | [Act](/category/act/) (`act`) |\n| **Form** | Endpoint (`endpoint`) |\n| **Originated by** | Anthropic; co-invented by David Soria Parra and Justin Spahr-Summers (open-sourced November 2024) [3][10][11] |\n| **Governed by** | Agentic AI Foundation (AAIF) under the Linux Foundation since 2025-12-09; Lead Maintainers hold final decision authority [3][11] |\n| **Track** | Foundation / Consortium Specification (`linux-foundation`); founding project of the Agentic AI Foundation [3] |\n| **Status** | Active open standard; current stateless specification version `2026-07-28` is ready for use; next specification targeted for late March 2027 [9][12] |\n| **Version** | `2026-07-28` (stateless core); prior handshake revisions: `2025-11-25`, `2025-06-18`, `2025-03-26`, and `2024-11-05`; next specification targeted for late March 2027 [1][9][13] |\n| **Message format** | JSON-RPC 2.0 requests, responses, and notifications (`application/json` and `text/event-stream`) [5][14] |\n| **Transports** | `stdio` (newline-delimited JSON-RPC over subprocess streams) and Streamable HTTP (`POST` to one MCP endpoint) [4][5] |\n| **Specification** | [Model Context Protocol Specification (2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28) [1] |\n| **Found at** | Operator endpoint URL or `server.json` in [Official MCP Registry](/protocols/mcp-registry/); optional [MCP Server Card](/protocols/mcp-server-cards/) at any unreserved URI (with `<streamable-http-url>/server-card` reserved as the recommended location) [15][16] |\n| **Licence** | Apache License 2.0 for outbound code and specifications; CC BY 4.0 for non-specification documentation [11] |\n\n**Contents**\n1. [Problem and scope](#problem-and-scope)\n2. [Server discovery and stateless transports on stdio and Streamable HTTP](#server-discovery-and-stateless-transports-on-stdio-and-streamable-http)\n3. [Server primitives, client primitives, OAuth 2.1, and security considerations](#server-primitives-client-primitives-oauth-2-1-and-security-considerations)\n4. [Counterparts and related standards](#counterparts-and-related-standards)\n5. [Adoption and ecosystem](#adoption-and-ecosystem)\n6. [See also](#see-also)\n7. [References](#references)\n\n---\n\n## Problem and scope\n\nBefore MCP, connecting AI assistants to external content repositories and legacy systems required a custom integration for every data source, isolating models behind information silos. Even after MCP standardized JSON-RPC host-to-server connectors, revisions through 2025-11-25 opened a stateful session via an `initialize` handshake and `Mcp-Session-Id` header, preventing follow-up requests from landing freely on any instance behind a plain round-robin load balancer without shared storage. [2][6][7][10] Revision 2026-07-28 puts `io.modelcontextprotocol/protocolVersion` and `io.modelcontextprotocol/clientCapabilities` in `_meta` on every JSON-RPC request, and Streamable HTTP repeats that version in `MCP-Protocol-Version`. A server that needs more input during `tools/call`, `resources/read`, or `prompts/get` returns `InputRequiredResult` with `input_required` instead of starting its own JSON-RPC request. [5][6][17] Servers remain isolated from the full conversation and from other connected servers, while optional protocol extensions require explicit opt-in from both client and server. HTTP authorization is optional and uses OAuth 2.1 Protected Resource Metadata (`RFC 9728`) and Resource Indicators (`RFC 8707`), whereas `stdio` retrieves credentials from the environment. [1][18][19]\n\n### Client-host-server architecture\n\n```mermaid\nflowchart LR\n  subgraph Host[\"Host application\"]\n    Coord[\"Coordinator: consent, auth, context\"]\n    C1[\"Client 1\"]\n    C2[\"Client 2\"]\n    Coord --> C1\n    Coord --> C2\n  end\n  S1[\"Server: local process\"]\n  S2[\"Server: remote service\"]\n  C1 <-->|\"JSON-RPC, 1:1\"| S1\n  C2 <-->|\"JSON-RPC, 1:1\"| S2\n```\n\n*A host application creates and manages multiple clients, each with a `1:1` relationship to one server. Those servers can be local processes or remote services. MCP is a stateless protocol built on `JSON-RPC`: every request is self-contained and carries its own protocol version and capabilities. [18]*\n\n### server/discover request and response (2026-07-28)\n\n```json\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": \"discover-1\",\n  \"method\": \"server/discover\",\n  \"params\": {\n    \"_meta\": {\n      \"io.modelcontextprotocol/protocolVersion\": \"2026-07-28\",\n      \"io.modelcontextprotocol/clientInfo\": {\n        \"name\": \"ExampleClient\",\n        \"version\": \"1.0.0\"\n      },\n      \"io.modelcontextprotocol/clientCapabilities\": {}\n    }\n  }\n}\n\n{\n  \"jsonrpc\": \"2.0\",\n  \"id\": \"discover-1\",\n  \"result\": {\n    \"resultType\": \"complete\",\n    \"supportedVersions\": [\"2026-07-28\"],\n    \"capabilities\": {\n      \"tools\": {},\n      \"resources\": {}\n    },\n    \"_meta\": {\n      \"io.modelcontextprotocol/serverInfo\": {\n        \"name\": \"ExampleServer\",\n        \"version\": \"1.0.0\"\n      }\n    },\n    \"instructions\": \"This server provides weather and resource utilities.\",\n    \"ttlMs\": 3600000,\n    \"cacheScope\": \"public\"\n  }\n}\n```\n\n*`server/discover` request and response (servers MUST implement `server/discover`; clients MAY skip it before sending other requests). The result carries protocol version `2026-07-28`, capabilities, and identity in `_meta`, with `ttlMs` and `cacheScope`, in place of the legacy `initialize` handshake. [20]*\n\n---\n\n## Server discovery and stateless transports on stdio and Streamable HTTP\n\nRevision 2026-07-28 replaces the stateful `initialize` session used in 2025-11-25 and earlier with stateless per-request metadata. There is no negotiation handshake: every request declares its protocol version in `_meta` (and, on HTTP, in `MCP-Protocol-Version`) alongside `_meta.io.modelcontextprotocol/clientCapabilities`, and the server accepts or rejects each request independently. Servers advertise supported capabilities and optional `extensions` such as `io.modelcontextprotocol/tasks` through `server/discover`. [7][18]\n\n- **Discover and version mismatch:** Servers MUST implement `server/discover` (returning `supportedVersions`). Clients MAY skip `server/discover` and handle `UnsupportedProtocolVersionError` (for example, `\"supported\": [ \"2026-07-28\", \"2025-11-25\" ]`), then SHOULD retry a mutually supported version. On `stdio`, a dual-era client SHOULD send `server/discover` before `initialize`. [7][20]\n- **Streamable HTTP request:** One MCP endpoint supports `POST`. Each JSON-RPC message is its own HTTP POST. Accept MUST list `application/json` and `text/event-stream`. The body is one request or notification, never a response. `MCP-Protocol-Version` MUST match `io.modelcontextprotocol/protocolVersion` in `_meta`. `Mcp-Method` names the method; `Mcp-Name` carries `params.name` or `params.uri` for `tools/call`, `resources/read`, and `prompts/get`. [5]\n- **JSON, SSE, retired sessions, and 2026-07-28 breaking changes:** A request returns `Content-Type: application/json` or `Content-Type: text/event-stream`; clients MUST support both, and SSE stays scoped to that POST until the final response. Accepted notifications return `202 Accepted` with no body. Revision 2026-07-28 removes `Mcp-Session-Id` sessions and standalone GET SSE streams so cross-call state uses explicit server-minted handles passed as ordinary tool arguments; it also replaces `resources/subscribe` and `resources/unsubscribe` with `subscriptions/listen`, removes `ping`, `logging/setLevel`, `notifications/roots/list_changed`, and `Last-Event-ID` SSE stream resumability, and requires a `resultType` discriminator (`complete` vs. `input_required` in `InputRequiredResult`). [5][6]\n- **`stdio` subprocess framing:** `stdio` launches the server as a subprocess. JSON-RPC on `stdin` and `stdout` is one newline-delimited message, with no embedded newlines, and `stdout` carries nothing else. Logs MAY use `stderr` and are not an error signal. `stdio` SHOULD NOT follow the HTTP authorization specification; credentials come from the environment. [4][19]\n\n---\n\n## Server primitives, client primitives, OAuth 2.1, and security considerations\n\nServers expose resources, prompts, and tools; clients may expose elicitation, `sampling`, and `roots`. Revision 2026-07-28 deprecates `sampling`, `roots`, and `logging` (`SEP-2577`), along with OAuth Dynamic Client Registration (`PR #2858`), with earliest removal in the first revision released on or after 2027-07-28: implementations SHOULD replace `sampling` with direct LLM provider APIs and pass directories or files via tool parameters or resource URIs instead of `roots`. Server-to-client calls (`roots/list`, `sampling/createMessage`, and `elicitation/create`) MUST use the Multi Round-Trip Requests (`MRTR`) pattern rather than server-initiated requests. [6][14][17][21][22][23]\n\n- **Model-controlled tools:** Tools are model-controlled, and a person SHOULD be able to deny a call. Servers declare the `tools` capability. `tools/list` MUST NOT vary per-connection, though it MAY follow the request's authorization. `tools/call` MAY return `InputRequiredResult` with `input_required` when the tool needs more input. [24]\n- **Resources, prompts, and JSON-RPC 2.0 server error codes:** Resources are application-driven and identified by a URI; clients call `resources/list` and `resources/read`, while servers that advertise the `resources` `listChanged` or `subscribe` capability flags deliver resource-specific update notifications when clients subscribe via `subscriptions/listen` (`notifications.resourceSubscriptions`). Prompts are user-controlled templates—often surfaced as slash commands—accessed via `prompts/list` and `prompts/get` (neither list may vary per-connection). MCP partitions the JSON-RPC 2.0 server-error block (`-32000` to `-32099`) into `-32000` to `-32019` for legacy implementation-defined server errors (where `-32002` was used in 2025-11-25 and earlier for resource not found before 2026-07-28 standardized `-32602`) and `-32020` to `-32099` reserved for the MCP specification (`-32020` `HeaderMismatch`, `-32021` `MissingRequiredClientCapability`, `-32022` `UnsupportedProtocolVersion`, plus reserved 2025-11-25 code `-32042` for URL elicitation required). [6][14][25][26]\n- **Elicitation, sampling, roots, and security considerations:** Elicitation runs inside another call: Form mode takes structured data with an optional JSON schema, while URL mode is required for passwords, API keys, access tokens, and payment credentials so they do not pass through the client, and on resumption the server checks the echoed `requestState` before returning a final result. `sampling` requests model output via the client without server API keys, and `roots` are informational filesystem guidance that the protocol does not enforce. For trust, safety, and security, `serverInfo` is self-reported and unverified (clients SHOULD NOT use it to change behavior or make security decisions), and clients MUST consider tool annotations untrusted unless received from trusted servers. MCP servers MUST NOT accept tokens not explicitly issued for the server, and local `stdio` servers from untrusted sources carry arbitrary code execution risks. [20][21][22][24][27][28]\n- **OAuth 2.1 resource metadata:** Authorization is OPTIONAL; `stdio` SHOULD NOT follow it. Servers MUST publish `RFC 9728` Protected Resource Metadata, which clients use to discover the authorization server. `RFC 8707` requires `resource` on authorization and token requests, set to the canonical URI. `client_id` is an HTTPS URL when `client_id_metadata_document_supported` is set, and the document MUST include `client_id`, `client_name`, and `redirect_uris`. `RFC 7591` is deprecated as of 2026-07-28. Authorization servers SHOULD include the `iss` parameter in authorization responses per `RFC 9207`, and MCP clients MUST validate a present `iss` against the recorded issuer before redeeming the authorization code (`SEP-2468`). Client credentials are bound to the issuing authorization server: clients MUST key persisted credentials by the issuer identifier and MUST NOT reuse them with a different authorization server (`SEP-2352`). [6][19][23][29]\n\n---\n\n## Counterparts and related standards\n\n### Classic web analogues\n\n| Standard | Spec / RFC | Relationship | Architectural Delta |\n| :--- | :--- | :--- | :--- |\n| **JSON-RPC 2.0 Specification** | `JSON-RPC 2.0` | Profiles classic standard | Profiles JSON-RPC 2.0 over stdio or Streamable HTTP POST with stateless per-request version and capability metadata in `_meta`. [6][14] |\n| **Language Server Protocol (LSP)** | `LSP` | Analogous to classic standard | Adapts LSP's reusable client-server architecture from IDE language intelligence to AI host integration with tools, resources, and prompts. [1] |\n\n### Agentic protocol peers\n\n| Protocol | Relationship | Architectural Delta |\n| :--- | :--- | :--- |\n| **[Agent2Agent Protocol (A2A)](/protocols/a2a/)** | Complements | A2A delegates multi-turn tasks between opaque peer agents, whereas MCP connects a host client to server tools and resources. [1] |\n| **[WebMCP](/protocols/webmcp/)** | Peer alternative | WebMCP registers page-scoped tools on `document.modelContext` in browser JavaScript, whereas MCP connects hosts to stdio or HTTP servers. [4][5][30] |\n| **[MCP Apps](/protocols/mcp-apps/)** | Has component | SEP-1865 extension declaring interactive `ui://` resources linked to tools for bidirectional host-iframe communication. [31] |\n| **[Official MCP Registry](/protocols/mcp-registry/)** | Has component | Centralized preview metadata index publishing `server.json` records for public MCP packages and remote server URLs. [15] |\n| **[Agent-User Interaction Protocol (AG-UI)](/protocols/ag-ui/)** | Complements | AG-UI streams agent-to-frontend UI state events over HTTP, whereas MCP connects the backend agent host to tool servers. [1] |\n| **[Agent Skills](/protocols/anthropic-agent-skills-format/)** | Complements | Packages filesystem `SKILL.md` workflow instructions, which MCP also exposes dynamically through the optional Skills over MCP extension. [1] |\n\n---\n\n## Adoption and ecosystem\n\n*Selected verified implementations (22 probed or cited examples across 4 tables; non-exhaustive — see [Ecosystem censuses](#ecosystem-censuses) below for ecosystem-wide totals).*\n\n### MCP Servers (Remote Endpoints & Local Packages)\n\nHTTP 200 and HTTP 401 probe responses and vendor documentation establish endpoint presence or declared support as of the stated check date rather than verified 2026-07-28 wire conformance. [7]\n\n| Actor | Role | Status | Transport, Capabilities & Scope | Source |\n| :--- | :--- | :--- | :--- | :--- |\n| **Hugging Face** | Remote MCP server | Live (HTTP 200) · checked 2026-10-30 | Streamable HTTP at `https://huggingface.co/mcp` returning `2026-07-28`, `tools`, `resources`, and `io.modelcontextprotocol/skills`. | [huggingface.co/mcp](https://huggingface.co/mcp) [32] · [HF Hub MCP docs](https://huggingface.co/docs/hub/agents-mcp) [33] |\n| **Cloudflare Docs** | Remote MCP server | Live (HTTP 200) · checked 2026-10-30 | Streamable HTTP at `https://docs.mcp.cloudflare.com/mcp` (`docs-ai-search` `0.5.0`) advertising `2026-07-28`, `tools`, and `prompts`. | [docs.mcp.cloudflare.com/mcp](https://docs.mcp.cloudflare.com/mcp) [34] · [Cloudflare MCP servers](https://developers.cloudflare.com/agents/model-context-protocol/cloudflare/servers-for-cloudflare/) [35] |\n| **GitHub** | Remote & local MCP server | Live (HTTP 401) · checked 2026-10-30 | Remote HTTP server at `https://api.githubcopilot.com/mcp/` with OAuth `resource_metadata` challenge and Go `stdio` server. | [api.githubcopilot.com/mcp/](https://api.githubcopilot.com/mcp/) [36] · [github/github-mcp-server](https://github.com/github/github-mcp-server) [37] |\n| **Stripe** | Remote & local MCP server | Live (HTTP 401) · checked 2026-10-30 | Remote server at `https://mcp.stripe.com` with OAuth `resource_metadata` challenge, Agent API keys, and `missing_api_key` error. | [mcp.stripe.com](https://mcp.stripe.com) [38] · [Stripe MCP docs](https://docs.stripe.com/mcp) [39] |\n| **Linear** | Remote MCP server | Live (HTTP 401) · checked 2026-10-30 | Streamable HTTP at `https://mcp.linear.app/mcp` with OAuth 2.1 `resource_metadata` challenge and `https://mcp.linear.app/mcp/readonly`. | [mcp.linear.app/mcp](https://mcp.linear.app/mcp) [40] · [Linear MCP docs](https://linear.app/docs/mcp) [41] |\n| **Atlassian Rovo** | Remote MCP server | Listed · as of 2026-09-09 | Registry entry `com.atlassian/atlassian-mcp-server` (`2.0.0`) advertising `streamable-http` at `https://mcp.atlassian.com/v2/mcp` and `https://mcp.atlassian.com/v1/mcp/authv2`. | [MCP Registry (v2.0.0)](https://registry.modelcontextprotocol.io/v0.1/servers/com.atlassian%2Fatlassian-mcp-server/versions/2.0.0) [42] |\n| **Notion** | Remote MCP server | Listed · as of 2025-09-11 | Registry entry `com.notion/mcp` (`1.0.1`) advertising `streamable-http` (`https://mcp.notion.com/mcp`) and `sse` (`https://mcp.notion.com/sse`). | [MCP Registry (v1.0.1)](https://registry.modelcontextprotocol.io/v0.1/servers/com.notion%2Fmcp/versions/1.0.1) [43] |\n| **Microsoft Playwright** | Local MCP server | Listed · as of 2026-09-18 | Registry entry `io.github.microsoft/playwright-mcp` (`0.0.82`) distributing npm package `@playwright/mcp` over local `stdio`. | [MCP Registry (v0.0.82)](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.microsoft%2Fplaywright-mcp/versions/0.0.82) [44] |\n\n### AI Host Applications & IDEs\n\nVendor documentation and release notes establish declared client and harness support rather than verified 2026-07-28 wire conformance. [7]\n\n| Actor | Role | Status | Transport, Capabilities & Scope | Source |\n| :--- | :--- | :--- | :--- | :--- |\n| **Claude** | AI host application | Partial · as of 2026-10-30 | Remote MCP connectors (OAuth or headers) and local `claude_desktop_config.json` servers; stateless `2026-07-28` rollout in progress. | [Claude remote MCP connectors](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) [45] · [Bringing MCP 2026-07-28 to Claude](https://claude.com/resources/articles/bringing-mcp-2026-07-28-to-claude) [46] |\n| **Visual Studio Code** | IDE host | Supported · as of 2025-06-12 | Supports `streamable HTTP` and local transports, OAuth resource-server authorization, `tools`, `prompts`, `resources`, and `sampling`. | [VS Code full MCP spec support](https://code.visualstudio.com/blogs/2025/06/12/full-mcp-spec-support) [47] |\n| **Cursor** | IDE host | Supported · as of 2025-06-04 | Supports one-click MCP server installation and OAuth authentication in Cursor `1.0`. | [Cursor 1.0 changelog](https://cursor.com/changelog/1-0) [48] |\n| **Gemini CLI** | CLI coding agent | Supported · as of 2025-06-25 | Open-source (`Apache 2.0`) terminal agent with built-in Model Context Protocol client support and bundled extensions. | [Introducing Gemini CLI](https://blog.google/innovation-and-ai/technology/developers-tools/introducing-gemini-cli-open-source-ai-agent/) [49] |\n| **Microsoft Foundry** | Enterprise agent platform | Supported (release announcement) · as of 2026-07-28 | Release announcement claims unified MCP endpoint with stateless `2026-07-28` and `Tasks`; no independent feature-matrix verification. | [MCP 2026-07-28 release blog](https://blog.modelcontextprotocol.io/posts/2026-07-28/) [10] |\n\n### Registries, Directories & Discovery Indexes\n\nDiscovery catalogs and sub-registries that index `server.json` metadata or crawl public MCP server packages (see also [MCP Registry](/protocols/mcp-registry/)). [15][50]\n\n| Actor | Role | Status | Catalog & ingestion model | Source |\n| :--- | :--- | :--- | :--- | :--- |\n| **Official MCP Registry** | Central metadata repository | Supported (preview) · checked 2026-10-30 | Official `server.json` catalog (`GET /v0.1/servers`) at `https://registry.modelcontextprotocol.io` for downstream aggregators. | [The MCP Registry](https://modelcontextprotocol.io/registry/about) [15] · [MCP Registry Aggregators](https://modelcontextprotocol.io/registry/registry-aggregators) [50] |\n| **GitHub MCP Registry** | Sub-registry & IDE directory | Supported · as of 2025-09-16 | Ingests servers self-published to the OSS MCP Community Registry into GitHub and VS Code. | [Meet the GitHub MCP Registry](https://github.blog/ai-and-ml/github-copilot/meet-the-github-mcp-registry-the-fastest-way-to-discover-mcp-servers/) [51] |\n| **Glama** | Aggregator & sandbox index | Supported · checked 2026-10-30 | Ingests the official registry and layers sandbox schema captures, behavioral analysis, and TDQS scores. | [Glama MCP methodology](https://glama.ai/mcp/methodology) [52] |\n| **PulseMCP** | Sub-registry & directory | Partial · as of 2025-09-09 | Ingests the Official MCP Registry as a downstream sub-registry supplemented with web indexing; live directory temporarily pauses new submissions. | [PulseMCP Work With Us](https://www.pulsemcp.com/work-with-us) [53] · [PulseMCP Official Registry launch](https://www.pulsemcp.com/posts/newsletter-claude-code-competition-ai-fundraising-abounds-mcp-registry-launch) [54] · [PulseMCP server directory](https://www.pulsemcp.com/servers/) [55] |\n| **MCP Census** | Trust-layer census over registries | Listed · as of 2026-11-04 | Trust layer returning PASS, REVIEW, BLOCK, or UNKNOWN; `57,777` rows. | [MCP registries compared](https://mcpcensus.com/compare/mcp-registries) [56] |\n\n### SDKs, Runtimes & Developer Tooling\n\nReference protocol SDKs, serverless hosting frameworks, local archive formats, and conformance debuggers used to build and test MCP clients and servers. [57]\n\n| Actor | Role | Status | Supported languages / packaging | Source |\n| :--- | :--- | :--- | :--- | :--- |\n| **Official MCP SDKs** | Client & server SDKs | Partial · as of 2026-10-30 | Current `Tier 1` roster lists 6 official SDKs (`TypeScript`, `Python`, `C#`, `Go`, `Rust`, and `Ruby`), plus Tier 2 `Java` and Tier 3 `Kotlin`, `Swift`, and `PHP` (July 2026 release covered `TypeScript`, `Python`, `Go`, `C#`, and `Rust` beta). The official Ruby SDK reached Tier 1 on 2026-10-30, with full support for the 2026-07-28 specification and a 100% conformance pass rate across both scored spec versions. | [Official MCP SDKs](https://modelcontextprotocol.io/docs/sdk) [57] · [MCP 2026-07-28 release blog](https://blog.modelcontextprotocol.io/posts/2026-07-28/) [10] · [MCP Ruby SDK versions](https://ruby.sdk.modelcontextprotocol.io/protocol-versions/) [13] · [Ruby SDK reaches Tier 1](https://blog.modelcontextprotocol.io/posts/ruby-sdk-tier-1/) [9] |\n| **MCP Inspector** | Developer testing client | Supported · as of 2026-07-28 | Reference `@modelcontextprotocol/inspector` package providing Web, `--cli`, and `--tui` clients across `stdio` and HTTP for `2026-07-28`. | [MCP Inspector docs](https://modelcontextprotocol.io/docs/tools/inspector) [58] |\n| **Cloudflare Agents SDK** | Server & client runtime | Supported · as of 2026-10-27 | Workers runtime supporting stateless `2026-07-28` MCP servers, `Streamable HTTP`, `insufficientScope()` OAuth challenges, and `MCPClientManager`. | [Cloudflare Agents MCP docs](https://developers.cloudflare.com/agents/model-context-protocol/) [59] · [MCP 2026-07-28 blog](https://blog.modelcontextprotocol.io/posts/2026-07-28/) [10] |\n| **MCP Bundles (MCPB)** | Local server bundle format | Supported · checked 2026-10-30 | Zip archive format (`.mcpb`, formerly `.dxt`) bundling a local MCP server with `manifest.json` via `@anthropic-ai/mcpb`. | [modelcontextprotocol/mcpb](https://raw.githubusercontent.com/modelcontextprotocol/mcpb/main/README.md) [60] |\n\n### Ecosystem censuses\n\n- **One Year of MCP (2025-11-25)** (*as of 2025-11-25*): Close to 2,000 server entries indexed in the Official MCP Registry as of November 25, 2025, representing 407% growth from the initial batch onboarded at the registry's September 2025 launch. [61]\n- **Anthropic AAIF donation announcement (2025-12-09)** (*as of 2025-12-09*): More than 10,000 active public MCP servers published across the ecosystem as of December 9, 2025, when Anthropic donated MCP to the Linux Foundation's Agentic AI Foundation. [62]\n- **MCP 2026-07-28 release announcement** (*as of 2026-07-28*): Close to 500 million monthly downloads across official Tier 1 MCP SDKs as of July 28, 2026, with both the TypeScript and Python SDKs surpassing 1 billion total downloads. [10]\n- **MCP registries compared (read 4 November 2026)** (*as of 2026-11-04*): On 4 November 2026 the MCP Census comparison records Glama at 115,336 servers (Remote 45,340, Local 43,442), its own census at 57,777 server rows, PulseMCP at 21,602 servers, and the Docker MCP Catalog at 300+ servers. Smithery's API, Connect, accounts, CLI, and proxy URLs stopped on 31 October 2026. [56]\n- **State of MCP Server Development (LocalCan, checked 14 October 2026)** (*as of 2026-10-14*): LocalCan's census, measured on 14 October 2026, counts 43,012 active servers in the official MCP Registry. Across that set, 59.6% are remote-only, 34.6% ship only as a package, 4.7% offer both, and 1.1% list neither. [63]\n- **MCP server directories (Apideck, 31 October 2026)** (*as of 2026-10-31*): Apideck's 31 October 2026 table counts the official registry API at 53,541 servers, Glama at 113,204 servers and 40,151 connectors, PulseMCP at 21,614, MCP Market at 50,999, and the Cursor Marketplace at about 490 plugins. [64]\n- **MCP-Eco (arXiv HTML, Parquet export 2026-06-23)** (*as of 2026-06-23*): The MCP-Eco frozen release, exported to Parquet on 2026-06-23, covers 78,302 candidate server projects. Its crawler queries the official MCP registry, Glama, Smithery, and PulseMCP, and reads MCP.so listing pages found through sitemaps. [65]\n\n---\n\n## See also\n\n- **[MCP Server Cards](/protocols/mcp-server-cards/)** *(Has component)* — SEP-2127 is the MCP extension whose Server Card is read with `GET <endpoint>/server-card` before the client connects, and the card omits the tools, resources, and prompts the live server still provides.\n- **Depended on by:** [Ad Context Protocol (AdCP)](/protocols/adcp/), [Agentic Real Time Framework](/protocols/artf/), [Coral Protocol (CoralOS)](/protocols/coral-protocol/), [Discovery of Model Context Protocol Servers via DNS TXT Records](/protocols/mcp-dns-discovery/), [KYA-OS (Know Your Agent Operating System)](/protocols/kya-os/), [OpenAI Apps SDK manifests](/protocols/openai-apps-sdk-manifests/), [Per-Call Proof for Local Tool Invocation by AI Agents](/protocols/local-tool-call-proof/)\n- **Peer alternatives:** [Agent Protocol](/protocols/agent-protocol-aief/), [agents.json](/protocols/agents-json/)\n- **Complements:** [A2UI (Agent to UI) Protocol](/protocols/a2ui/), [Agent Client Protocol](/protocols/agent-client-protocol/), [Agentic Commerce Protocol](/protocols/agentic-commerce-protocol/), [AGENTS.md](/protocols/agents-md/), [ERC-8004: Trustless Agents](/protocols/erc-8004/), [L402](/protocols/l402/), [OAuth Client ID Metadata Document](/protocols/oauth-cimd/), [OAuth Protected Resource and Authorization Server Metadata (as used for agent authorization)](/protocols/oauth-metadata-for-agents/), [Open Responses](/protocols/open-responses/), [Universal Commerce Protocol (UCP)](/protocols/ucp/), and [32 more in the protocol directory](/protocols/)\n- **Category:** [Act protocols](/category/act/)\n\n---\n\n## References\n\n1. Model Context Protocol (AAIF / Linux Foundation), *Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28>\n2. Anthropic, *Introducing the Model Context Protocol* (2024-11-25) — <https://www.anthropic.com/news/model-context-protocol>\n3. The Linux Foundation, *Linux Foundation Announces the Formation of the Agentic AI Foundation (AAIF), Anchored by New Project Contributions Including Model Context Protocol (MCP), goose and AGENTS.md* (2025-12-09) — <https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation>\n4. Model Context Protocol (AAIF / Linux Foundation), *stdio Transport — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/basic/transports/stdio>\n5. Model Context Protocol (AAIF / Linux Foundation), *Streamable HTTP Transport — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/basic/transports/streamable-http>\n6. Model Context Protocol (AAIF / Linux Foundation), *Key Changes (2026-07-28) — Model Context Protocol Specification* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/changelog>\n7. Model Context Protocol (AAIF / Linux Foundation), *Versioning and Compatibility — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/basic/versioning>\n8. David Soria Parra and Den Delimarsky (Model Context Protocol Blog), *The New MCP Roadmap* (2026-08-22) — <https://blog.modelcontextprotocol.io/posts/mcp-roadmap/>\n9. Koichi Ito (Model Context Protocol Blog), *The Official Ruby SDK for MCP Reaches Tier 1* (2026-10-30) — <https://blog.modelcontextprotocol.io/posts/ruby-sdk-tier-1/>\n10. David Soria Parra and Den Delimarsky (MCP Blog), *MCP 2026-07-28 Specification Release* (2026-07-28) — <https://blog.modelcontextprotocol.io/posts/2026-07-28/>\n11. Model Context Protocol (AAIF / Linux Foundation), *Governance and Stewardship — Model Context Protocol* (2026-10-30) — <https://modelcontextprotocol.io/community/governance>\n12. Model Context Protocol (AAIF / Linux Foundation), *Versioning — Model Context Protocol Documentation* (2026-07-28) — <https://modelcontextprotocol.io/docs/2026-07-28/learn/versioning>\n13. MCP Ruby SDK, *Protocol Versions* (checked 2026-10-30) — <https://ruby.sdk.modelcontextprotocol.io/protocol-versions/>\n14. Model Context Protocol (AAIF / Linux Foundation), *Base Protocol Overview — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/basic>\n15. Model Context Protocol (AAIF / Linux Foundation), *About the Official MCP Registry* (2026-10-30) — <https://modelcontextprotocol.io/registry/about>\n16. Model Context Protocol (AAIF / Linux Foundation), *SEP-2127: MCP Server Cards — HTTP Server Discovery* (2026-01-21) — <https://modelcontextprotocol.io/seps/2127-mcp-server-cards>\n17. Model Context Protocol (AAIF / Linux Foundation), *Multi Round-Trip Requests — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/basic/patterns/mrtr>\n18. Model Context Protocol (AAIF / Linux Foundation), *Architecture — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/architecture>\n19. Model Context Protocol (AAIF / Linux Foundation), *Authorization — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization>\n20. Model Context Protocol, *Discovery — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/server/discover>\n21. Model Context Protocol (AAIF / Linux Foundation), *Sampling — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/client/sampling>\n22. Model Context Protocol (AAIF / Linux Foundation), *Roots — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/client/roots>\n23. Model Context Protocol (AAIF / Linux Foundation), *Deprecated Features Registry — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/deprecated>\n24. Model Context Protocol (AAIF / Linux Foundation), *Tools — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/server/tools>\n25. Model Context Protocol (AAIF / Linux Foundation), *Resources — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/server/resources>\n26. Model Context Protocol (AAIF / Linux Foundation), *Prompts — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/server/prompts>\n27. Model Context Protocol (AAIF / Linux Foundation), *Elicitation — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/client/elicitation>\n28. Model Context Protocol (AAIF / Linux Foundation), *Security Best Practices — Model Context Protocol (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/basic/security_best_practices>\n29. Model Context Protocol (AAIF / Linux Foundation), *Client Registration — Model Context Protocol Specification (2026-07-28)* (2026-07-28) — <https://modelcontextprotocol.io/specification/2026-07-28/basic/authorization/client-registration>\n30. Web Machine Learning Community Group (editors Brandon Walderman, Khushal Sagar, Dominic Farolino, and Samuel Dallstream), *WebMCP* (Draft Community Group Report, 11 November 2026) — <https://webmachinelearning.github.io/webmcp/>\n31. Model Context Protocol (MCP), *SEP-1865: MCP Apps — Interactive User Interfaces for MCP* (2026-01-26) — <https://modelcontextprotocol.io/seps/1865-mcp-apps-interactive-user-interfaces-for-mcp>\n32. Hugging Face, *Live MCP endpoint* (2026-10-30) — <https://huggingface.co/mcp>\n33. Hugging Face, *Hugging Face MCP Server* (checked 2026-10-30) — <https://huggingface.co/docs/hub/agents-mcp>\n34. Cloudflare, *Live MCP endpoint* (2026-10-30) — <https://docs.mcp.cloudflare.com/mcp>\n35. Cloudflare, *Cloudflare's own MCP servers* (checked 2026-10-30) — <https://developers.cloudflare.com/agents/model-context-protocol/cloudflare/servers-for-cloudflare/>\n36. GitHub, *Live MCP endpoint* (2026-10-30) — <https://api.githubcopilot.com/mcp/>\n37. GitHub, *github/github-mcp-server* (checked 2026-10-30) — <https://github.com/github/github-mcp-server>\n38. Stripe, *Live MCP endpoint* (2026-10-30) — <https://mcp.stripe.com>\n39. Stripe, *Model Context Protocol (MCP)* (checked 2026-10-30) — <https://docs.stripe.com/mcp>\n40. Linear, *Live MCP endpoint* (2026-10-30) — <https://mcp.linear.app/mcp>\n41. Linear, *MCP server* (checked 2026-10-30) — <https://linear.app/docs/mcp>\n42. Official MCP Registry, *com.atlassian/atlassian-mcp-server version 2.0.0 (Official MCP Registry)* (version 2.0.0 (publishedAt 2026-09-09T17:53:32.01107Z; retained snapshot fetched 2026-10-30)) — <https://registry.modelcontextprotocol.io/v0.1/servers/com.atlassian%2Fatlassian-mcp-server/versions/2.0.0>\n43. Official MCP Registry, *com.notion/mcp version 1.0.1 (Official MCP Registry)* (version 1.0.1 (publishedAt 2025-09-11T22:25:50.737872Z; retained snapshot fetched 2026-10-30)) — <https://registry.modelcontextprotocol.io/v0.1/servers/com.notion%2Fmcp/versions/1.0.1>\n44. Official MCP Registry, *io.github.microsoft/playwright-mcp version 0.0.82 (Official MCP Registry)* (version 0.0.82 (publishedAt 2026-09-18T23:41:20.46032Z; retained snapshot fetched 2026-10-30)) — <https://registry.modelcontextprotocol.io/v0.1/servers/io.github.microsoft%2Fplaywright-mcp/versions/0.0.82>\n45. Anthropic, *Get started with custom connectors using remote MCP* (modified 2026-10-30) — <https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp>\n46. Anthropic, *MCP 2026-07-28 spec: stateless core, coming to Claude* (2026-07-28) — <https://claude.com/resources/articles/bringing-mcp-2026-07-28-to-claude>\n47. Microsoft / Harald Kirschner, Connor Peet and Tyler Leonhardt, *The Complete MCP Experience: Full Specification Support in VS Code* (2025-06-12) — <https://code.visualstudio.com/blogs/2025/06/12/full-mcp-spec-support>\n48. Cursor, *Cursor 1.0* (2025-06-04) — <https://cursor.com/changelog/1-0>\n49. Google, *Gemini CLI: your open-source AI agent* (published 2025-06-25; modified 2026-01-07) — <https://blog.google/innovation-and-ai/technology/developers-tools/introducing-gemini-cli-open-source-ai-agent/>\n50. Model Context Protocol, *MCP Registry Aggregators* (checked 2026-10-30) — <https://modelcontextprotocol.io/registry/registry-aggregators>\n51. Toby Padilla, GitHub Blog, *Meet the GitHub MCP Registry: The fastest way to discover MCP Servers* (published 2025-09-16) — <https://github.blog/ai-and-ml/github-copilot/meet-the-github-mcp-registry-the-fastest-way-to-discover-mcp-servers/>\n52. Glama, *How Glama indexes the MCP ecosystem* (checked 2026-10-30) — <https://glama.ai/mcp/methodology>\n53. PulseMCP, *Work With Us* (checked 2026-10-30) — <https://www.pulsemcp.com/work-with-us>\n54. PulseMCP, *Claude Code has competition, AI fundraising abounds, Official MCP Registry launched* (published 2025-09-09) — <https://www.pulsemcp.com/posts/newsletter-claude-code-competition-ai-fundraising-abounds-mcp-registry-launch>\n55. PulseMCP, *MCP Server Directory* (checked 2026-11-06) — <https://www.pulsemcp.com/servers/>\n56. MCP Census (Jaco Veldsman), *MCP registries compared* (2026-11-04) — <https://mcpcensus.com/compare/mcp-registries>\n57. Model Context Protocol (AAIF / Linux Foundation), *Official MCP SDKs* (2026-10-30) — <https://modelcontextprotocol.io/docs/sdk>\n58. Model Context Protocol (AAIF / Linux Foundation), *MCP Inspector* (2026-07-28) — <https://modelcontextprotocol.io/docs/tools/inspector>\n59. Cloudflare, *Model Context Protocol (MCP) · Cloudflare Agents docs* (checked 2026-10-30) — <https://developers.cloudflare.com/agents/model-context-protocol/>\n60. Model Context Protocol, *MCP Bundles (MCPB) Specification & Toolchain README* (2026-10-30) — <https://raw.githubusercontent.com/modelcontextprotocol/mcpb/main/README.md>\n61. Model Context Protocol Blog, *One Year of MCP: November 2025 Spec Release* (2025-11-25) — <https://blog.modelcontextprotocol.io/posts/2025-11-25-first-mcp-anniversary/>\n62. Anthropic, *Donating the Model Context Protocol and establishing the Agentic AI Foundation* (2025-12-09) — <https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation>\n63. Jarek Ceborski, LocalCan, *State of MCP Server Development: October 2026* (2026-10-15) — <https://www.localcan.com/blog/state-of-mcp-server-development>\n64. Apideck, *MCP server directories* (2026-10-31) — <https://www.apideck.com/blog/mcp-server-directories>\n65. Khalid Tounoussi, Mohammed Sayagh, Ali Ouni, and Yutaro Kashiwa, *MCP-Eco: A Linked Dataset of MCP Servers, Consumers, and Development Activity* (2026-11-04) — <https://arxiv.org/html/2611.06897v1>\n",
 "status_notice_md": null,
 "superseded_by": null
}