DSCC
home / guides / mcp-servers

MCP Servers

DSCC talks to MCP (Model Context Protocol) servers to expand its tool surface. Configure servers under settings.mcpServers.<name> (crates/runtime/src/config.rs:531–550).

Transports

Supported transport types (config.rs:75–83, mcp_client.rs:7–46):

Type Use
stdio Spawn local command, talk over stdin/stdout
sse Server-Sent Events remote
http HTTP remote
ws WebSocket remote
sdk In-process SDK server
managed-proxy DSCC-managed proxy

Stdio example

{
  "mcpServers": {
    "my-server": {
      "type": "stdio",
      "command": "/usr/local/bin/my-mcp",
      "args": ["--port", "8080"],
      "env": {"MY_VAR": "value"}
    }
  }
}

Remote fields

For sse, http, ws:

Field Purpose
url Server endpoint
headers Static headers map
headersHelper Command producing headers at call time
oauth Optional per-server OAuth block

The oauth block supports OIDC metadata discovery via oauth.authServerMetadataUrl, callback port, and client id.

Tool name normalization

From crates/runtime/src/mcp.rs:6–37:

  1. Server name — non-alphanumeric characters become _.
  2. Tool is exposed to the model as mcp__<server>__<tool>.

Scope and override

Each server records its scope (User / Project / Local). Later scopes override earlier ones (mcp.rs:84), matching the settings precedence in config-files.md.

See also