MCP · Setup
Connecting clients
For MCP-aware clients, "connecting" is one config block. The client handles OAuth + DCR automatically. Per-client setup pages live under Agents; this page is the protocol-side overview.
The config block (every client)
Most MCP clients accept a JSON config snippet describing each MCP server. For Dock:
{
"mcpServers": {
"dock": {
"url": "https://trydock.ai/api/mcp"
}
}
}That's it. On first use, the client triggers the OAuth flow in your browser, you sign in, you're connected. No API key paste, no client_id registration.
Per-client setup pages
Exact config-file paths + verification commands for each supported client live in the Agents book:
- Claude Code
- Claude Desktop
- Claude Cowork
- Claude.ai (web connector)
- Cursor
- Windsurf
- Zed
- Cline
- Continue
- MCP TypeScript SDK
- MCP Python SDK
Browse the Agents book for the full list (54 entries).
Verifying the connection
Once configured, ask the client to list available tools. You should see Dock's 63 tools (list_workspaces, create_row, etc.) in the result.
From the CLI:
# Lists every tool the MCP server exposes
dock mcp tools listTroubleshooting
- OAuth flow doesn't open browser: some terminal-only clients can't open URLs. Either paste the URL manually or set DOCK_API_KEY for headless auth (see the per-client page).
- Tools list is empty: token expired, re-authorize via the client's reconnect flow.
- 403 on tool call: the scope wasn't granted during OAuth. Disconnect and reconnect, granting the missing scope.
- Confirm-token errors on upgrade/downgrade: expected. See dangerous-ops handshake.
Frequently asked questions
- Which MCP clients work with Dock?
- 54 covered with full setup guides at `/docs/agents/*`. Native: Claude Code, Claude Desktop, Claude.ai web, ChatGPT, Cursor, Windsurf, Zed, Continue, Cline, Aider, Codex, GitHub Copilot, JetBrains AI. Frameworks, Local UIs, Builders, No-code (n8n, Zapier, Dify, Flowise, Langflow), and From-scratch SDKs. Learn more →
- Does ChatGPT work with Dock's MCP server?
- Yes, on Plus / Team / Enterprise tiers. Settings → Connectors → Add MCP Server, paste `https://trydock.ai/api/mcp`. ChatGPT auto-registers via Dock's `/api/oauth/register` (DCR) and opens a browser for OAuth consent.
- Does Claude Code work with Dock's MCP server?
- Yes. `claude mcp add dock --transport http https://trydock.ai/api/mcp`. Claude Code's built-in OAuth 2.1 + DCR handles auth (no key ceremony). Bearer-token auth via `--header` is also supported for owned-code agents.
- Does Cursor work with Dock's MCP server?
- Yes. Cursor Settings → MCP → Add new MCP Server, URL `https://trydock.ai/api/mcp`, paste your `dk_` Bearer. Restart Cursor; the 43 Dock tools appear in the chat panel via the standard `tools/list` handshake.
- Does Claude Desktop work with Dock's MCP server?
- Yes. Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or the equivalent Windows path. Add Dock under `mcpServers.dock` with `url: https://trydock.ai/api/mcp` and the Bearer header. Quit and relaunch Claude Desktop.
- Can I use Dock with Windsurf?
- Yes. Windsurf Settings → MCP → Add Server, URL + Bearer. Restart Windsurf and the Dock tools appear in Cascade chat. Same protocol, same tool catalog.
- Can I use Dock with Zed?
- Yes. Zed reads MCP servers from settings.json under `assistant.context_servers.dock`. Set `command` type to HTTP, URL `https://trydock.ai/api/mcp`, headers with the Bearer. Reload Zed.
- Can I use Dock from a Python agent without a framework?
- Yes. Use the MCP Python SDK to connect to `https://trydock.ai/api/mcp` with Bearer auth. Or hit Dock's REST API directly with `httpx` (skip MCP entirely if you don't need tool-discovery semantics). Learn more →
- Can I use Dock from Node.js without a framework?
- Yes. Use the MCP TypeScript SDK with `StreamableHTTPClientTransport` pointing at `/api/mcp`. Or use native `fetch` against Dock's REST API for simpler use cases. Both work in Node, Bun, and edge runtimes. Learn more →
- Does my MCP client need OAuth or is dk_ Bearer enough?
- Either works. OAuth 2.1 + DCR is the recommended path for third-party MCP hosts (Claude Desktop, ChatGPT, Cursor, Windsurf). Bearer (`dk_`) is fine for owned-code agents (CI, scripts, custom Python/Node). Pick whichever fits your runtime.
Related
- OAuth + DCR: protocol detail.
- Tool catalog: every MCP tool Dock exposes.