diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index 33a43dc5a9..282da8d048 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -39,6 +39,8 @@ - [Inline Assistant](./assistant/inline-assistant.md) - [Commands](./assistant/commands.md) - [Prompts](./assistant/prompting.md) + - [Context Servers](./assistant/context-servers.md) + - [Model Context Protocol](./assistant/model-context-protocol.md) # Extensions diff --git a/docs/src/assistant/assistant.md b/docs/src/assistant/assistant.md index b0dba5bf8e..7092a23294 100644 --- a/docs/src/assistant/assistant.md +++ b/docs/src/assistant/assistant.md @@ -16,6 +16,6 @@ This section covers various aspects of the Assistant: - [Prompting & Prompt Library](./prompting.md): Learn how to write and save prompts, how to use the Prompt Library, and how to edit prompt templates. -- [Context Servers](./context_servers.md): Learn how to add custom slash commands implemented in external codebases with the Context Server Protocol. +- [Context Servers](./context-servers.md): Learn how to add custom slash commands implemented in external codebases with the Context Server Protocol. - - [Model Context Protocol](./model_context_protocol.md): Read the full specification of the Model Context Protocol that Context Servers follow to interface with the Assistant. + - [Model Context Protocol](./model-context-protocol.md): Read the full specification of the Model Context Protocol that Context Servers follow to interface with the Assistant. diff --git a/docs/src/assistant/context_servers.md b/docs/src/assistant/context-servers.md similarity index 72% rename from docs/src/assistant/context_servers.md rename to docs/src/assistant/context-servers.md index 00e340007e..bbe4d6c960 100644 --- a/docs/src/assistant/context_servers.md +++ b/docs/src/assistant/context-servers.md @@ -26,9 +26,17 @@ To configure Zed to use a Context Server, add the command required to start the A Context Server is a server listening for JSON-RPC requests over stdin/stdout. The server must follow the Model Context Protocol (defined below) in order to declare its capabilities such that Zed can make use of them. +### Implementing a Context Server + +Context Servers are JSON-RPC servers communicating over stdio. Context Servers must comply with the [Model Context Protocol (MCP)](./model_context_protocol). + +See [python-context-server](https://github.com/zed-industries/python-context-server) for a minimal working example. + +Currently, Zed's client only implements a subset of the protocol required to support custom prompt insertions and manipulations. This is likely to be expanded in the future. + ### Should you write a Context Server? -[Extensions](./extensions.md) are also capable of adding slash commands to the Assistant. +[Extensions](../extensions.md) are also capable of [adding slash commands to the Assistant](../extensions/slash-commands.md). If your slash commands are already implemented in a language other than Rust, wrapping them in a Context Server implementation will likely be the fastest way to plug them into Zed. @@ -37,9 +45,3 @@ An Extension should be preferred when: - Your slash commands are implemented in WebAssembly-compatible Rust - You want Zed to manage distribution of your slash commands - You want to publish your slash commands - -### Implementing a Context Server - -Context Servers must comply with the [Model Context Protocol (MCP)](./model_context_protocol). See [python-context-server](https://github.com/zed-industries/python-context-server) for a minimal working example. - -Currently, Zed's client only implements the subset of the protocol required to support custom prompt insertions and manipulations, although this is likely to be extended in the future. diff --git a/docs/src/assistant/model_context_protocol.md b/docs/src/assistant/model-context-protocol.md similarity index 100% rename from docs/src/assistant/model_context_protocol.md rename to docs/src/assistant/model-context-protocol.md