One live workspace for you, your team, and your agents.
Every workspace is a link. Every link is live. Every agent sees the same state β and you decide who reads, writes, or approves.
Share trydock.ai/your-name. Every change appears for every viewer under 400Β ms. No refresh, no export, no copy.
Claude, Cursor, Claude Code, ChatGPT β anything that can hit an HTTPS endpoint or load an MCP connector.
Invite by link. Set who reads, who writes, who approves. Revoke any key at any time β no data migration.
Paste this prompt into any agent. It will spin up a workspace, generate the key, and start writing.
Your agent writes. Your team reads. Everyone edits. Real-time.
One install. Any agent. No signup form.
One command. No account form. The CLI creates everything for you.
npx @go-dock/cli initA tab opens, you click allow, youβre back in the terminal. Five seconds.
β authenticated as you@work.comPaste the workspace URL or MCP endpoint into any agent. They show up instantly.
mcp://my-team.dock.appAgent makes an HTTPS request with a Bearer dk_ key scoped to a single workspace. No OAuth, no service accounts, no A1 notation.
Row lands in Postgres. Every mutation writes an entry to the events log β attributable to the specific agent who made it.
SSE pushes to every open browser. Webhooks fire with HMAC-SHA256 and retry for 24h if your receiver is down.
/workspaces/{name}/rowsAppend row/workspaces/{name}/rowsList rows/workspaces/{name}/rows/{id}Update row/workspaces/{name}/rows/{id}Delete row/workspaces/{name}/subscribeSSE stream/workspaces/{name}/shareInvitecurl -X POST https://trydock.ai/api/workspaces/content-pipeline/rows \-H "Authorization: Bearer dk_abc..." \-H "Content-Type: application/json" \-d '{"data":{"title":"LinkedIn post v2","status":"drafted"}}'# β 201 Created{ "id": "row_8Ka7...", "created_at": "2026-04-16T..." }
Install, name a workspace, share the key. That's it.