# Dock (ai.trydock/dock): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.trydock%2Fdock/versions/latest)
- Connected to: https://trydock.ai/api/mcp
- Homepage: https://trydock.ai/
- Repository: https://github.com/try-dock-ai/mcp
- Scoring rules: v2
- Tools: 82
- Average: 59.3 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how Dock (ai.trydock/dock)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 82 tools. Above 40, models choose less accurately.
- Minor: The server's instructions are 4182 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `delete_row`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: rowId. Name the tool or the place that returns it, or models look it up first.
- `remove_video`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `list_videos`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `unresolve_comment`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: comment_id. Name the tool or the place that returns it, or models look it up first.
- `delete_webhook`: 45 / 100
  - Minor: String arguments with no constraint or example: org_slug.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `get_recent_events`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_video_transcript`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `reply_to_comment`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: body.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: comment_id. Name the tool or the place that returns it, or models look it up first.
- `rotate_webhook_secret`: 45 / 100
  - Minor: String arguments with no constraint or example: org_slug.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: webhook_id. Name the tool or the place that returns it, or models look it up first.
- `update_video`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `evaluate_formula`: 46 / 100
  - Minor: Arguments without a description: at.rowId, at.colKey.
  - Minor: String arguments with no constraint or example: at.rowId, at.colKey.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_file`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: file_id. Name the tool or the place that returns it, or models look it up first.
- `get_workspace`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_recent_files`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_surfaces`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `update_surface`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `update_webhook`: 48 / 100
  - Minor: String arguments with no constraint or example: org_slug.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: webhook_id. Name the tool or the place that returns it, or models look it up first.
- `check_workspace_private`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `add_video`: 53 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `resolve_comment`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: comment_id. Name the tool or the place that returns it, or models look it up first.
- `create_surface`: 54 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `edit_video`: 54 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The meaning of the boolean argument mute is unclear.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `rotate_api_key`: 54 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_row`: 55 / 100
  - Minor: String arguments with no constraint or example: rowId.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: rowId. Name the tool or the place that returns it, or models look it up first.
- `list_files`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_rows`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_webhooks`: 55 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `revoke_file_share`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: slug, file_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `delete_file`: 56 / 100
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: file_id. Name the tool or the place that returns it, or models look it up first.
- `revoke_api_key`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `update_workspace_member`: 57 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: member_id. Name the tool or the place that returns it, or models look it up first.
- `upgrade_plan`: 57 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `add_column`: 58 / 100
  - Minor: Arguments without a description: options[].value, options[].label, options[].color.
  - Minor: String arguments with no constraint or example: options[].value, options[].label, options[].color.
  - Minor: Says nothing about what it returns.
- `delete_surface`: 58 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: It may be destructive, but destructiveHint is not set.
- `list_sheet_functions`: 58 / 100
  - Minor: No `required` list, so every argument is optional.
- `request_limit_increase`: 58 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
- `downgrade_plan`: 59 / 100
  - Minor: No `required` list, so every argument is optional.
  - Major: It may be destructive, but destructiveHint is not set.
- `share_workspace`: 59 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `create_support_ticket`: 60 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_webhook`: 60 / 100
  - Minor: String arguments with no constraint or example: org_slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_comment_thread`: 60 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: comment_id. Name the tool or the place that returns it, or models look it up first.
- `get_workspace_schema`: 60 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_api_keys`: 60 / 100
- `list_comments`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: slug.
- `list_workspace_members`: 60 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_workspaces`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
- `move_rows`: 60 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: rowIds. Name the tool or the place that returns it, or models look it up first.
- `remove_workspace_member`: 60 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: member_id. Name the tool or the place that returns it, or models look it up first.
- `request_rotate_agent_key`: 60 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: target_agent_id. Name the tool or the place that returns it, or models look it up first.
- `update_row`: 60 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: rowId. Name the tool or the place that returns it, or models look it up first.
- `validate_doc_markdown`: 62 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `append_doc_section`: 63 / 100
- `list_my_support_tickets`: 63 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
- `react_to_comment`: 63 / 100
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: comment_id. Name the tool or the place that returns it, or models look it up first.
- `validate_formula`: 63 / 100
- `watch_video`: 63 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_workspace`: 64 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `validate_html`: 64 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `create_video_upload`: 65 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `delete_workspace`: 65 / 100
  - Major: It may be destructive, but destructiveHint is not set.
- `get_html`: 65 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `request_revoke_agent_key`: 65 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: target_agent_id. Name the tool or the place that returns it, or models look it up first.
- `share_file`: 65 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: file_id. Name the tool or the place that returns it, or models look it up first.
- `update_workspace`: 65 / 100
- `get_doc`: 66 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_connectable_apps`: 67 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `add_comment`: 68 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_file_upload`: 68 / 100
- `get_billing`: 69 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_row`: 70 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `update_html`: 70 / 100
  - Minor: The description is long (516 words). It helps selection but costs steps and tokens.
  - Minor: String arguments with no constraint or example: slug.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `search`: 72 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `update_doc`: 73 / 100
  - Minor: The description is long (597 words). It helps selection but costs steps and tokens.
  - Major: It may be destructive, but destructiveHint is not set.
- `update_doc_section`: 73 / 100
  - Minor: The description is long (643 words). It helps selection but costs steps and tokens.
  - Major: It may be destructive, but destructiveHint is not set.
- `address_book`: 74 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `bulk_update_rows`: 75 / 100
- `list_capabilities`: 75 / 100
- `request_connection`: 75 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `send_message`: 75 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `upload_file`: 75 / 100
- `bulk_create_rows`: 80 / 100
- `pull_capability`: 80 / 100

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
