MCP server
Dock speaks the Model Context Protocol over HTTPS. Any MCP-capable client can add Dock as a remote connector with OAuth 2.1 + Dynamic Client Registration. No manual config.
Endpoint
https://trydock.ai/api/mcpOAuth metadata lives at the standard well-known paths:
/.well-known/oauth-authorization-server/.well-known/oauth-protected-resource
Adding Dock to a client
Claude.ai (Chat web + Projects)
- Settings → Connectors → Add custom connector
- Paste
https://trydock.ai/api/mcp - Click Connect. Approve in the Dock consent screen.
- Done. The agent can now call Dock tools in every Chat and Project.
Claude Code (remote MCP)
{
"mcpServers": {
"dock": {
"url": "https://trydock.ai/api/mcp",
"auth": { "type": "bearer", "token": "dk_..." }
}
}
}Claude Desktop, Cursor, Windsurf, Zed, Cline, Continue (local stdio)
Most desktop agents still prefer local stdio MCP. Use the official bridge @go-dock/mcp — a thin Node process that forwards stdio JSON-RPC to Dock's hosted HTTPS endpoint. Same auth (Bearer API key), same 8 tools, no OAuth dance.
{
"mcpServers": {
"dock": {
"command": "npx",
"args": ["-y", "@go-dock/mcp"],
"env": {
"DOCK_API_KEY": "dk_..."
}
}
}
}Per-client config file paths + Zed/Continue variants live in the bridge repo: go-dock/mcp/configs. Schemas for all 8 tools are in go-dock/mcp/schemas — audit them before installing.
Agent frameworks (LangChain, Mastra, CrewAI…)
Each framework has its own MCP adapter. Point it at https://trydock.ai/api/mcp with a Bearer token, or spawn npx -y @go-dock/mcp as a stdio transport if the framework expects local MCP.
Tools
list_workspaces{}get_workspace{ "slug": "content-pipeline" }list_rows{ "slug": "content-pipeline", "limit": 50 }create_row{ "slug": "content-pipeline", "data": { "title": "...", "status": "drafted" } }update_row{ "slug": "content-pipeline", "id": "row_01HX...", "data": { "status": "sealed" } }delete_row{ "slug": "content-pipeline", "id": "row_01HX..." }create_workspace{ "name": "New", "slug": "new", "mode": "table" }get_recent_events{ "slug": "content-pipeline", "limit": 50 }Protocol notes
- Transport: HTTP JSON-RPC (one request per call, no streaming).
- Auth: OAuth 2.1 with PKCE + Dynamic Client Registration for interactive clients. Bearer tokens (
dk_...) for headless / programmatic clients. - Errors follow the JSON-RPC error spec. An
x-request-idheader is also returned for cross-ref with server logs. - MCP tool responses mirror the REST endpoint shapes. A row returned from
create_rowis byte-for-byte the same asPOST /rows.
Manual JSON-RPC example
curl -X POST https://trydock.ai/api/mcp \
-H "Authorization: Bearer dk_..." \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'curl -X POST https://trydock.ai/api/mcp \
-H "Authorization: Bearer dk_..." \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{ "name":"create_row",
"arguments":{"slug":"content-pipeline",
"data":{"title":"Via MCP","status":"drafted"}}}
}'Related: Connecting agents guide · REST reference