Invite-only.
Connect

OpenClaw

Dock plugs into OpenClaw as a remote MCP server. Drop one block into ~/.openclaw/openclaw.json, restart the gateway, and your OpenClaw agents can read and write Dock workspaces alongside everything else they do.

Client
OpenClaw
Open-source coding agent. Config at ~/.openclaw/openclaw.json.
HTTP JSON-RPC (streamable-http)
Dock MCP
trydock.ai/api/mcp
37 tools · OAuth 2.1 + DCR · Bearer
Auth path
1
Mint a dk_ key in Dock Settings → API keys.
2
Paste it as Authorization: Bearer dk_… in the client config.
3
Client calls Dock MCP directly on every request.

Prerequisites

  • OpenClaw installed and its gateway running. Check with openclaw --version. See docs.openclaw.ai if you don't have it yet.
  • A Dock account and at least one workspace. Dock is invite-only during beta. request an invite if you need one.

Step 1. Mint a Dock API key

OpenClaw uses Bearer-token auth for remote MCP servers. Mint a scoped dk_ key from the Dock dashboard (Settings → API keys → Create key) or from the Dock CLI:

Mint a dk_ key for OpenClawbash
npx @trydock/cli key new --name "OpenClaw · Vega" --workspace launch-plan

# → dk_live_c914f1c6...   (shown once)

Save the secret. The same key unlocks every tool call OpenClaw makes to Dock.

Step 2. Edit openclaw.json

Config file
~/.openclaw/openclaw.json
Reload
Restart the OpenClaw gateway (openclaw gateway restart) after saving. The gateway reloads mcpServers on startup only.
Alternative
Skip hand-editing: ask your OpenClaw agent to run the mcporter skill with the prompt "add Dock as a remote MCP server". It writes the JSON and reloads for you.

Open the config and drop Dock into the mcpServers object. If the file doesn't exist yet, create it with the structure below.

~/.openclaw/openclaw.jsonjson
{
  "mcpServers": {
    "dock": {
      "url": "https://trydock.ai/api/mcp",
      "transport": "streamable-http",
      "headers": {
        "Authorization": "Bearer dk_live_c914f1c6..."
      }
    }
  }
}

Prefer an env-var indirection (so the secret doesn't sit in a file)?

Indirect via env varjson
{
  "mcpServers": {
    "dock": {
      "url": "https://trydock.ai/api/mcp",
      "transport": "streamable-http",
      "headers": {
        "Authorization": "Bearer ${DOCK_API_KEY}"
      }
    }
  }
}

Export DOCK_API_KEY in the shell that launches the gateway and OpenClaw interpolates it on load.

Step 3. Restart the gateway

$ openclaw gateway restart

◐ Stopping openclaw-gateway...
◐ Reloading ~/.openclaw/openclaw.json...
✓ Loaded 4 MCP servers (filesystem, github, dock, playwright)
✓ openclaw-gateway running on ws://127.0.0.1:18789

Step 4. Verify

Start an OpenClaw session and list the available MCP servers:

$ openclaw

You: /mcp list

OpenClaw:
  filesystem       4 tools   (local stdio)
  github           8 tools   (local stdio)
  dock             37 tools  (remote streamable-http)
  playwright       6 tools   (local stdio)

You: using dock, list my workspaces

OpenClaw: [calls list_workspaces]
  Found 3 workspaces:
    content-pipeline   247 rows   last edit 4m ago
    research-queue     204 rows   last edit 12m ago
    product-brief      doc        last edit 30s ago

Troubleshooting

Symptom
Fix
/mcp list doesn't show dock
The gateway didn't reload. Run openclaw gateway restart, check the output for a JSON parse error pointing at openclaw.json. A trailing comma is the usual culprit.
Dock loads but every call returns 401
The Bearer header didn't interpolate. If you used ${DOCK_API_KEY}, make sure the variable is exported in the shell that launched openclaw gateway (not just your interactive shell). Export it, restart the gateway.
Tools show but return Workspace not found
The key you minted was scoped to a different workspace. Mint a new key scoped to the workspace you're addressing, or make the agent pass the full {org}/{workspace} path.
Connection drops intermittently
Dock is up (status.trydock.ai) but your network is flaky. OpenClaw's gateway auto-retries transient MCP errors. Persistent drops usually mean a corporate proxy is terminating long-lived HTTPS connections. Ask your IT team to allowlist trydock.ai.

Why this matters

OpenClaw's mcporter skill lets every OpenClaw agent manage its own toolbelt in natural language. Once Dock is wired into the gateway, an agent can add, remove, and call Dock tools by name without you touching the config again. You can even ask one OpenClaw agent to teach another the Dock workflow:

Example prompttext
Use the dock MCP to find my 5 oldest "drafted" rows in
content-pipeline, then ask Argus to take them over.
Seal each row as you finish and post a summary in the
brief doc.

That single prompt touches list_rows, update_row, and the doc endpoint, and OpenClaw coordinates the handoff between agents without extra glue. Dock is the durable state; OpenClaw is the conductor.

Related