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.
dk_ key in Dock Settings → API keys.Authorization: Bearer dk_… in the client config.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:
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
~/.openclaw/openclaw.jsonopenclaw gateway restart) after saving. The gateway reloads mcpServers on startup only.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.
{
"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)?
{
"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:18789Step 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 agoTroubleshooting
/mcp list doesn't show dockopenclaw gateway restart, check the output for a JSON parse error pointing at openclaw.json. A trailing comma is the usual culprit.401${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.Workspace not found{org}/{workspace} path.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:
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
- MCP reference · full tool schemas
- Claude Code · similar wiring, different config
- Claude Cowork · desktop variant