Connecting clients
Point Cursor, Claude Code, Claude Desktop, VS Code, Windsurf, Codex and Gemini CLI at a profile.
One click
On the web UI's Clients page, Switchboard lists the clients it supports and whether each is installed. Pick a profile for a client and click Connect: Switchboard adds a switchboard entry to the client's user-level MCP configuration. Or from a terminal:
switchboard client ls # clients, their config files and profiles
switchboard client connect cursor --profile work
switchboard client disconnect cursorClient ids are cursor, claude-code, claude-desktop, vscode, windsurf, codex and gemini-cli. The URL uses the running daemon's port; pass --port to client connect to use another.
Before writing, Switchboard copies the file to ~/.switchboard/backups. It changes only its own switchboard entry; JSON files are edited in place, so other keys and comments survive. If the file already has a switchboard entry that Switchboard did not write, it refuses to touch it. Reload or restart the client afterwards.
The page also shows snippets to copy, for clients or projects you would rather configure by hand. The snippets below are what Connect writes; replace work with your profile.
By hand
~/.cursor/mcp.json (by hand, .cursor/mcp.json in a project works too):
{
"mcpServers": {
"switchboard": { "url": "http://127.0.0.1:7690/p/work/mcp" }
}
}stdio bridge
Some clients can only start MCP servers as local processes speaking stdio. For them, switchboard connect is a small bridge: it reads MCP messages on stdin, forwards them to the daemon over HTTP, and writes the replies to stdout.
switchboard connect --profile workIf the daemon is not running, the bridge starts it in the background. Configure the client to run switchboard connect --profile <profile>, or npx -y mcp-switchboard connect --profile <profile> when the package is not installed globally. --url connects to a given MCP endpoint instead. The bridge writes only MCP messages to stdout; anything else goes to stderr.
One entry, several profiles
Instead of a profile in each URL, you can give every client the same http://127.0.0.1:7690/mcp entry and let client rules choose the profile by the client's name.