← Registry

Productivity

trydock.ai

Manages workspace and row data in a collaborative table surface, enabling listing, creation, and retrieval of rows and workspace details.

1 endpoint69 known toolsFirst detected May 29, 2026Last detected September 6, 2026

ENDPOINT 1

https://trydock.ai/api/mcp

No auth detected

MCP server metadata

Name
dock
Version
1.0.0
Capabilities
tools
Server instructions

You are connected to Dock, a shared cloud workspace for humans and AI agents. # Mental model A workspace is a container of one or more surfaces (tabs). Each surface is either a `doc` (TipTap rich-text body) or a `table` (typed rows + columns). A workspace can hold any combination, one or many of either kind — one doc, one table, two docs and a table, etc. There is no rule that every workspace contains both. `mode` on the workspace just picks which tab opens first; it does not restrict what surfaces exist. # Pick the right surface - Prose (briefs, summaries, retros, status reports, anything you'd write as paragraphs and headings) → `doc`. Use `update_doc(markdown=...)` for full replacement, `append_doc_section(markdown=...)` for append-only at the end, or `update_doc_section(heading, markdown)` to refresh just one section in the middle. Never hand-build ProseMirror JSON. - Records with shared columns (tasks, leads, ingest output, anything tabular) → `table`. Use `create_row` / `update_row`. The bias to avoid: shredding prose into single-column rows because rows feel easier. Pick the shape that fits the content. # Rich content in docs Doc bodies accept the full friendly format set via markdown. Pick the right syntax for the content shape: - **Diagrams** → ```mermaid` fenced block. 15 sub-types covered by one library: flowchart, sequence, gantt, ER, state, class, mindmap, timeline, pie, quadrant, sankey, XY-chart, packet, block, journey. Diagram source is text; agents emit it natively. - **Math** → `$x$` (inline) or `$$x$$` (block). LaTeX, KaTeX-rendered. Use this instead of typesetting math in code blocks or as plain text. - **Callouts** → `> [!NOTE]` / `[!TIP]` / `[!IMPORTANT]` / `[!WARNING]` / `[!CAUTION]`. GFM-standard, identical to GitHub's renderer. - **Custom diagrams (escape hatch)** → ```svg` fenced block. Universal fallback for anything Mermaid doesn't model (geometry, decorative figures, custom layouts). Scripts and event handlers are stripped at write time, so write whatever SVG markup you need without worrying about XSS — the gate is applied for you. - **Collapsible sections** → `<details><summary>title</summary>\nbody...\n</details>`. Native disclosure widget; useful for FAQ-style content or long appendix material. - **Cross-references** → `[[slug]]` (whole workspace), `[[slug#tab]]` (specific surface), `[[slug#row-id]]` (specific row), `[[org/slug]]` (org-prefixed), `[[slug|display]]` (custom label). Each cross-ref creates a Backlink row, so the target's "referenced from" sidebar widget shows this doc. Targets the reader can't see render as plain text (no info leak). Use cross-refs liberally — they're how you build the workspace knowledge graph. - **External embeds** → paste a URL on its own line from a safelisted provider: YouTube, Vimeo, Loom, Figma, CodePen, GitHub gists. The URL becomes a sandboxed iframe. URLs not on the safelist stay as plain links — there's no auto-promotion to iframe outside the safelist. Per-format caps: max 50 Mermaid diagrams (30 KB source), max 500 math expressions (8 KB source), max 50 SVG blocks (100 KB source post-sanitize), max 200 cross-refs per doc, max 20 embeds per doc. Cap breaches return DocGuardError with the specific dimension. Trim and retry. **Pre-flight check**: `validate_doc_markdown(markdown=...)` parses your markdown and returns { ok, errors, warnings, parsed } with counts per format type — no writes, no side effects. Use this when iterating on rich-format markdown to catch cap breaches, syntax errors, and unresolved cross-refs BEFORE burning a real write. Tips: - Prefer Mermaid over hand-written ASCII art or images for any standard diagram type. Mermaid renders to SVG (zoom-friendly on mobile, indexable for search), round-trips cleanly through `get_doc`, and the agent reading the doc back gets the source verbatim. - Use the ```svg` escape hatch ONLY when Mermaid doesn't fit (custom geometry, decorative figures). Always include a `<title>` element inside the SVG for screen readers. - Wrap long appendix material or rare-path branches in `<details>` so the doc reads compactly by default but the full content is one click away. # You can edit anything, anytime Nothing in Dock is write-once. Reach for the right tool whenever state is wrong: - Rows: `update_row` (partial merge), `delete_row` - Doc bodies: `update_doc` (replace whole body), `append_doc_section` (append at end), `update_doc_section(heading, markdown)` (replace one section in the middle without disturbing the rest — heading-keyed, doesn't race with concurrent edits to other sections) - Workspace metadata: `update_workspace` (rename, mode, visibility) - Tabs: `create_surface`, `update_surface`, `delete_surface` — workspaces are not frozen with their starting tabs, grow them when the work needs another - Members: `share_workspace`, `update_workspace_member`, `remove_workspace_member` # Subscribe to changes, don't poll `create_webhook` registers an HMAC-signed endpoint that fires on every row, doc, member, and workspace mutation. Use this to wake up on state changes instead of polling on a timer. Manage with `list_webhooks` / `update_webhook` / `rotate_webhook_secret` / `delete_webhook`. # Self-manage org settings You can drive billing and credentials directly. Don't tell users to "go to settings" for things you can do yourself: - Plans: `get_billing`, `upgrade_plan`, `downgrade_plan`, `request_limit_increase`. Plan changes are consent-gated; you pick the surface via `mode`. Default `mode: "chat"`: first call returns a `confirm_token` + summary you surface in chat; second call (within 60s, passing the token) flips the plan. Or pass `mode: "web"`: first call returns an `approval_url` you print in chat; user clicks, approves in browser, you poll `polling_url` for the result. Use web mode if you're headless or your user prefers a click-to-approve flow. - Credentials: `rotate_api_key`, `revoke_api_key` (your own key only). - Support: `create_support_ticket` instead of "email support" (Dock has no support email). # Bootstrap a key for sibling agents If a teammate agent or a chat-only agent (no MCP, no terminal) needs to onboard onto Dock, point them at the click-to-approve flow at `POST /api/agent-bootstrap/start`: they pass an `agent_name` (and optional `workspace_slug`), surface the returned `approval_url` to the user, and poll `polling_url` every ~3s. When the user clicks Approve in their browser, the next poll returns `{ status: "approved", api_key, agent_id, workspace_slug }`. Same security model as `gh auth login` — single-click consent, single-use 5-min token, no terminal required. Docs: `/docs/agent-prompt#bootstrap`. # Slug form Workspace slugs accept two forms: bare (`my-workspace`) or org-prefixed (`my-org/my-workspace`). Both resolve to the same workspace. The dashboard URL shows the org-prefixed form; pass whichever you have. # Multi-tab workspaces `list_surfaces(slug)` enumerates the tabs inside a workspace. Pass `surface_slug` on doc/row tools to address a specific tab; omit it to fall through to the workspace's primary surface of that kind. # Discovery - `list_workspaces` for everything you can access. - `search(q, kind?)` when the user names something fuzzily, faster than listing + filtering. - `get_recent_events(slug)` when picking up a workspace after time away. # When you hit an error Every error response carries an `x-request-id`. Include it as context when you `create_support_ticket`. Cap errors include `details.upgrade` (in-plan upgrades) or `details.increase` (past-Scale asks); call the named tool, don't escalate to a human.

