Compatible clients
| Client | Supported transports | Quick setup |
|---|---|---|
| Claude Code | stdio, HTTP | sdl-mcp init --client claude-code |
| Claude Desktop | stdio | sdl-mcp init --client claude-code |
| Cursor | stdio, HTTP | Standard MCP server config |
| Windsurf | stdio, HTTP | Standard MCP server config |
| Codex CLI | stdio | sdl-mcp init --client codex |
| Gemini CLI | stdio, HTTP | sdl-mcp init --client gemini |
| OpenCode | stdio, HTTP | sdl-mcp init --client opencode |
| Any MCP client | stdio / HTTP | sdl-mcp serve --stdio or --http |
Stdio configs
With stdio transport, the agent spawns the SDL-MCP process directly. No separate server process is needed.- Claude Code
- Claude Desktop
- Cursor
- Windsurf
- Codex CLI
- Gemini CLI
- OpenCode
Add to your Claude Code MCP config (If you installed SDL-MCP globally (not via NVM), replace the
.claude/settings.json or the global Claude config):.claude/settings.json
serve --stdio is required — running sdl-mcp alone does not start the MCP server.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:- Claude Code
- Cursor / generic MCP client
- Legacy SSE
.claude/settings.json
HTTP server endpoints
| Endpoint | Method | Purpose |
|---|---|---|
/mcp | POST | Streamable HTTP MCP calls (primary) |
/mcp | GET | Server-sent events for push notifications |
/mcp | DELETE | Terminate an MCP session |
/sse | GET | Legacy SSE transport (deprecated) |
/message | POST | Legacy SSE message endpoint (deprecated) |
/health | GET | Health check (no auth required) |
/ui/graph | GET | Interactive graph explorer |
/api/* | GET | REST 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
"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 theinit command with your client and --enforce-agent-tools:
- 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
Thesdl-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:sdl.repo.register— register your codebasesdl.index.refresh— trigger indexingsdl.symbol.search— search for a symbol by namesdl.symbol.getCard— retrieve a Symbol Card