Client setup
Which MCP clients connect to the server, the config file and key names each one uses, and the rules for keeping the API key out of a repository.
Every client reaches the server the same way: a remote Streamable HTTP MCP server, one URL, one header. There is no local process to run.
URL https://mcp.vulnetix.com/mcp
Header Authorization: ApiKey <orgId>:<hex>
A client works if it can add a remote HTTP MCP server and set a custom request header. The server’s own requirements are on Transport. Client config formats are set by each client’s vendor and change between releases; if a key below is rejected, check your client’s MCP docs and keep the URL and header values the same.
Clients
| Client | Config | Server list key | URL key | Watch out for |
|---|---|---|---|---|
| Claude Code | claude mcp add, ~/.claude.json, .mcp.json |
mcpServers |
url |
Project scope asks for approval on first use |
| Claude Desktop | Settings, Connectors, or claude_desktop_config.json |
mcpServers |
url |
Needs a full quit, not a window close |
| Cursor | ~/.cursor/mcp.json, .cursor/mcp.json |
mcpServers |
url |
Agent mode only |
| VS Code and Copilot | .vscode/mcp.json, user mcp.json |
servers |
url |
Needs "type": "http" |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
mcpServers |
serverUrl |
url is silently ignored |
| Zed | settings.json |
context_servers |
url |
Schema has moved between releases |
| Cline and Roo Code | cline_mcp_settings.json, .roo/mcp.json |
mcpServers |
url |
"type": "streamableHttp" |
| Goose | ~/.config/goose/config.yaml |
extensions |
uri |
type: streamable_http; raise the timeout |
| Continue | ~/.continue/config.yaml |
mcpServers |
url |
type: streamable-http; agent mode only |
| JetBrains AI Assistant | Settings, Tools, AI Assistant, MCP | mcpServers |
url |
Remote servers need a recent build |
| Codex CLI | ~/.codex/config.toml |
[mcp_servers.<name>] |
url |
codex mcp add cannot set an ApiKey header |
| Other clients | varies | varies | varies | Generic recipe and the mcp-remote stdio bridge |
| CI pipelines | generated at run time | varies | varies | Key from the secret store only |
User scope or project scope
| Scope | Examples | Use it when | Risk |
|---|---|---|---|
| User | ~/.claude.json, ~/.cursor/mcp.json, VS Code user mcp.json |
Always, by default | None for git: the file is outside every repository |
| Project | .mcp.json, .cursor/mcp.json, .vscode/mcp.json, .zed/settings.json |
The whole team should get the server | The file is committed. Use the client’s variable or inputs syntax, never a literal key. |
Restart after editing
Nearly every client reads MCP configuration once at launch and caches the tool list. Quit and reopen the app before you decide the config is wrong. Then follow Verify your setup.
Tool counts
The server contributes 31 tools and 18 prompts. Some clients cap how many tools they send to a model across all servers. If the agent ignores a tool it should use, disable servers or tools you are not using.