Known tools 69

list_workspaces

List all workspaces the authenticated principal has access to.

Inferred read-only
get_workspace

Get details about a specific workspace by its slug, including columns of its primary table surface, member count, and row count.

Inferred read-only
list_rows

List rows in a workspace's table surface.

Inferred read-only
create_row

Append a new row to a workspace's table surface.

Inferred read-only
get_row

Fetch a single row by id without listing the full table.

Inferred read-only
update_row

Update specific fields of an existing row.

Potential side effects
delete_row

Permanently delete a row from a workspace.

Potential side effects
move_rows

Atomically move N rows from their current sheet(s) to a target sheet inside the same workspace.

Inferred read-only
get_doc

Read a workspace's doc (TipTap rich-text) body.

Inferred read-only
get_workspace_schema

Return a table surface's column definitions so an agent knows what keys create_row/update_row will accept.

Inferred read-only
add_column

Append a single column to a workspace's table schema.

Inferred read-only
list_workspace_members

List principals with explicit access to a workspace.

Inferred read-only
delete_workspace

Archive a workspace.

Inferred read-only
update_workspace

Rename a workspace, change its slug, switch its default-view mode, or flip its visibility (private | org | unlisted | public).

Inferred read-only
share_workspace

Invite a human (by email) to a workspace at a specified role.

Potential side effects
update_workspace_member

Change an existing workspace member's role.

Inferred read-only
remove_workspace_member

Remove a workspace member.

Potential side effects
update_doc

Replace a workspace's doc body.

Inferred read-only
validate_doc_markdown

Pre-flight check on markdown BEFORE writing it via update_doc / append_doc_section.

Inferred read-only
update_doc_section

Replace a single section of a workspace's doc body, identified by its heading text.

Inferred read-only
append_doc_section

Append a chunk of Markdown to the END of a workspace's doc body.

Inferred read-only
get_html

Read an HTML surface's body.

Inferred read-only
update_html

Write an HTML surface's body.

Potential side effects
validate_html

Pre-flight check on html / css / js BEFORE writing via update_html.

Inferred read-only
create_workspace

Create a new workspace in the caller's org.

Potential side effects
get_recent_events

Get recent activity events for a workspace.

Inferred read-only
search

Search across everything the caller can already touch: workspace names, row cell values, and doc sections/paragraphs.

Inferred read-only
get_billing

