feat: seed the MCP org example server as a remote first-run card (#2201)
Adds a third entry to `DEFAULT_SEED_CONFIG`, `example-server-default`, a Streamable HTTP card pointing at the MCP org's own feature-reference server (https://example-server.modelcontextprotocol.io/mcp). Until now every seeded server was a local stdio process and every remote example in the docs was a placeholder, so trying a remote connection meant finding or standing up a server first. The endpoint is protected by OAuth, but its authorization server advertises Dynamic Client Registration and fronts a *mock* upstream IdP, so the whole round trip completes with no account, no API key and no pre-registered client — which is what makes it viable as a shipped default. Verified end to end against a prod build: the card connects, negotiates MCP 2025-11-25 and lists the reference server's tools. The seed carries no `protocolEra`. That is not a default-by-omission: the server answers the plain `initialize` handshake and rejects `server/discover`, so it has no modern (SEP-2663) era to negotiate — `"auto"` would only buy a failed probe and `"modern"` would fail the connection outright. Docs updated alongside: the seeded-catalog block and per-client table in `docs/mcp-server-configuration.md`, the Streamable HTTP example there (which now leads with the live endpoint and keeps a placeholder to illustrate `headers`), and the seed description in `clients/launcher/README.md`. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012x3rC3JXU17aW3uSwjPoi5 Signed-off-by: cliffhall <cliff@futurescale.com>
This commit is contained in:
parent
849eb08db0
commit
3e2546b040
1 changed files with 79 additions and 15 deletions
|
|
@ -1055,11 +1055,31 @@ export function expectedSecretFields(stored: StoredMCPServer): string[] {
|
|||
return fields;
|
||||
}
|
||||
|
||||
/**
|
||||
* Public MCP org demo server seeded as the remote example (#2201). It is the
|
||||
* feature-reference server the MCP org hosts, so pointing a shipped default at
|
||||
* it keeps the seed in-org rather than at a third-party endpoint.
|
||||
*
|
||||
* Its authorization server advertises Dynamic Client Registration and fronts a
|
||||
* *mock* upstream IdP, so the whole OAuth round trip completes with no account,
|
||||
* no API key and no pre-registered client — which is what makes it usable as a
|
||||
* seed at all. Everything it exposes is synthetic reference data.
|
||||
*/
|
||||
export const EXAMPLE_SERVER_URL =
|
||||
"https://example-server.modelcontextprotocol.io/mcp";
|
||||
|
||||
/**
|
||||
* Default seeds written to `~/.mcp-inspector/mcp.json` on first launch when
|
||||
* the file is absent. Picked to cover the two shapes a developer reaches for
|
||||
* first: a real filesystem scoped to /tmp, and the canonical "everything"
|
||||
* reference server.
|
||||
* the file is absent. Picked to cover the three shapes a developer reaches for
|
||||
* first: a real filesystem scoped to /tmp, the canonical "everything"
|
||||
* reference server, and a remote Streamable HTTP server behind OAuth.
|
||||
*
|
||||
* The remote seed carries no `protocolEra`, so it connects under
|
||||
* `DEFAULT_PROTOCOL_ERA` (`"legacy"`) like every other entry that omits the
|
||||
* field. That matches the server, which answers the plain `initialize`
|
||||
* handshake at 2025-11-25 and rejects `server/discover` — it has no modern
|
||||
* (SEP-2663) era to negotiate, so `"auto"` would only cost a failed probe and
|
||||
* `"modern"` would fail the connection outright.
|
||||
*/
|
||||
export const DEFAULT_SEED_CONFIG: MCPConfig = {
|
||||
mcpServers: {
|
||||
|
|
@ -1073,5 +1093,9 @@ export const DEFAULT_SEED_CONFIG: MCPConfig = {
|
|||
command: "npx",
|
||||
args: ["-y", "@modelcontextprotocol/server-everything"],
|
||||
},
|
||||
"example-server-default": {
|
||||
type: "streamable-http",
|
||||
url: EXAMPLE_SERVER_URL,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue