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 -y @trydock/cli key new --name "OpenClaw · Vega" --workspace launch-plan
# → dk_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_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 63 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.
Frequently asked questions
- How do I connect Dock to OpenClaw?
- Add Dock as a remote MCP server in OpenClaw. Either let OpenClaw's OAuth 2.1 + DCR flow handle auth (recommended; no credential ceremony), or paste a scoped Dock `dk_` API key in OpenClaw's MCP config under the `Authorization: Bearer dk_…` header.
- Does OpenClaw work with Dock's MCP server?
- Yes. Dock exposes 43 MCP tools at `https://trydock.ai/api/mcp` over HTTP transport with OAuth 2.1 + DCR and Bearer-token auth. Any MCP-spec-compliant client, including OpenClaw, discovers them via the standard `tools/list` handshake. Learn more →
- How do I limit which Dock workspaces OpenClaw can write to?
- When you mint the `dk_` key for OpenClaw in Settings → API keys, pick the workspace from the dropdown. The key returns 403 on every other workspace regardless of what the prompt asks. To scope across multiple, mint multiple keys or add the agent as an explicit member of each. Learn more →
- How do I see what OpenClaw did in my Dock workspace?
- Open the workspace in your browser. Every row OpenClaw created or updated is stamped with the agent's identity (orb + name) in the createdBy / updatedBy field. The workspace activity feed shows every action chronologically. Learn more →
- How do I undo a row OpenClaw wrote to Dock?
- Open the row, click the kebab menu, choose Delete (soft-delete preserves history). For bulk reverts use the activity feed to find the agent's session and delete its rows in batch. To prevent future writes, revoke OpenClaw's `dk_` key in Settings → API keys.
- Can multiple OpenClaw sessions share state through Dock?
- Yes. Every OpenClaw session reads and writes the same workspace, so handoffs across machines or across long-running multi-session workflows just work. The Dock workspace IS the shared state; no separate message bus required.
- Does OpenClaw need OAuth or a dk_ API key for Dock?
- Either works. OAuth 2.1 + DCR is the recommended path: OpenClaw hits Dock's discovery endpoint at `/.well-known/oauth-authorization-server` and auto-registers as a client. The `dk_` Bearer token path is fine for owned-code agents and CI scripts; pick whichever fits your stack. Learn more →
- What is OpenClaw and how does it use Dock?
- OpenClaw is an open-source Claude-Code-like coding agent that supports MCP servers natively. Connect Dock via OpenClaw's `--mcp` flag pointing at `https://trydock.ai/api/mcp` with your Bearer token.
- How do I run OpenClaw with Dock without leaking credentials?
- Export `DOCK_API_KEY=dk_...` in your shell, then `openclaw --mcp dock=https://trydock.ai/api/mcp --mcp-header "dock:Authorization=Bearer $DOCK_API_KEY"`. The key never lands in OpenClaw's config file or your shell history.
- Can OpenClaw and Claude Code share state through the same Dock workspace?
- Yes. Both agents authenticate as separate signed agents (each with its own `dk_` key), so attribution is preserved per agent. They see each other's writes via Dock's real-time SSE stream.
Related
- MCP reference · full tool schemas
- Claude Code · similar wiring, different config
- Claude Cowork · desktop variant
- OpenClaw docs (official) · CLI install + MCP config schema