Skip to main content
SDL-MCP supports any MCP-compatible client. Use the tabs below to find the right config for your agent.

Compatible clients

ClientSupported transportsQuick setup
Claude Codestdio, HTTPsdl-mcp init --client claude-code
Claude Desktopstdiosdl-mcp init --client claude-code
Cursorstdio, HTTPStandard MCP server config
Windsurfstdio, HTTPStandard MCP server config
Codex CLIstdiosdl-mcp init --client codex
Gemini CLIstdio, HTTPsdl-mcp init --client gemini
OpenCodestdio, HTTPsdl-mcp init --client opencode
Any MCP clientstdio / HTTPsdl-mcp serve --stdio or --http

Stdio configs

With stdio transport, the agent spawns the SDL-MCP process directly. No separate server process is needed.
Add to your Claude Code MCP config (.claude/settings.json or the global Claude config):
.claude/settings.json
"sdl-mcp": {
  "type": "stdio",
  "command": "C:\\nvm4w\\nodejs\\sdl-mcp.cmd",
  "args": [
    "serve",
    "--stdio"
  ],
  "env": {
    "SDL_CONFIG": "[path-to-global]/sdlmcp.config.json"
  }
}
serve --stdio is required — running sdl-mcp alone does not start the MCP server.
If you installed SDL-MCP globally (not via NVM), replace the command path with the result of which sdl-mcp (macOS/Linux) or where sdl-mcp (Windows).

HTTP transport configs

HTTP (Streamable HTTP) transport lets multiple agents connect to one running SDL-MCP server concurrently. Start the server first:
sdl-mcp serve --http --port 3000
The server prints a bearer token on startup. Copy it — you’ll need it in every agent config:
[sdl-mcp] HTTP server listening on http://localhost:3000
[sdl-mcp] HTTP auth token: a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4
.claude/settings.json
"sdl-mcp": {
  "type": "streamableHttp",
  "url": "http://localhost:3000/mcp",
  "headers": {
    "Authorization": "Bearer <token-from-server-startup>"
  }
}

HTTP server endpoints

EndpointMethodPurpose
/mcpPOSTStreamable HTTP MCP calls (primary)
/mcpGETServer-sent events for push notifications
/mcpDELETETerminate an MCP session
/sseGETLegacy SSE transport (deprecated)
/messagePOSTLegacy SSE message endpoint (deprecated)
/healthGETHealth check (no auth required)
/ui/graphGETInteractive graph explorer
/api/*GETREST API for graph queries

Static auth token

By default, SDL-MCP generates a random bearer token on each server start. To use a fixed token across restarts, set it in your config:
sdlmcp.config.json
{
  "httpAuth": {
    "enabled": true,
    "token": "my-static-token"
  }
}
Set "enabled": false to disable auth entirely for trusted local environments.

Tool enforcement

Without enforcement, an agent can have SDL-MCP connected and still use native read and shell tools, bypassing the token savings. Tool enforcement makes your agent prefer SDL-MCP tools exclusively. Run the init command with your client and --enforce-agent-tools:
sdl-mcp init --client claude-code --enforce-agent-tools
# other supported clients: codex, gemini, opencode
This generates:
  • Repo-local instruction files (e.g., CLAUDE.md, AGENTS.md) with SDL-first workflow rules
  • Client-specific enforcement assets (tool allowlists, Code Mode config)
Tool enforcement is optional but strongly recommended. Without it, agents may still read files directly, wasting tokens that SDL-MCP would otherwise save.

VSCode extension

The sdl-mcp-vscode extension provides live buffer integration: as you type in VS Code, unsaved editor changes are pushed to SDL-MCP’s in-memory overlay store and become immediately queryable by connected agents — no manual save or re-index needed. Install the extension from the sdl-mcp-vscode/ directory in the repository. See the extension README for setup instructions.

Verification

After connecting any client, verify the integration with these four MCP tool calls:
  1. sdl.repo.register — register your codebase
  2. sdl.index.refresh — trigger indexing
  3. sdl.symbol.search — search for a symbol by name
  4. sdl.symbol.getCard — retrieve a Symbol Card
If those four calls succeed, your client is correctly connected and ready for slice and code-window workflows.

Build docs developers (and LLMs) love