Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions docs/specification/2024-11-05/_index.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
---
title: Specification (Latest)
linkTitle: 2024-11-05 (Final)
title: Model Context Protocol specification
cascade:
type: docs
breadcrumbs: false
weight: 10
aliases:
- /latest
weight: 2
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

[Model Context Protocol](https://modelcontextprotocol.io) (MCP) is an open protocol that
enables seamless integration between LLM applications and external data sources and
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/basic/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ cascade:
weight: 2
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

All messages between MCP clients and servers **MUST** follow the
[JSON-RPC 2.0](https://www.jsonrpc.org/specification) specification. The protocol defines
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/basic/lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ type: docs
weight: 30
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) defines a rigorous lifecycle for client-server
connections that ensures proper capability negotiation and state management.
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/basic/messages.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ type: docs
weight: 20
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

All messages in MCP **MUST** follow the
[JSON-RPC 2.0](https://www.jsonrpc.org/specification) specification. The protocol defines
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/basic/transports.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ type: docs
weight: 40
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

MCP currently defines two standard transport mechanisms for client-server communication:

Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/basic/utilities/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
title: Utilities
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

These optional features enhance the base protocol functionality with various utilities.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ title: Cancellation
weight: 10
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) supports optional cancellation of in-progress requests
through notification messages. Either side can send a cancellation notification to
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/basic/utilities/ping.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ title: Ping
weight: 5
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol includes an optional ping mechanism that allows either party
to verify that their counterpart is still responsive and the connection is alive.
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/basic/utilities/progress.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ title: Progress
weight: 30
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) supports optional progress tracking for long-running
operations through notification messages. Either side can send progress notifications to
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/client/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ cascade:
weight: 4
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

Clients can implement additional features to enrich connected MCP servers:

Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/client/roots.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ type: docs
weight: 40
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) provides a standardized way for clients to expose
filesystem "roots" to servers. Roots define the boundaries of where servers can operate
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/client/sampling.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ type: docs
weight: 40
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) provides a standardized way for servers to request LLM
sampling ("completions" or "generations") from language models via clients. This flow
Expand Down
7 changes: 0 additions & 7 deletions docs/specification/2024-11-05/revisions/2024-11-05.md

This file was deleted.

17 changes: 0 additions & 17 deletions docs/specification/2024-11-05/revisions/_index.md

This file was deleted.

3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/server/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ cascade:
weight: 3
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

Servers provide the fundamental building blocks for adding context to language models via
MCP. These primitives enable rich interactions between clients, servers, and language
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/server/prompts.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ title: Prompts
weight: 10
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) provides a standardized way for servers to expose prompt
templates to clients. Prompts allow servers to provide structured messages and
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/server/resources.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ type: docs
weight: 20
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) provides a standardized way for servers to expose
resources to clients. Resources allow servers to share data that provides context to
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/server/tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ type: docs
weight: 40
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) allows servers to expose tools that can be invoked by
language models. Tools enable models to interact with external systems, such as querying
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/server/utilities/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
title: Utilities
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

These optional features can be used to enhance server functionality.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
title: Completion
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) provides a standardized way for servers to offer
argument autocompletion suggestions for prompts and resource URIs. This enables rich,
Expand Down
3 changes: 1 addition & 2 deletions docs/specification/2024-11-05/server/utilities/logging.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
title: Logging
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) provides a standardized way for servers to send
structured log messages to clients. Clients can control logging verbosity by setting
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
title: Pagination
---

{{< callout type="info" >}} **Protocol Revision**: {{< param protocolRevision >}}
{{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2024-11-05 {{< /callout >}}

The Model Context Protocol (MCP) supports paginating list operations that may return
large result sets. Pagination allows servers to yield results in smaller chunks rather
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
---
title: Specification (Draft)
linkTitle: 2025-03-26 (Latest)
title: Model Context Protocol specification
cascade:
type: docs
breadcrumbs: false
weight: 10
weight: 1
aliases:
- /draft
- /latest
---

{{< callout type="info" >}} **Protocol Revision**: draft {{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2025-03-26 {{< /callout >}}

[Model Context Protocol](https://modelcontextprotocol.io) (MCP) is an open protocol that
enables seamless integration between LLM applications and external data sources and
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Architecture
cascade:
type: docs
weight: 1
weight: 10
---

The Model Context Protocol (MCP) follows a client-host-server architecture where each
Expand Down Expand Up @@ -166,13 +166,13 @@ sequenceDiagram
Each capability unlocks specific protocol features for use during the session. For
example:

- Implemented [server features]({{< ref "/specification/draft/server" >}}) must be
advertised in the server's capabilities
- Implemented [server features]({{< ref "../server" >}}) must be advertised in the
server's capabilities
- Emitting resource subscription notifications requires the server to declare
subscription support
- Tool invocation requires the server to declare tool capabilities
- [Sampling]({{< ref "/specification/draft/client" >}}) requires the client to declare
support in its capabilities
- [Sampling]({{< ref "../client" >}}) requires the client to declare support in its
capabilities

This capability negotiation ensures clients and servers have a clear understanding of
supported functionality while maintaining protocol extensibility.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
title: Base Protocol
cascade:
type: docs
weight: 2
weight: 20
---

{{< callout type="info" >}} **Protocol Revision**: draft {{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2025-03-26 {{< /callout >}}

The Model Context Protocol consists of several key components that work together:

Expand Down Expand Up @@ -103,10 +103,10 @@ batches, but **MUST** support receiving JSON-RPC batches.

## Auth

MCP provides an [Authorization]({{< ref "/specification/draft/basic/authorization" >}})
framework for use with HTTP. Implementations using an HTTP-based transport **SHOULD**
conform to this specification, whereas implementations using STDIO transport **SHOULD
NOT** follow this specification, and instead retrieve credentials from the environment.
MCP provides an [Authorization]({{< ref "authorization" >}}) framework for use with HTTP.
Implementations using an HTTP-based transport **SHOULD** conform to this specification,
whereas implementations using STDIO transport **SHOULD NOT** follow this specification,
and instead retrieve credentials from the environment.

Additionally, clients and servers **MAY** negotiate their own custom authentication and
authorization strategies.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ type: docs
weight: 15
---

{{< callout type="info" >}} **Protocol Revision**: draft {{< /callout >}}
{{< callout type="info" >}} **Protocol Revision**: 2025-03-26 {{< /callout >}}

## 1. Introduction

Expand Down Expand Up @@ -136,8 +136,7 @@ domain hosting the MCP server, regardless of any path components in the MCP serv

For servers that do not implement OAuth 2.0 Authorization Server Metadata, clients
**MUST** use the following default endpoint paths relative to the authorization base URL
(as defined in [Section
2.3.2]({{< ref "specification/draft/basic/authorization#232-authorization-base-url" >}})):
(as defined in [Section 2.3.2](#232-authorization-base-url)):

| Endpoint | Default Path | Description |
| ---------------------- | ------------ | ------------------------------------ |
Expand Down
Loading