The missing surfacerc.7 has no dedicated MCP add form. The official bridge is configured as a plugin row inside a user Agent preset.

Four boundaries to a visible tool.

01Preseteditable user copy
02Transportstdio or HTTP
03DiscoverylistTools()
04Registrymcp__server__tool

One server. One row. One namespace.

- id: mcp-internal-search
  name: '@deepseek-ai/dsh-mcp-client'
  config:
    serverName: internal-search
    transport: streamable-http
    url: https://mcp.example.internal/mcp
    headers:
      Authorization: !!js '`Bearer ${process.env.MCP_TOKEN}`'
    failOnStartupError: true
raw toolsearchmodel seesmcp__internal-search__search

The generation boundary explains “still missing.”

Before editrunning Sessionkeeps generation A
After editnew blank Sessionjoins generation B

Saving the file does not rewrite the tool surface of a Session that already produced history. Select the edited preset in a new blank Session before diagnosing the connection.

Route the first failed boundary.

stdioChild never starts

Resolve command, args, cwd, scrubbed environment, and stderr.

HTTPHost cannot connect

Verify URL, TLS, proxy, auth, and server availability from the Host.

DiscoveryNo generation

Inspect listTools(), duplicate raw names, and schema errors.

RegistryNamespace conflict

Keep serverName unique and remove foreign qualified-name squatters.

Outage state is not startup state.

Last goodtools stay listedcalls fail during outage
Recoveredgeneration replacednames stay stable
Budget exhaustedtools removedreload or restart required

Acceptance, not optimism.

  1. Mountpreset parses
  2. Joinfresh Session
  3. Discoverqualified names
  4. Callread-only result
  5. Isolatesibling has none
  6. Recoverstable reconnect

Operator worksheet

Capture the generation and the connection.

Open full runbook