Model Context Protocol is an open, JSON-RPC 2.0 protocol from Anthropic that standardizes how AI applications (hosts) connect to external systems via servers that expose tools, resources, and prompts. MCP is positioned as "a USB-C port for AI applications" and has become the de-facto integration layer for Claude, ChatGPT, Cursor, Visual Studio Code, and a growing ecosystem of agent runtimes. This topic repo catalogs the canonical specification, the official multi-language SDKs, the reference server collection, community registries (Smithery, Pulse MCP), and major MCP-aware clients, plus the vocabulary, JSON Schema, JSON-LD, and example payloads needed to reason about the protocol.
URL: Visit APIs.json URL
Run: Capabilities Using Naftiko
- Model Context Protocol, MCP, AI Agents, Tools, Resources, Prompts, JSON-RPC, Anthropic, Standards, Topic
- Created: 2026-05-22
- Modified: 2026-05-22
MCP is structured around three actors:
| Actor | Role |
|---|---|
| Host | The LLM application (Claude Desktop, Cursor, VS Code, ChatGPT) that initiates connections, manages consent, and drives the conversation. |
| Client | A connector inside a host that talks to exactly one server over a single transport. |
| Server | A process that exposes tools, resources, and prompts, and may request sampling, roots, and elicitation from the client. |
Servers offer tools (callable functions with JSON Schema 2020-12 input), resources (URI-addressable context), and prompts (templated workflows). Clients may offer sampling (server-initiated LLM calls), roots (filesystem boundaries), and elicitation (user input requests). All traffic is JSON-RPC 2.0 over stdio (local) or Streamable HTTP (remote, with optional OAuth 2.1). The current dated specification version is 2025-11-25.
| Feature | Surface | Initiator | Notification |
|---|---|---|---|
| Tools | tools/list, tools/call |
Client → Server | notifications/tools/list_changed |
| Resources | resources/list, resources/read, resources/subscribe |
Client → Server | notifications/resources/list_changed, notifications/resources/updated |
| Prompts | prompts/list, prompts/get |
Client → Server | notifications/prompts/list_changed |
| Sampling | sampling/createMessage |
Server → Client | — |
| Roots | roots/list |
Server → Client | notifications/roots/list_changed |
| Elicitation | elicitation/create |
Server → Client | — |
| Completion | completion/complete |
Client → Server | — |
| Logging | logging/setLevel, notifications/message |
Bidirectional | — |
| Progress | notifications/progress |
Bidirectional | — |
| Cancellation | notifications/cancelled |
Bidirectional | — |
The authoritative protocol definition for the Model Context Protocol, maintained at modelcontextprotocol.io and in the modelcontextprotocol/specification GitHub repository. The TypeScript schema (schema.ts) is the source of truth, with an auto-generated JSON Schema (schema.json) for tooling. The current dated version is 2025-11-25.
Human URL: https://modelcontextprotocol.io/specification
| Language | Package | Repo |
|---|---|---|
| TypeScript | @modelcontextprotocol/sdk |
typescript-sdk |
| Python | mcp |
python-sdk |
| Java | Maven Central | java-sdk |
| Kotlin | — | kotlin-sdk |
| C# | NuGet (Microsoft collab) | csharp-sdk |
| Swift | SwiftPM | swift-sdk |
| Rust | crates.io | rust-sdk |
- Reference Servers — Everything, Fetch, Filesystem, Git, Memory, Sequential Thinking, Time.
- MCP Inspector —
npx @modelcontextprotocol/inspector, web UI atlocalhost:6274. - Official Registry — Anthropic-maintained server index, API freeze v0.1.
- Smithery — Server registry plus hosted runtime.
- Pulse MCP — Directory and news site; sub-registry API implements the Generic MCP Registry API specification.
- Claude Desktop / Claude Code / Claude API
- Cursor
- Visual Studio Code (Copilot Chat)
- ChatGPT (Apps SDK)
| Name | Description |
|---|---|
| JSON-RPC 2.0 Base Protocol | MCP defines request, response, and notification message shapes on top of JSON-RPC 2.0 with strict rules on IDs and structure. |
| Stateful Sessions | Clients and servers negotiate capabilities during the initialize handshake and maintain stateful connections for the lifetime of the session. |
| Tools | Servers expose callable tools with JSON Schema 2020-12 input schemas; clients invoke them via tools/call. |
| Resources | Servers expose URI-addressable context (files, database rows, API responses) via resources/list, resources/read, and subscription notifications. |
| Prompts | Servers expose templated prompts and workflows via prompts/list and prompts/get for users to invoke. |
| Sampling | Clients can offer sampling/createMessage so servers can ask the host LLM to run agentic, recursive inference under user consent. |
| Roots | Clients can advertise filesystem roots that bound a server's operating scope via roots/list. |
| Elicitation | Servers can request additional information from users mid-session via elicitation/create. |
| Multiple Transports | MCP defines stdio for local processes and Streamable HTTP (with an optional SSE legacy mode) for networked deployments. |
| OAuth 2.1 Authorization | HTTP-based transports follow an MCP-defined OAuth 2.1 authorization framework; stdio transports retrieve credentials from the environment. |
| Icons and Branding | Implementations, tools, prompts, and resources can publish icon metadata for richer UIs, with strict security constraints on icon URIs. |
Reserved _meta Namespace |
MCP reserves the _meta property with a structured prefix/name format for attaching additional metadata to interactions. |
| Name | Description |
|---|---|
| IDE Augmentation | MCP servers extend coding assistants like Cursor, VS Code Copilot, and Claude Code with project-aware tools, repository search, and terminal/build access. |
| Knowledge Base Access | MCP resources surface documentation, wikis, and structured data stores to AI hosts under user consent. |
| Workflow Automation | MCP tools let agents trigger build pipelines, send notifications, create tickets, and orchestrate multi-step business workflows. |
| Enterprise Connectors | Vendors expose enterprise systems (CRMs, ITSM, data warehouses) as MCP servers so that any MCP-aware host can connect without bespoke integration code. |
| Local Computer Use | Local MCP servers expose filesystem, git, shell, browser, and desktop automation tools to assistants running on the same machine. |
| Name | Description |
|---|---|
| Anthropic Claude | Claude Desktop, Claude Code, and the Claude API are first-class MCP hosts and the protocol's reference consumers. |
| OpenAI ChatGPT | ChatGPT supports MCP through the Apps SDK and OpenAI's developer docs. |
| Cursor | Cursor IDE consumes MCP servers via mcp.json configuration. |
| Visual Studio Code | VS Code's Copilot Chat treats MCP servers as agents and tools. |
| MCPJam | MCPJam is a community client implementation for testing MCP servers interactively. |
| Naftiko Sandbox | Naftiko Sandbox is a governed MCP host that compiles capability definitions into sandboxed MCP servers running in containers with policy enforcement. |
| Name | Description |
|---|---|
| Spec, SDKs, and Reference Servers | modelcontextprotocol.io publishes the spec, schema, official SDKs for TypeScript, Python, Java, Kotlin, C#, Swift, and Rust, plus a set of reference servers and an Inspector debugging tool. |
| Official Registry | The official MCP Registry is a central index of MCP servers with GitHub OAuth/OIDC and DNS-based ownership verification. |
| Third-Party Registries | Smithery and Pulse MCP provide alternative discovery surfaces and, in Smithery's case, hosted execution of community servers. |
| Vendor Hosts | Claude, ChatGPT, Cursor, VS Code Copilot, Continue, Cline, Zed, Windsurf, and many other assistants act as MCP hosts. |
Machine-readable descriptions of the protocol surface.
- MCP JSON-RPC Message
- MCP Initialize
- MCP Tool
- MCP tools/call
- MCP Resource
- MCP Prompt
- MCP sampling/createMessage
- MCP Root
- MCP Context — aligns MCP types with schema.org where possible (Host/Client/Server as SoftwareApplication/WebAPI, Tool as Action, Resource as DigitalDocument, Prompt as CreativeWork).
- Initialize Request
- Initialize Result
- tools/list
- tools/call
- resources/list
- resources/read
- prompts/get
- sampling/createMessage
- roots/list
- notifications/progress
- Error response
- MCP Vocabulary — operational dimension (actors, JSON-RPC methods, transports) and capability dimension (features, capabilities, personas, workflows, security), plus the registry surface.
- No public OpenAPI: MCP is JSON-RPC, not REST. The authoritative contract is the TypeScript schema at
schema/2025-11-25/schema.ts. - No public AsyncAPI: although MCP is bidirectional and event-bearing, the project ships JSON Schema rather than AsyncAPI.
- No commercial plans or rate limits at the protocol level: registries and hosts publish their own quotas; the spec itself imposes none.
FN: Kin Lane
Email: kinlane@gmail.com