Connecting to MCP clients
Every MCP Surface exposes a standard HTTP endpoint that any MCP-compatible client can connect to. This page covers setup for the most popular clients and gives you a JSON config you can adapt for anything else.
Your MCP server URL follows this pattern:
Find the exact URL in the Ship tab of your MCP Surface.
Authentication modes
Choose the mode that fits your client and security needs. You set this when creating the Surface or from the Ship tab later.
With OAuth, most clients handle the flow automatically when you paste the URL. With API Key, you create a key in the Keys tab (keys use the mcp_ prefix) and include it in the config.
Claude Desktop
OAuth (recommended)
API Key
Open claude_desktop_config.json and add:
Restart Claude Desktop. You will be prompted to authorize in the browser on first connection.
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Open the file from Settings > Developer > Edit Config in Claude Desktop.
Claude Code
OAuth (recommended)
API Key
Run this in your terminal:
Claude Code prompts you to authorize in the browser.
Use claude mcp list to verify the server appears, and claude mcp remove your-product to disconnect.
Cursor
OAuth (recommended)
API Key
- Open Settings (
Cmd/Ctrl+,). - Search for MCP.
- Click Add new MCP server.
- Paste the MCP server URL from the Ship tab.
- Authorize in the browser prompt.
VS Code (GitHub Copilot)
Add to .vscode/mcp.json in your workspace:
OAuth (recommended)
API Key
VS Code discovers the server when you open the workspace. Use the Copilot chat panel to verify tools are available.
VS Code (Cline)
- Click the Cline icon in the sidebar.
- Open Settings (gear icon).
- Scroll to MCP Servers and click Edit MCP Settings.
- Add your server URL and, if using API Key auth, the Bearer header.
- Save and reopen the Cline sidebar.
Windsurf
Add to your Windsurf MCP config (.windsurf/mcp.json or via Settings > MCP):
Omit the headers block if your Surface uses OAuth or is public.
JetBrains IDEs
In any JetBrains IDE (IntelliJ, WebStorm, PyCharm, etc.) with AI Assistant enabled:
- Open Settings > Tools > AI Assistant > MCP Servers.
- Click + to add a server.
- Enter the MCP server URL.
- If using API Key auth, add the
Authorization: Bearer YOUR_API_KEYheader. - Click OK and restart the IDE.
Any other MCP client
The JSON config structure is the same across most clients. Adapt this template:
For OAuth-enabled Surfaces, drop the headers block entirely. The client will negotiate auth automatically if it supports MCP OAuth discovery.
The MCP manifest is available at:
Verify your connection
After connecting, confirm your Capabilities appear as tools:
- Claude Desktop — look for the tools icon (hammer) in the chat input area.
- Claude Code — run
claude mcp listand check for your server name. - Cursor — open the MCP section in the chat panel sidebar.
- VS Code (Copilot) — look for the tools indicator in the Copilot chat.
Try asking the AI to use one of your tools by name. If tools do not appear, check that the Surface status is Active and that Capabilities are enabled in the Endpoints tab.
Troubleshooting
Tools not appearing:
- Verify the Surface status is Active in Runtype.
- Check that at least one Capability is enabled in the Endpoints tab.
- Restart or reload the client after adding the config.
- For API Key auth, confirm the key uses the
mcp_prefix and has not been revoked.
Authentication errors:
- OAuth: make sure you completed the browser authorization flow.
- API Key: check for typos and that the key matches the Surface, not a different one.
- See MCP authentication for details.
Connection timeout:
- Confirm the URL is correct (check the Ship tab for the canonical URL).
- Some corporate networks block outbound connections — try from a different network.
Next steps
- Setting up an MCP Surface to create and configure your Surface
- MCP authentication for key management and security
- Scoping API keys to capabilities for fine-grained access control
- Adding capabilities to a product to expose more tools