Claude Desktop
Custom connector or mcp-remote — do not put a URL in claude_desktop_config.json
Claude Desktop has two MCP mechanisms. Mixing them up is the usual failure.
Preferred: Custom connector (same as Claude.ai)
Settings → Connectors → Add custom connector → URL https://oauth.servicebay.io/mcp.
That connection is still brokered through Anthropic's cloud (your machine does not open the MCP socket). OAuth consent runs in the browser. This is the path that speaks Streamable HTTP natively.
Local config file: stdio only
claude_desktop_config.json accepts command/args servers. A url or type: "http" entry is invalid; current builds strip the whole mcpServers object on startup.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
To reach Servicebay from that file, bridge with mcp-remote:
{
"mcpServers": {
"servicebay": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://oauth.servicebay.io/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sk_live_YOUR_KEY"
}
}
}
}Put the Bearer … value in env (spaces are safe there). Restart Claude Desktop after saving.
Without a static key, omit --header and mcp-remote will run the OAuth loopback flow.