Prepare docs for modelcontextprotocol.io (#728)
This PR reorganizes and extends the existing documentation in preparation for publishing on https://modelcontextprotocol.io/. The current plan is for docs to remain in this repo, and be synced to the `modelcontextprotocol/modelcontextprotocol` whenever necessary (e.g., accompanying a release of the registry). I have included a script in https://github.com/modelcontextprotocol/modelcontextprotocol/pull/1725 (`bin/pull-registry-docs.sh`) that can be run manually to perform the sync. If we later decide to permanently move the docs to the `modelcontextprotocol/modelcontextprotocol` repo, that also works. This PR puts all https://modelcontextprotocol.io/ docs into `docs/modelcontextprotocol-io/`. Docs outside that subdirectory, such as `docs/administration/admin-operations.md`, are intended to be accessible solely via this repo. One major exception is the `docs/reference/server-json/` subdirectory, which will depend on the resolution of https://github.com/modelcontextprotocol/modelcontextprotocol/issues/1649. However, I think we could address that in a follow-up PR. --------- Co-authored-by: Adam Jones <adamj+git@anthropic.com> Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
parent
3d3337942b
commit
43d41a242e
1 changed files with 1606 additions and 1397 deletions
108
docs/modelcontextprotocol-io/remote-servers.mdx
Normal file
108
docs/modelcontextprotocol-io/remote-servers.mdx
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
---
|
||||
title: Publishing Remote Servers
|
||||
sidebarTitle: Remote Servers
|
||||
---
|
||||
|
||||
The MCP Registry supports remote MCP servers via the `remotes` property in `server.json`:
|
||||
|
||||
```json server.json highlight={7-12}
|
||||
{
|
||||
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
|
||||
"name": "com.example/acme-analytics",
|
||||
"title": "ACME Analytics",
|
||||
"description": "Real-time business intelligence and reporting platform",
|
||||
"version": "2.0.0",
|
||||
"remotes": [
|
||||
{
|
||||
"type": "streamable-http",
|
||||
"url": "https://analytics.example.com/mcp"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
A remote server **MUST** be publicly accessible at its specified URL.
|
||||
|
||||
## Transport Type
|
||||
|
||||
Remote servers can use the Streamable HTTP transport (recommended) or the SSE transport. Remote servers can also support both transports simultaneously at different URLs.
|
||||
|
||||
Specify the transport by setting the `type` property of the `remotes` entry to either `"streamable-http"` or `"sse"`:
|
||||
|
||||
```json server.json highlight={9,13}
|
||||
{
|
||||
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
|
||||
"name": "com.example/acme-analytics",
|
||||
"title": "ACME Analytics",
|
||||
"description": "Real-time business intelligence and reporting platform",
|
||||
"version": "2.0.0",
|
||||
"remotes": [
|
||||
{
|
||||
"type": "streamable-http",
|
||||
"url": "https://analytics.example.com/mcp"
|
||||
},
|
||||
{
|
||||
"type": "sse",
|
||||
"url": "https://analytics.example.com/sse"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## HTTP Headers
|
||||
|
||||
MCP clients can be instructed to send specific HTTP headers by adding the `headers` property to the `remotes` entry:
|
||||
|
||||
```json server.json highlight={11-18}
|
||||
{
|
||||
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
|
||||
"name": "com.example/acme-analytics",
|
||||
"title": "ACME Analytics",
|
||||
"description": "Real-time business intelligence and reporting platform",
|
||||
"version": "2.0.0",
|
||||
"remotes": [
|
||||
{
|
||||
"type": "streamable-http",
|
||||
"url": "https://analytics.example.com/mcp",
|
||||
"headers": [
|
||||
{
|
||||
"name": "X-API-Key",
|
||||
"description": "API key for authentication",
|
||||
"isRequired": true,
|
||||
"isSecret": true
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## Supporting Remote and Non-remote Installation
|
||||
|
||||
The `remotes` property can coexist with the `packages` property in `server.json` in order to allow MCP host applications to choose the preferred method of installation.
|
||||
|
||||
```json server.json highlight={7-22}
|
||||
{
|
||||
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
|
||||
"name": "io.github.username/email-integration-mcp",
|
||||
"title": "Email Integration",
|
||||
"description": "Send emails and manage email accounts",
|
||||
"version": "1.0.0",
|
||||
"remotes": [
|
||||
{
|
||||
"type": "streamable-http",
|
||||
"url": "https://email.example.com/mcp"
|
||||
}
|
||||
],
|
||||
"packages": [
|
||||
{
|
||||
"registryType": "npm",
|
||||
"identifier": "@username/email-integration-mcp",
|
||||
"version": "1.0.0",
|
||||
"transport": {
|
||||
"type": "stdio"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Loading…
Reference in a new issue