Get the caller's org billing summary: current plan (free, pro, or scale), active counts and caps for every gated resource (agents, members, workspaces, rows per workspace, API calls per month, webhooks per month, messages per month bundle), monthly price in cents, card on file if any, next invoice date.

Potential side effects
upgrade_plan

Move the caller's org to Pro ($19/mo flat, 10 agents, 20 members, 200 workspaces, 5k rows per workspace) or Scale ($49/mo flat, 30 agents, 60 members, 1,000 workspaces, 50k rows per workspace).

Inferred read-only
downgrade_plan

Schedule a downgrade to Free at the end of the current billing period.

Inferred read-only
request_limit_increase

Ask Dock to raise a plan limit (agents, workspaces, rows, or other).

Inferred read-only
list_surfaces

List the surfaces (tabs) inside a workspace.

Inferred read-only
create_surface

Create a new surface (tab) inside a workspace.

Potential side effects
update_surface

Rename, reslug, reorder, OR replace the column schema of a surface.

Inferred read-only
delete_surface

Archive a surface (soft-delete).

Potential side effects
list_api_keys

List API keys.

Inferred read-only
rotate_api_key

Atomically mint a new API key with the same agent / workspace / scopes / name and revoke the old one.

Inferred read-only
revoke_api_key

Revoke an API key (soft-delete via `revokedAt`).

Potential side effects
request_revoke_agent_key

Ask the human owner to revoke ANOTHER agent's active API key (sibling agent).

Inferred read-only
request_rotate_agent_key

Ask the human owner to rotate ANOTHER agent's active API key (mint a new one + revoke the old).

Inferred read-only
list_webhooks

List webhook endpoints registered on an org.

Inferred read-only
create_webhook

Register a new webhook endpoint on an org.

Inferred read-only
update_webhook

Toggle a webhook's `active` flag on or off.

Inferred read-only
rotate_webhook_secret

Mint a fresh signing secret for a webhook.

Inferred read-only
delete_webhook

Permanently delete a webhook endpoint.

Potential side effects
send_message

Send a direct message to another agent or human in the messaging substrate.

Potential side effects
create_support_ticket

File a support ticket.

Inferred read-only
list_support_tickets

List support tickets (READ-ONLY) from Dock's support repo.

Inferred read-only
get_support_ticket

Read ONE support ticket by its number (as shown in list_support_tickets), including the full body/description.

Inferred read-only
list_sheet_functions

List the Dock Sheets formula functions an agent can use in a cell carrier.

Inferred read-only
validate_formula

Parse-check a formula expression server-side without writing anything.

Inferred read-only
evaluate_formula

Evaluate a formula expression against an actual Dock workspace's columns + rows, server-side, returning the same display value the UI's HyperFormula engine would render.

Inferred read-only
add_comment

Post a new comment on any target in a workspace: a row, a cell, a doc text range, an html element, an entire surface, or the workspace itself.

Potential side effects
list_comments

List comments in a workspace.

Inferred read-only
get_comment_thread

Fetch a single comment with its replies + reactions in one round trip.

Inferred read-only
reply_to_comment

Convenience wrapper around `add_comment` for the common reply case.

Inferred read-only
resolve_comment

Mark a comment thread resolved.

Inferred read-only
unresolve_comment

Re-open a previously-resolved comment thread.

Inferred read-only
react_to_comment

Add or remove an emoji reaction to a comment.

Potential side effects
list_files

List the folder + file children of a Files surface (kind='files').

Inferred read-only
get_file

Fetch metadata + a download URL for a single file by id.

Inferred read-only
delete_file

Soft-delete a file by id.

Potential side effects
share_file

Mint a public share token for a file.

Inferred read-only
revoke_file_share

Soft-revoke a share token minted via `share_file`.

Inferred read-only
list_recent_files

List the 50 most recently updated files in a Files surface, sorted by `updatedAt` descending.

Inferred read-only
address_book

Lists the agents you can reach — your own agents AND agents shared to you from other owners.

Inferred read-only
list_capabilities

List the provider API keys your owner has stored in their Vault (e.

Inferred read-only
pull_capability

Pull one provider API key your owner has vaulted, so you can use it for the task at hand (e.

Inferred read-only
request_connection

Ask your owner to connect a third-party app (Gmail, Slack, Notion, Linear.

Potential side effects

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.dock]
url = "https://trydock.ai/api/mcp"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "dock": {
      "type": "http",
      "url": "https://trydock.ai/api/mcp"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: dock
Remote MCP URL: https://trydock.ai/api/mcp

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "dock": {
      "url": "https://trydock.ai/api/mcp"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "dock": {
      "type": "http",
      "url": "https://trydock.ai/api/mcp"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "dock",
  "transport": "streamable-http",
  "url": "https://trydock.ai/api/mcp"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Trust Data Available

BuiltWith Trust API v2 evidence for trydock.ai was fetched 2026-08-24T00:24:54.489Z and is being refreshed.

Trust status Neutral

trydock.ai is assessed as Neutral: No suspicious signals found, but no strong positive signal either

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.