Skip to main content
Glama
isteamhq

@isteamhq/mcp

by isteamhq

@isteamhq/mcp

MCP server for is.team — connect AI agents to your project boards.

Setup

Claude Code / Claude Desktop

Add to your MCP config (.mcp.json or Claude Desktop settings):

{
  "mcpServers": {
    "is-team": {
      "command": "npx",
      "args": ["-y", "@isteamhq/mcp"],
      "env": {
        "IST_API_TOKEN": "ist_your_token_here"
      }
    }
  }
}

Get your API token

  1. Go to is.team and open Account Settings

  2. Navigate to the API tab

  3. Generate a new token

  4. Copy the ist_xxx token into the config above

Related MCP server: TaskForge

Tools

v3.0 ships ~113 tools total — task & card lifecycle (33), canvas (12), workspace primitives (9), team ops (6), sprints (5), niche (12), real-time/chat (5), plus 34 integration tools (GitHub, Drive, Slack, Figma, Calendar). The full surface is grouped below.

Card & task essentials

Tool

Description

list_cards

List cards with LLM access enabled

read_card

Read card content — tasks, details, connected cards

create_task / update_task / complete_task / move_task / delete_task

Task lifecycle

reorder_tasks / restore_task

Re-order tasks; un-archive a task

add_comment / update_comment / delete_comment / list_comments

Comment CRUD

log_time / list_worklogs / get_worklog / update_worklog / delete_worklog / get_active_timer

Worklog & timer

add_task_attachment / remove_task_attachment / list_task_attachments

File attachments

add_task_subscriber / remove_task_subscriber / list_task_subscribers

Watchers

add_subtask / remove_subtask / list_subtasks

Subtask hierarchy

list_all_tasks / list_archived_tasks

Cross-section task listing

Boards & cards (canvas columns)

Tool

Description

list_boards / create_board / update_board / delete_board

Board CRUD

create_card / update_card / update_card_settings / delete_card

Card CRUD + automation rules (autoAssignee, autoLabel, aiAutomationPrompt, …)

Notes / canvas

Tool

Description

list_notes / create_note / update_note / delete_note

Note CRUD (orphansOnly flag for cleanup)

create_edge / delete_edge

Edge CRUD

create_stack / add_to_stack / dissolve_stack

Note stacks

move_node / batch_move_nodes / batch_delete_nodes

Single + bulk canvas ops

Workspace / team

Tool

Description

list_members / update_member_role / remove_member / update_member_profile

Member ops

invite_members / list_pending_invites / revoke_invite

Invitations

get_workspace_settings / update_workspace_settings

Workspace metadata

get_user_preferences / update_user_preferences

Caller's prefs (timezone, email, canvas)

list_files / delete_file

Workspace file library

Sprints (agile flow)

Tool

Description

create_sprint / update_sprint / complete_sprint

Sprint lifecycle (with snapshot)

list_sprints / get_active_sprint

Read sprints

Forms (read-only)

Tool

Description

list_forms / get_form / list_form_submissions

Inspect forms + submissions

Notifications

Tool

Description

list_notifications / mark_notification_read / delete_notification

Caller's notification feed

Real-time + chat

Tool

Description

subscribe_card / unsubscribe_card

Real-time card watcher

chat_respond / chat_history / ask_chat

Card AI chat

Integrations (34 tools)

GitHub (12), Google Drive (8), Slack (7), Figma (3), Google Calendar (5). See list_integrations.

Real-time notifications

Use subscribe_card to watch a card for new tasks. When a task is created or moved into the card, you'll receive an automatic notification — no polling needed.

"Subscribe to card col-xxx and work on any new tasks that appear."

The AI agent will receive instant notifications and can start working immediately.

Background daemon mode (v2.0+)

Run Claude as a persistent background daemon that auto-executes any task assigned to a chosen card. The daemon survives terminal closure, restarts itself on crashes, and relays Claude's output back to the card chat so you can monitor progress entirely from is.team.

Agent name (v2.1+)

Every setup run now asks for a 6-character agent name (letters + digits). The name appears on the agent's badge in the is.team dashboard, so when you run multiple agents — one per project, one per machine, one foreground and one in background — you can tell them apart at a glance. Use different names for each terminal/project. Examples: HOME01, MACM01, DEV001, LAPTP1, PROD01.

The name is stored in the project's .mcp.json under the IST_AGENT_NAME env var (and in ~/.isteam/daemon.json when running in daemon mode). If you ever need to change it, re-run setup or edit the file by hand.

Setup

npx @isteam/mcp@latest setup --token ist_xxx

When asked Run in background as a daemon?, answer y. The wizard will:

  1. List your cards — pick the one the daemon should watch

  2. Ask for a permission mode (acceptEdits recommended)

  3. Ask for a working directory (defaults to current)

  4. Install a launchd agent (macOS) or systemd user unit (Linux)

  5. Start the daemon

Now assign a task to the chosen card and Claude will start working automatically — no terminal needed.

Managing the daemon

npx @isteam/mcp daemon status        # show current state + config summary
npx @isteam/mcp daemon logs --follow # tail the live log
npx @isteam/mcp daemon start|stop|restart
npx @isteam/mcp daemon uninstall     # remove the service

How it works

  • macOS: ~/Library/LaunchAgents/team.is.mcp-daemon.plist

  • Linux: ~/.config/systemd/user/isteam-mcp-daemon.service

  • Config: ~/.isteam/daemon.json (0600 — contains your API token)

  • Logs: ~/.isteam/daemon.log + ~/.isteam/daemon-error.log

Each task spawns a one-shot claude --print subprocess with the repo's MCP config loaded. Claude reads the task, executes it, posts a summary back to the card chat, and moves the task to the next pipeline card.

Platform support

Platform

Status

macOS (launchd)

✅ supported

Linux (systemd)

✅ supported

Windows

⚠️ not yet — use WSL2 or foreground mode

Enable LLM access on a card

Before an AI agent can interact with a card:

  1. Click the AI Integration button on the card header

  2. Enable LLM Access

  3. Enable Flow Actions (for create/update/move/complete)

  4. Enable Comments (for adding comments)

Environment variables

Variable

Required

Description

IST_API_TOKEN

Yes

Your is.team API token (ist_xxx)

IST_AGENT_NAME

No

6-char agent badge (A-Z, 0-9). Set by setup wizard. Falls back to a random 6-char id if missing or malformed.

IST_BASE_URL

No

API base URL (default: https://is.team)

License

MIT

Available Tools

130 tools
add_commentAdd CommentA

Adds a comment to a task. Requires the Comments permission on the card.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
taskNumberNoTask number to comment on
textYesComment text

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds the permission requirement but lacks details about side effects like notifications or task updates.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, front-loading the action and adding a necessary permission note. No unnecessary content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers the basic purpose, it does not explain return values, error conditions, or the relationship between cardId and taskNumber. Given the tool's simplicity, this is adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add additional context beyond what the schema provides for each parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Adds' and the resource 'a comment to a task', which distinguishes it from siblings like update_comment and delete_comment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., add_task_subscriber) or when not to use it. Only a permission requirement is mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_subtaskLink Task as SubtaskA

Link two tasks in a parent ↔ child relationship. The child's parentTask is set; the parent's subtaskRefs array gains the child. Tasks may live on the same or different cards on the same board.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID containing both tasks
parentCardIdYesCard ID of the parent task
parentTaskNumberNoParent task number
childCardIdYesCard ID of the child (subtask) task
childTaskNumberNoChild task number

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral detail beyond annotations: it explains the bidirectional update (child's parentTask set, parent's subtaskRefs appended) and that tasks can be on different cards. Annotations only indicate non-read-only and non-destructive nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, both front-loaded with core purpose. Every sentence adds essential context with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core operation, board constraint, and both sides of the relationship. It doesn't describe return value or error cases, but no output schema exists, so this is acceptable. Could briefly mention success confirmation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema documents each parameter. The description adds value by explaining the relationship between parameters (parent and child pair) and the board containment requirement, which aids correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool links two tasks in a parent-child relationship, specifying the bidirectional update (child's parentTask set, parent's subtaskRefs array gains child). It effectively distinguishes from siblings like remove_subtask and list_subtasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (to create a subtask relationship) without explicit when-not-to-use guidance. However, given the sibling tools, the usage context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_task_attachmentAdd Task AttachmentA

Attach an existing workspace file to a task. The file ID must come from list_files.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
taskNumberNoTask number
fileIdYesFile ID from list_files

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate write but non-destructive. The description confirms 'attach' but does not disclose additional behaviors like overwrite behavior, permission requirements, or error handling. It adds minimal value beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with verb and resource. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mutation tool with no output schema, the description conveys the essential action. It lacks mention of the result or side effects (e.g., attachment confirmation), but this is common for such tools. Overall, adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all 5 parameters, each with a brief description. The tool description redundantly states that fileId must come from list_files, which is already in the schema. No additional parameter details are provided beyond schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (attach) and resources (existing workspace file to a task). It distinguishes from siblings like add_comment or add_subtask by specifying attachment of a file. The mention that the file ID must come from list_files adds precision.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a key usage guideline: the file ID must come from list_files. It does not explicitly contrast with removing or listing attachments, but for the intended use it is sufficient. Could be improved by noting when to use sibling tools like remove_task_attachment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_task_subscriberAdd Task SubscriberA

Add a workspace member as a subscriber on a task — they'll receive notifications when the task is updated, commented on, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
taskNumberNoTask number
uidYesMember UID to subscribe

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate a mutation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds that the subscriber receives notifications, which is useful. However, it does not disclose other behavioral traits such as idempotency, permission requirements, or behavior if the member is already subscribed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the purpose and effect efficiently. It is front-loaded with the action and resource, with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (5 parameters, no output schema), the description adequately explains the core functionality and outcome. It does not need to explain return values. The context is complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description does not add meaning beyond the schema, e.g., it mentions 'workspace member' which maps to 'uid', but no additional semantics. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action ('Add a workspace member as a subscriber on a task') and the resulting effect ('they'll receive notifications when the task is updated, commented on, etc.'). It distinguishes from siblings like 'remove_task_subscriber' by focusing on addition, and 'subscribe_card' by targeting tasks specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a member should be notified about task updates. However, it does not explicitly contrast with related tools like 'remove_task_subscriber' or 'subscribe_card', nor does it mention when not to use it. The context is clear but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

add_to_stackAdd Notes to StackA

Add one or more notes to an existing stack. The notes will be hidden from the canvas and grouped under the stack.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
stackIdYesStack node ID (e.g. stack-1712345678)
noteIdsYesNote IDs to add to the stack

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (non-destructive write), the description discloses that notes will be hidden from the canvas and grouped under the stack, providing valuable behavioral context. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no unnecessary words. It is front-loaded with the main action and includes the key effect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 required parameters, no output schema, and annotations, the description adequately covers the purpose and effect. It could mention prerequisites (e.g., stack must exist) or error conditions, but is generally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add additional parameter details beyond the schema, but it reinforces the 'one or more notes' concept aligning with the array type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'add' and the resource 'notes to an existing stack', differentiating it from sibling tools like 'create_stack' or 'dissolve_stack'. It also explains the effect of adding notes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (adding notes to a stack) but does not provide explicit guidance on alternatives or when not to use it. It lacks distinctions from similar tools like 'add_comment' or 'create_note'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ask_chatAsk in ChatA

Ask a question in the card's AI chat and wait for the user's answer. Use this instead of asking in the terminal — the user may only be monitoring the card chat. Three question types: 'text' (free input), 'options' (clickable choices), 'confirm' (approve/deny). The user's response will arrive as a channel notification from the chat listener.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
questionYesThe question to ask the user
typeYesQuestion type: text (free input), options (pick one), confirm (yes/no)
optionsNoChoices for 'options' type (ignored for other types)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, destructiveHint=false, openWorldHint=false. The description adds behavioral context: it waits for the user's answer, the response type (channel notification from chat listener), and the three question types with their behaviors. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences, front-loaded with the main purpose. It is clear and each sentence adds value, though it could be slightly more concise. Still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 parameters, no output schema, and annotations, the description covers the workflow (ask, wait, receive notification) and explains the question types sufficiently. No obvious gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value by explaining the 'type' parameter options and the 'options' parameter usage, going beyond the schema's descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('ask a question'), resource ('card's AI chat'), and action ('wait for the user's answer'). It distinguishes from terminal by noting the user may only be monitoring card chat. It also lists the three question types explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance to use this tool instead of asking in the terminal, and explains that the response arrives as a channel notification. It does not list when not to use or provide other alternatives, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_delete_nodesBatch Delete NodesA
Destructive

Delete many canvas nodes in one call (cards/notes/stacks) and any edges connected to them. Max 200 nodes per call. Cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
nodeIdsYesArray of node IDs to delete

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds important behavioral context beyond annotations: it deletes connected edges and notes irreversibility. This aligns with the destructiveHint annotation and provides clear understanding of side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—only two sentences—and front-loads the purpose. Every word is necessary, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a delete tool with no output schema, the description covers key aspects: action, resource type, limit, and irreversibility. It could note whether the operation is atomic or handles partial failures, but remains largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The description adds no extra meaning beyond the schema; it merely restates that multiple node IDs are deleted. Thus, minimal value added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete), resource (canvas nodes such as cards/notes/stacks), and scope (many, up to 200) along with edges. It effectively distinguishes from sibling single-delete tools like delete_card or delete_note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a limit (Max 200 nodes) and warns it cannot be undone, helping the agent decide against misuse. However, it does not explicitly contrast when to use this batch tool versus individual deletion tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

batch_move_nodesBatch Move NodesA

Move many canvas nodes (cards/notes/stacks) on a board in one call. Pass positions = { nodeId: { x, y }, … }. Max 200 nodes per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
positionsYesMap of nodeId → { x, y } new position

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is not read-only and not destructive. The description adds value by specifying the input format (nodeId to {x,y}) and the 200-node limit, providing context beyond annotations about the operation's constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, followed by the key usage detail. No unnecessary words; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the absence of an output schema, the description covers the main aspects: operation type, target nodes, input format, and a critical limit. It could mention the return value or side effects, but it is mostly complete for a batch move.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds a non-schema constraint ('Max 200 nodes per call') and clarifies the nested structure with a concrete example, enhancing understanding beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the verb 'move', the resource 'canvas nodes (cards/notes/stacks)', and the scope 'many...in one call'. It distinguishes from the sibling tool 'move_node' by specifying batch capability and a maximum of 200 nodes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for moving multiple nodes in a single call with a max limit of 200, but it does not explicitly state when to use this over the single-node sibling 'move_node' or provide exclusions/alternatives. The guidance is present but implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calendar_create_eventCalendar: Create EventA

Create a new calendar event.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
summaryYesEvent title
startYesStart time (ISO)
endYesEnd time (ISO)
descriptionNoEvent description
attendeesNoAttendee email addresses
timeZoneNoTime zone (default: UTC)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false, which the description does not contradict. However, the description adds no additional behavioral context such as permissions required, side effects, or limitations beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that efficiently communicates the tool's purpose. Every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple creation tool with full schema coverage and no output schema, the description is sufficiently complete. It provides the core action, and annotations handle safety context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no further meaning to parameters beyond what the input schema already specifies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a new calendar event' clearly states the action (create) and the resource (calendar event). It effectively distinguishes from sibling tools like calendar_delete_event and calendar_list_events.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creating events but provides no explicit guidance on when to use this tool versus alternatives (e.g., calendar_update_event for modifications). No exclusions or context-specific notes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calendar_delete_eventCalendar: Delete EventC

Delete a calendar event.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
eventIdYesCalendar event ID

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description claims a destructive action (delete), but annotations set destructiveHint to false, creating a direct contradiction. No additional behavioral traits (e.g., irreversibility, confirmation requirements) are disclosed beyond the annotation conflict.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, highly concise. It is front-loaded with the core action but lacks structural elements like bullet points or separate sections, though it does not waste words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no description of return values or side effects, the description is incomplete for a delete operation. The agent cannot infer what happens after deletion (e.g., success response, cascade effects, reversibility).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides full descriptions for both parameters (workspaceId, eventId), so the description adds no extra semantic value. Baseline score of 3 applies as schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete) and resource (calendar event). It is unambiguous and distinguishable from non-delete sibling tools, though it does not add extra context beyond the name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, edge cases, or situation-specific advice, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calendar_get_eventCalendar: Get EventA
Read-only

Get details of a specific calendar event.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
eventIdYesCalendar event ID

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, which cover safety. The description adds minimal context beyond 'get details'; it does not mention the nature of the returned data, authentication needs, or any limitations. With annotations present, a 3 is appropriate for adding little beyond them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. However, it could be slightly more informative while remaining concise, hence a 4 rather than 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (two required params, no output schema, no nested objects), the description is mostly complete for a straightforward get operation. It lacks details about the event structure returned, but that is not critical for a read-only tool with existing annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% description coverage for both parameters ('Workspace ID' and 'Calendar event ID'). The description does not add further meaning beyond the schema, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get details of a specific calendar event.' The verb 'get' and resource 'calendar event' are specific, and it distinguishes from sibling tools like calendar_list_events (list all) and calendar_create_event (create).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (when you need details of a single event) but provides no explicit guidance on when to use this tool versus alternatives or when not to use it. The sibling list is long but lacks differentiation cues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calendar_list_eventsCalendar: List EventsB
Read-only

List upcoming calendar events (defaults to next 7 days).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
timeMinNoStart time (ISO, default: now)
timeMaxNoEnd time (ISO, default: +7 days)
maxResultsNoMax events to return (default 20)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds context about default 7-day range, but does not disclose other behaviors like pagination, ordering, or field selection. The schema provides param descriptions, so the tool description adds limited new behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence without redundancy. It is appropriately sized for a simple list tool, though it could include a brief note about return format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should explain return values. It does not explicitly state that it returns a list of events or mention pagination or result limits. However, the param descriptions cover defaults, and the tool's purpose is straightforward.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the tool description does not need to add parameter meaning. It mentions default time range (next 7 days) but that is already in the param descriptions. No additional parameter value is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists calendar events with a default time range. It distinguishes from calendar_get_event (single event) and other list tools by resource type. However, it does not explicitly mention workspace context, though the required param implies it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like calendar_get_event or other list tools. No mention of prerequisites, limitations, or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calendar_update_eventCalendar: Update EventA

Update an existing calendar event.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
eventIdYesCalendar event ID
summaryNoNew title
startNoNew start time (ISO)
endNoNew end time (ISO)
descriptionNoNew description
timeZoneNoTime zone (default: UTC)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the 'update' verb aligns with mutation. The description adds no further behavioral context (e.g., whether partial updates are allowed, error handling, or side effects). With annotations covering the safety profile, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no superfluous words. It is front-loaded and directly communicates the tool's action. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (7 params, 2 required) and the presence of a thorough input schema, the description is adequate. No output schema exists, but the tool's purpose is straightforward. The openWorldHint annotation is noted, but the description could mention that only provided fields are updated. Still, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 7 parameters are described in the input schema (100% coverage), so the description adds no additional meaning beyond what the schema provides. Per guidelines, baseline is 3 when schema coverage is high and description adds no param-specific details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Update an existing calendar event,' which is a clear verb+resource pair. It distinguishes from sibling tools like calendar_create_event, calendar_delete_event, calendar_get_event, and calendar_list_events by specifying 'update' instead of create, delete, get, or list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates use for modifying existing events but provides no explicit guidance on when to use this tool versus siblings, such as when to create or delete events. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chat_historyRead Chat HistoryA
Read-only

Read recent chat messages from a card's AI chat. Useful for understanding context before responding to a chat message.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
limitNoNumber of messages to retrieve (default 30, max 100)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds context about 'recent chat messages' and the card's AI chat, which is consistent and goes beyond the annotations. No contradictory or additional behavioral traits needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loads the action, and every word adds value. No wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with well-defined parameters and annotations, the description covers the essential purpose and usage. No critical gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions for cardId and limit. The description does not add extra meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Read' and resource 'recent chat messages from a card's AI chat', distinguishing it from siblings like 'ask_chat' and 'chat_respond'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says it is 'useful for understanding context before responding to a chat message', providing clear when-to-use guidance. It does not explicitly mention when not to use or alternatives, which prevents a score of 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chat_respondRespond in ChatA

Send a response in the card's AI chat. Use this when you receive a chat_message notification from a subscribed card. Your response will appear in the chat UI.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesYour response message

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description aligns with annotations (readOnlyHint=false, destructiveHint=false). Adds context about appearing in chat UI. No contradictory information, though side effects beyond UI are not mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the primary action, no filler. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 required params and no output schema, the description covers the trigger and result adequately. Could mention visibility of response but not required.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both parameters with descriptions (100% coverage). Description adds no additional parameter information beyond what schema provides, earning the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific verb 'Send a response' and resource 'card's AI chat', and distinguishes from the sibling 'ask_chat' by noting the trigger 'when you receive a chat_message notification'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (upon chat_message notification) and implies not for initiating. Could benefit from explicitly naming the alternative tool 'ask_chat' but is otherwise clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_existing_repoAsk How to Handle an Existing RepoA

Render a card asking the user how to handle a GitHub repo name that already exists. Options: use the existing repo, create with a new name, force-push (destructive). Use this WHEN you've already detected the suggested name is taken (via github_search_repos / github_get_file). Wait for their reply before acting.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false. The description adds behavioral context beyond annotations by revealing that one option (force-push) is destructive, and that the tool is asynchronous ('Wait for their reply before acting'). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences that first state the tool's action and options, then give usage conditions. No redundant words; front-loaded with the key purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no output schema, single interaction pattern), the description is complete. It explains what the tool does, when to use it, and that it requires waiting for user input. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds little beyond schema field descriptions. It does provide context that 'content' is a human-readable line and that 'payload' contains structured data, but this is already implied by the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders a card to ask the user how to handle an existing GitHub repo name. It lists the specific options (use existing, create new, force-push) and distinguishes itself from siblings by its unique purpose of repo conflict resolution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: after detecting that the suggested name is taken via github_search_repos or github_get_file. It also instructs to wait for the user's reply. While it does not mention alternatives, the context is clear and sufficient for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_sprintComplete SprintA

Mark a sprint as completed and snapshot its metrics (totalTasks, completedTasks, totalStoryPoints, completedStoryPoints, carriedOverTaskIds).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
sprintIdYesSprint ID

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-read-only and non-destructive, so the description adds context about snapshotting metrics. However, it does not disclose idempotency or behavior if sprint already completed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with 20 words, front-loaded with action and critical info. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Core action and metrics listed, but lacks details on output, reversibility, or side effects. Adequate for a simple completion action but could be more thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description does not add any meaning beyond the schema-defined parameter descriptions. No improvement over baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool marks a sprint as completed and snapshots its metrics, distinguishing it from siblings like create_sprint or update_sprint. It uses specific verbs and resource reference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use vs alternatives. Does not mention prerequisites (e.g., sprint must be active) or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_taskComplete TaskA

Marks a task as done. Returns connected cards where the task can be moved next.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
taskNumberNoTask number to mark as done

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-read-only and non-destructive behavior. The description adds that it returns 'connected cards where the task can be moved next', which is useful behavioral context beyond annotations. It could mention side effects (e.g., whether task becomes immutable) but still adds value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each serving a clear purpose: the first states the core action, the second describes the return value. No unnecessary words, and the information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mutation tool with 2 parameters and no output schema, the description covers the essential purpose and return value. However, it could be more complete by mentioning what happens if the task is already done or if there are preconditions (e.g., task must be in a certain status). Still, it is sufficiently complete for most use cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage for both parameters (cardId and taskNumber). The description does not add any additional meaning or constraints beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('marks a task as done') and the resource ('task'). It also specifies the return value ('connected cards where the task can be moved next'), which distinguishes it from sibling tools like 'update_task' or 'restore_task'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when wanting to complete a task, but it does not explicitly state when to use it versus alternatives like 'update_task' (to change status manually) or 'restore_task' (to undo completion). No exclusion criteria or prerequisites are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confirm_destructiveConfirm a Destructive ActionA

Render a red, friction-heavy confirmation card BEFORE any irreversible action (delete repo, drop database, force-push to main, wipe /workspace). Optional requireType field demands the user re-type a specific string to proceed.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, destructiveHint=false, and the description adds that the card is 'red, friction-heavy' and optionally requires re-typing a string. This provides behavioral context (UI, blocking) beyond what annotations convey, though it could be more explicit about blocking behavior or return value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main purpose and followed by an optional detail. It is concise but could be slightly more structured (e.g., bullet points for examples).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description does not explain what happens after the user confirms (e.g., return value, next steps). Given no output schema, this gap may leave an agent unsure about the tool's behavior beyond rendering.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description only adds that requireType is optional, which is already in the schema. No additional meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders a confirmation card before irreversible actions, with specific examples (delete repo, drop database, force-push, wipe workspace). It distinguishes itself from sibling tools like delete_board by being a confirmation step, not the action itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use the tool 'BEFORE any irreversible action', providing clear context. It lacks explicit 'when not to use' or alternatives, but the usage is well-defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_boardCreate BoardA

Create a new board in the workspace. Returns the new boardId. Visibility defaults to ALL (everyone in the workspace can see).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
nameYesBoard name
iconNoIcon key (default: kanban)
visibilityNoALL = open to all members; SELECTED = only allowedMembers

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are limited (readOnlyHint false, destructiveHint false). The description adds return value and default visibility but lacks details on side effects, permissions, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three clear sentences with no fluff, efficiently conveying key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Describes return value and default visibility, which is good for a creation tool. Could mention creation of default columns, but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so schema already describes parameters. Description adds context about visibility default but does not enhance meaning for each parameter beyond what schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a board in the workspace, returns the boardId, and notes default visibility. It distinguishes from siblings like update_board or delete_board.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or alternatives. The description implies use for creation but does not compare to other tools or provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_cardCreate CardA

Create a new kanban card (column) on a board. The returned cardId/nodeId can be passed to subscribe_card or read_card.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID where the card will live
titleYesCard title (e.g. "Backlog", "In Progress")
iconNoIcon key
colorNoColor index 0-9
positionNoCanvas position; auto-randomized if omitted
llmAccessNoAllow AI agents to read this card (default: false)
llmFlowNoAllow AI agents to create/update tasks (default: false)
llmCommentNoAllow AI agents to comment on tasks (default: false)
llmContextNoFree-form prompt context shown to AI agents on this card

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate readOnlyHint=false and destructiveHint=false, so the description's statement that it creates a card adds no new behavioral insight. It does disclose the return value (cardId/nodeId) but does not cover permissions, failure modes, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, each serving a clear purpose: the first states the primary action, the second adds useful context about the return value. No waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description usefully mentions the returned cardId/nodeId and its potential use. However, it could be more complete by clarifying that a 'card' here is a column and explaining optional parameters' default behaviors.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 10 parameters have descriptions in the schema (100% coverage), so the description adds no extra meaning beyond the schema. The description does not explain the relationship between card and column or how icon, color, and position affect the card.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates a new kanban card (column) on a board, specifying the verb and resource. It differentiates from siblings like create_task or create_note by naming the object as a card/column.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives like create_task, create_note, or update_card. It only hints that the returned ID can be used with subscribe_card or read_card, which is implied usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_edgeCreate EdgeA

Connect two canvas nodes (cards or notes) with a directional edge. Optionally specify which side of each node the edge connects to.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
sourceNodeIdYesSource node ID
targetNodeIdYesTarget node ID
sourceHandleNoSide of source node to connect from (default: auto)
targetHandleNoSide of target node to connect to (default: auto)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations show readOnlyHint=false and destructiveHint=false, consistent with the description's mention of 'connect' (a mutation). The description adds that edges are directional and handles are optional, which is helpful but not extensive. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-load the main action and optional features. Every sentence adds value with no waste, achieving effective communication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple creation tool with 6 parameters and no output schema, the description is adequate. It covers the core action and optional handles but omits potential edge cases (e.g., duplicate edges, invalid node IDs). Still, it provides sufficient context for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. The description adds that handles specify 'which side of each node the edge connects to,' matching the enum values. This adds minimal extra meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Connect two canvas nodes (cards or notes) with a directional edge.' It specifies the verb (connect), resource (nodes), and result (directional edge), distinguishing it from sibling tools like delete_edge or list_edges.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (to create an edge) but provides no explicit guidance on when to use this tool versus alternatives. No exclusions or when-not advice are given, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_noteCreate NoteA

Create a new note on the canvas board. Supports markdown content. Use nearNodeId to place it next to a card and auto-connect with an edge.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
titleNoNote title
contentNoNote content (markdown supported: headings, lists, bold, links, checkboxes)
colorNoColor 0-5: 0=Yellow, 1=Mint, 2=Pink, 3=Lavender, 4=Sky, 5=Peach
nearNodeIdNoPlace note next to this node and auto-connect with an edge

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-readonly and non-destructive. Description adds that markdown is supported and auto-connection via edge occurs. No contradictions. Slightly more detail on side effects could elevate, but sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with core action, no wasted words. Extremely concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with no output schema, the description covers key behavioral aspects (markdown, auto-connect). Could mention return value or confirmation, but not critical. Annotations are minimal but consistent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all 6 parameters, so baseline is 3. Description adds extra context only for 'nearNodeId' beyond schema, but not enough to raise score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Create a new note on the canvas board' with specific verb and resource, and distinguishes from siblings like 'create_card' by mentioning markdown support and auto-connect feature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on when to use 'nearNodeId' for placement and auto-connection. It could be more explicit about when to choose this tool over alternatives like 'create_card', but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_sprintCreate SprintA

Create a sprint on a board with name, startDate (YYYY-MM-DD), endDate, and optional goal. Default status is PLANNING. Max duration 90 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
nameYesSprint name
startDateYesStart date (YYYY-MM-DD)
endDateYesEnd date (YYYY-MM-DD)
goalNoSprint goal / theme
statusNoInitial status (default: PLANNING)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-read-only, non-destructive, non-open-world. The description adds constraints: max 90 days duration and default status PLANNING. This provides behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with core purpose, no unnecessary words. Efficiently conveys all key points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all essential aspects: creation action, required parameters implied, constraints (duration, default). Missing explicit mention of boardId but implied by 'on a board'. Sufficient for a creation tool with complete schema descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%. Description adds explicit date format (YYYY-MM-DD), notes optional goal, default status, and max duration – meaningful additions that clarify usage beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verb 'create' and resource 'sprint', lists key parameters (name, startDate, endDate, goal), and includes default status and duration limit, clearly distinguishing it from siblings like complete_sprint or update_sprint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives (e.g., update_sprint, list_sprints). Usage is implied for starting a new sprint, but no exclusions or comparison provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_stackCreate StackA

Group multiple notes into a stack. Notes are visually collapsed into a single stack node on the canvas. Their edges are removed. Minimum 2 notes required.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
noteIdsYesArray of note IDs to group into a stack (minimum 2)
titleNoStack title (auto-generated from first note if omitted)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate mutation (readOnlyHint=false). The description adds valuable context beyond annotations: 'Their edges are removed' and 'Minimum 2 notes required'. This informs the agent of specific side effects not captured by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load the purpose and key details. No redundant information; every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with clear annotations and no output schema, the description covers purpose, behavior, constraints, and side effects completely. No gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already well-documented. The description reiterates the minimum of 2 notes, which aligns with noteIds schema, but adds no new semantic meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Group multiple notes into a stack') and its visual effect on the canvas. It also distinguishes from sibling tools like 'add_to_stack' or 'dissolve_stack' by outlining the specific behavior (edges removed, minimum 2 notes).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when collapsing notes but does not explicitly state when to prefer this tool over siblings like 'add_to_stack' or 'dissolve_stack'. No exclusion criteria or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_taskCreate TaskA

Creates a new task in the specified card. Returns the created task with its auto-assigned number.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
titleYesTask title (required)
typeNoTask type
priorityNoPriority level
descriptionNoPlain text description
assigneeNoWorkspace member UID to assign
assignedByNoReporter UID
parentTaskNoParent task number in this card
dueDateNoDue date (ISO, e.g. 2026-04-01)
startDateNoStart date (ISO)
labelsNoLabel strings
storyPointsNoStory point estimate
colorNoTask color

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate that the tool is not read-only. The description adds that it returns the created task with an auto-assigned number, which is useful but does not disclose other behaviors like permissions or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and contains no wasted words. It is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 13 parameters and no output schema, the description is minimal. It explains the return value but omits details like prerequisites, error conditions, or the format of the auto-assigned number. Schema coverage helps, but the description could be more complete for such a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the baseline is 3. The description does not add meaning beyond what the schema already provides for individual parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('creates'), the resource ('a new task'), and the location ('in the specified card'). It distinguishes creation from sibling tools like update_task or delete_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as add_subtask or other creation tools. The description simply states what the tool does without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_boardDelete BoardA
Destructive

Permanently delete a board AND every card/note/edge inside it. Owner only. This cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds critical behavioral context beyond annotations: it confirms permanence and clarifies what gets destroyed (board and its contents). This complements the destructiveHint=true annotation without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that efficiently communicate the core action, scope, and constraints without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple destructive tool with two parameters and clear annotations, the description fully covers the purpose, permissions, and consequences. No additional details are needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters documented; the description adds no extra information about the parameters beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('permanently delete a board') and distinguishes from sibling tools like delete_card or delete_note by noting that it deletes all contents (cards/notes/edges).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It specifies that only the owner can perform this action and warns it cannot be undone, providing clear usage constraints. However, it does not explicitly contrast with alternative delete tools or state when to prefer this over other deletion methods.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_cardDelete CardA
Destructive

Permanently delete a card and every connected edge. Tasks inside the card are removed with it. Cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID to delete

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true; the description adds value by specifying cascade deletion of edges and tasks and irreversibility. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero wasted words, front-loaded with core action. Highly concise yet informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the destructive nature and cascade effects, the description adequately covers what gets deleted. Could mention if any confirmation is required, but 'Cannot be undone' suffices. No output schema needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions. The description adds no extra parameter semantics beyond the schema, so baseline is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: permanently delete a card, its connected edges, and its tasks. It distinguishes from siblings like update_card or create_card.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (to delete a card) but does not explicitly state when not to use or mention alternatives like delete_board or delete_task. Context is clear but lacks comparative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_commentDelete CommentA
Destructive

Permanently delete a comment. Author or workspace owner only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
commentIdYesComment ID

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations: it specifies that deletion is permanent and that only the author or workspace owner can perform it. Annotations only indicate destructive nature, so description provides valuable extra details about authorization and irreversibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two sentences with no unnecessary words. Every phrase ('permanently delete', 'Author or workspace owner only') adds meaningful information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 required parameters, no output schema), the description covers essential aspects: action, permanence, and authorization. Slightly lacking explicit mention of return behavior, but for a destructive delete, it is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters (workspaceId, commentId) described. The description does not add additional semantic meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('permanently delete a comment') and its resource, making it unambiguous. It also distinguishes from siblings like 'update_comment' by emphasizing permanence and authorization constraints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a key usage condition ('Author or workspace owner only'), which helps agents determine if they can invoke it. However, it lacks explicit guidance on when to prefer this over alternatives like 'edit/remove' or when deletion is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_edgeDelete EdgeA
Destructive

Remove a connection (edge) between two canvas nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
edgeIdYesEdge ID to delete

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds minimal context beyond 'remove a connection'. It does not contradict annotations, but adds no additional behavioral details like irreversibility or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 12 words, front-loaded with the action and resource. Every word is necessary and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation with three straightforward parameters and no output schema, the description is adequate. It could mention that the deletion is irreversible, but annotations already signal destructiveness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for the three parameters, so the baseline is 3. The description does not add any extra meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it removes a connection between two canvas nodes. The verb 'remove' and resource 'edge' are specific. It distinguishes from sibling tools like create_edge, list_edges, and batch_delete_nodes by being a single edge deletion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies it is for removing a single edge from a canvas, but does not explicitly state when to use it versus other deletion tools like batch_delete_nodes. However, given the specificity of the tool name and description, it is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_fileDelete FileA
Destructive

Permanently delete a file from storage AND its Firestore record. Uploader or workspace owner only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
fileIdYesFile ID

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds beyond annotations by specifying permanent deletion from both storage and Firestore record, and user eligibility. Annotations already mark destructive=true, but description gives more detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 14 words, perfectly front-loaded with action and scope. No unnecessary content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers all necessary context: effect (permanent deletion), scope (storage and record), and authorization. No output schema needed for this simple action.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described. The description does not add further parameter meaning, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (permanently delete) and resource (file from storage and Firestore record), distinguishing it from sibling tools like 'delete_note' or 'delete_task'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Specifies access restriction ('Uploader or workspace owner only'), providing clear context for when to use. Does not explicitly state alternatives for unauthorized users, but the constraint is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_noteDelete NoteA
Destructive

Permanently delete a note from the canvas along with any edges connected to it.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
noteIdYesNote ID (e.g. note-1773256154568)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond the annotations by specifying that edges connected to the note are also permanently deleted. The annotations already indicate destructive nature (destructiveHint: true), and the description aligns with that while providing additional behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence of 13 words. It is front-loaded with the action and result, with no wasted words or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation, the description adequately explains the effect (permanent deletion of note and edges). No output schema exists, but the return value is typically implicit for deletions. Complements the annotations well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters have schema descriptions (100% coverage), so the description does not add meaning beyond what the schema provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The name, title, and description clearly state 'Delete Note' and specify the action as 'Permanently delete a note'. It identifies the resource (note) and distinguishes from sibling delete tools (e.g., delete_board, delete_card) by adding 'along with any edges connected to it'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives (e.g., archive or remove from view). There is no mention of prerequisites or when not to use it. The context hints at use for permanent removal, but lacks exclusions or alternative references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_notificationDelete NotificationA
Destructive

Permanently delete a notification. Caller must be the recipient.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
notificationIdYesNotification ID

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, but the description adds 'permanently' and specifies that the caller must be the recipient, providing useful behavioral context beyond annotations. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action, no wasted words. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (delete a notification). Description covers what it does, permanence, and access condition. No output schema needed; return value is implied. Complete for the task.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both parameters have descriptions), so baseline is 3. The description does not add extra meaning to parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'permanently delete' and the resource 'notification', with the condition 'Caller must be the recipient.' This differentiates it from sibling tools like mark_notification_read, which only marks as read, and list_notifications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (to permanently delete a notification) and when not (if you just want to mark as read, use mark_notification_read), but lacks an explicit alternative. The presence of mark_notification_read as a sibling tool helps, but the description could be more explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_taskDelete TaskA
Destructive

Permanently delete a single task from a card. To remove without losing history, prefer update_task with archived=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID containing the card
cardIdYesCard ID containing the task
taskNumberNoTask number to delete

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructive behavior. Description adds context that deletion is permanent and affects a single task. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. The purpose is front-loaded, and the alternative is succinctly provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Describes the core action well but does not mention return value or confirmation. For a delete tool, this is generally acceptable but could be slightly improved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds no additional meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool 'permanently delete a single task' with a specific verb and resource. Distinguishes from sibling 'update_task' by noting the alternative for non-destructive removal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use (permanent deletion) and when not to ('to remove without losing history, prefer update_task with archived=true'), providing an alternative tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_worklogDelete WorklogA
Destructive

Permanently delete a worklog entry. Author or workspace owner only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
worklogIdYesWorklog ID

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds 'permanently delete' and authorization details beyond annotations (destructiveHint: true). No contradiction; reinforces irreversibility and access restrictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two succinct sentences: action then authorization. No unnecessary words or information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple delete tool with two required params and no output schema. Covers permanence and authorization, though success/error behavior not mentioned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers both parameters with descriptions (100% coverage). Description adds no extra parameter details beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Permanently delete a worklog entry' with specific verb and resource. Distinguishes from sibling delete tools by targeting worklog specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description provides authorization context ('Author or workspace owner only') but does not specify when to use vs alternatives like update_worklog or when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dissolve_stackDissolve StackA
Destructive

Dissolve a stack, restoring all notes as independent nodes on the canvas. The stack node is deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
stackIdYesStack node ID to dissolve

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds that the stack node is deleted and notes are restored, providing behavioral context beyond annotations. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that are front-loaded with the action and effect. No unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, but the description sufficiently explains the effect. Given the three required parameters and the destructive nature, the description is complete. Could mention irreversibility, but it's implied by 'dissolve' and destructiveHint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The description does not add extra meaning beyond what the schema provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it dissolves a stack, restoring notes as independent nodes and deleting the stack node. The verb 'dissolve' and resource 'stack' are specific, and it distinguishes from siblings like create_stack and add_to_stack.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the outcome but does not explicitly state when to use or alternatives. However, the context is clear as it is the reverse of creating or adding to a stack.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drive_create_docDrive: Create DocumentB

Create a new Google Docs document.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
titleYesDocument title
contentNoInitial text content

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-destructive mutation (readOnlyHint=false, destructiveHint=false). The description adds only 'Create', which is already implied. No additional behaviors (e.g., workspace requirement, duplicate handling, rate limits) are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 7-word sentence, extremely concise and front-loaded. However, it is so brief that it sacrifices essential context; every word earns its place but a bit more structure would improve clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters (2 required), no output schema, and many sibling tools, the description provides minimal context. It omits the optional content parameter, return value, and any workspace or permission context, making it insufficient for complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all parameters have descriptions), so the baseline is 3. The description adds no extra meaning about parameters, but the schema already handles semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a new Google Docs document' uses a specific verb ('create') and resource ('Google Docs document'), clearly distinguishing it from siblings like 'drive_create_folder' or 'drive_create_sheet'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no when-not-to-use conditions. It is a single sentence without any contextual advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drive_create_folderDrive: Create FolderC

Create a folder in Google Drive.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
nameYesFolder name
parentIdNoParent folder ID

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate mutation (readOnlyHint=false), but description adds no extra context about required permissions, naming constraints, or behavior when folder name conflicts exist. Lacks behavioral depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise single sentence. While not wasteful, it is overly brief and lacks structure to highlight key aspects. Could be improved with a brief usage note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and simplicity, the description should explain that workspaceId is required and parentId is optional. It does not mention default behavior when parentId is omitted (creates in root). Incomplete overall.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions (100% coverage). Description adds no additional semantics beyond the schema, which is acceptable given schema completeness. However, it doesn't clarify parentId's role as optional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (create) and resource (folder in Google Drive). It is distinct from sibling tools like drive_create_doc or drive_create_sheet, but could be more specific about the scope (e.g., within a workspace).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. For instance, it doesn't clarify that workspaceId is necessary or that parentId is optional for root folders.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drive_create_sheetDrive: Create SpreadsheetB

Create a new Google Sheets spreadsheet.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
titleYesSpreadsheet title

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it is a write operation (readOnlyHint=false) and creates new entities (openWorldHint=true). The description merely restates 'create new,' adding no behavioral context beyond annotations, such as permissions required or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence of 6 words. No extraneous information; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and the description does not mention what the tool returns (e.g., spreadsheet URL or ID). For a creation tool, this is incomplete; the agent cannot know the type of response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described (workspaceId and title). The description adds no additional meaning; it simply restates the tool's purpose without elaborating on parameter roles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a new Google Sheets spreadsheet' uses a specific verb ('create') and resource ('Google Sheets spreadsheet'), clearly differentiating from siblings like drive_create_doc or drive_create_folder.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., drive_create_doc for documents). No prerequisites or conditions for use are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drive_delete_fileDrive: Delete FileB

Delete a file or folder from Google Drive.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
fileIdYesGoogle Drive file or folder ID

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotation destructiveHint=false contradicts the description which indicates a destructive operation. This creates confusion; no additional behavioral context provided (e.g., irreversibility, permission requirements).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words, directly states purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks important context such as deletion being permanent, file must exist, or effects on shared files. No output schema documented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with two params (workspaceId, fileId) with basic descriptions. Description adds no further meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Delete') and resource ('a file or folder from Google Drive'), distinguishing it from other delete tools among siblings (e.g., delete_board, delete_file).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like delete_file (generic) or delete_board. No mention of prerequisites, permanence, or confirmation steps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drive_get_fileDrive: Get FileA
Read-only

Get file metadata and embed URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
fileIdYesGoogle Drive file ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false. Description adds that it returns metadata and embed URL, which aligns with read-only behavior. No contradictions, but minimal additional behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the action. No wasted words. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and the description covers the basic purpose. Without an output schema, it could elaborate on the metadata fields, but it's adequate for a straightforward get operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description does not add any parameter-specific meaning beyond what the schema provides, baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get file metadata and embed URL' clearly states a specific verb ('Get') and resource ('file metadata and embed URL'), distinguishing it from sibling tools like drive_delete_file or drive_search_files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., drive_search_files or drive_get_file is for specific files). No exclusions or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drive_move_fileDrive: Move FileB

Move a file to a different folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
fileIdYesGoogle Drive file ID
targetFolderIdYesDestination folder ID

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readOnly and non-destructive. The description adds no behavioral context (e.g., permissions, side effects) beyond stating it moves the file.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single short sentence, no fluff. However, it could be slightly more informative while remaining concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter tool with no output schema, the description is adequate but lacks details on return values or behavior, which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 3 parameters with descriptions (workspaceId, fileId, targetFolderId). The description does not add extra meaning beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (move), resource (file), and destination (different folder). This distinguishes it from sibling tools like drive_delete_file or drive_get_file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for moving single files but provides no guidance on when to use alternatives like batch_move_nodes or move_node, nor any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drive_search_filesDrive: Search FilesB
Read-only

Search files in the connected Google Drive.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
queryNoSearch query (file name)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description need not restate those. The description adds no behavioral context (e.g., result limits, pagination), but the annotation coverage is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that conveys the purpose without any extraneous words. It is appropriately concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description and annotations provide a basic understanding, the tool lacks an output schema and the description does not explain return values or behavior. For a search tool, this is adequate but not fully comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds no additional meaning beyond the schema descriptions. Both parameters are adequately documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Search files in the connected Google Drive,' which specifies the action and resource. However, it does not differentiate from sibling tools like 'list_files' or 'drive_get_file' that may also list files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'list_files' or 'drive_get_file.' No prerequisites, limitations, or preferred contexts are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

drive_update_fileDrive: Update FileB

Rename a file or update its description.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
fileIdYesGoogle Drive file ID
nameNoNew file name
descriptionNoNew description

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations indicating mutation (readOnlyHint=false) and possible side effects (openWorldHint=true), the description adds no behavioral context. It does not disclose what happens if only required params are provided, or if other properties remain unchanged.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly conveys the tool's action. While it could be slightly more concise (e.g., 'Rename or update file description'), it has no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks information about return values (no output schema), and does not explain the role of required parameters (workspaceId, fileId) beyond being identifiers. The tool updates files, but there is no mention of error conditions or side effects, leaving gaps for a non-expert agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with basic descriptions for each parameter. The description reiterates 'name' and 'description' purposes but adds no extra constraints, formats, or examples. Baseline of 3 is appropriate as the schema already covers the parameter meanings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renames a file or updates its description. This uses specific verbs (rename, update) and defines the resource (file), effectively distinguishing it from sibling tools like drive_delete_file or drive_move_file.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like drive_move_file or drive_get_file. It does not provide context for choosing this over other file operations, nor does it mention prerequisites or conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

figma_get_commentsFigma: Get CommentsB
Read-only

Get comments on a Figma file.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
fileKeyYesFigma file key

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true. The description adds no additional behavioral context beyond what annotations and name imply, such as pagination, ordering, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It efficiently conveys the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two required parameters and no output schema, the description is minimally adequate but lacks details about the return value structure, pagination, or any caveats. It does not fully compensate for the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both parameters already having descriptions in the schema. The tool description does not add extra meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get comments on a Figma file' clearly states the verb 'Get' and the resource 'comments on a Figma file', distinguishing it from sibling tools like figma_post_comment and list_comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as list_comments (generic) or figma_post_comment. No explicit when-to-use or when-not-to-use conditions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

figma_get_fileFigma: Get FileA
Read-only

Get Figma file metadata (name, thumbnail, pages).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
fileKeyOrUrlYesFigma file key or full URL

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, destructiveHint, and openWorldHint. The description adds specifics about the returned fields (name, thumbnail, pages), which enriches the behavioral context without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the action and resource, no filler words, and efficiently communicates the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with two parameters and no output schema, the description adequately specifies the returned metadata. It could be improved by mentioning if pagination or other details exist, but given the low complexity, it is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters (workspaceId, fileKeyOrUrl). The description does not add additional meaning beyond what the schema already provides, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'Figma file', and specifies the returned metadata: name, thumbnail, pages. It distinguishes from sibling tools like figma_get_comments and figma_post_comment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a read-only retrieval context but provides no explicit when-to-use or when-not-to-use guidance, nor mentions alternatives. Usage is clear from the tool name and annotations but lacks explicit direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

figma_post_commentFigma: Post CommentB

Post a comment on a Figma file.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
fileKeyYesFigma file key
messageYesComment text

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description confirms the tool creates a comment (non-read-only, non-destructive), which aligns with annotations. However, it adds no further behavioral context such as authentication requirements, side effects, or response behavior, relying entirely on annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It efficiently communicates the core purpose, making excellent use of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter tool with no output schema, the description is adequate but minimal. It lacks details like return value or success confirmation, though the schema and annotations partially compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage for all three parameters. The description adds no additional information about parameter semantics, so it meets the baseline but does not enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Post a comment') and the target resource ('on a Figma file'), making the purpose immediately understandable. However, it does not explicitly differentiate itself from the sibling tool 'add_comment', which might cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'add_comment' or 'figma_get_comments'. There is no mention of prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_active_sprintGet Active SprintA
Read-only

Return the currently ACTIVE sprint on a board, or { active: false } if none.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds the specific return format, including the { active: false } case, which is valuable behavioral information beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and efficient. Every word serves a purpose with no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return value. It could mention potential error conditions (e.g., invalid boardId), but it is largely complete for a simple read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to add parameter details. It does not provide additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the active sprint for a board, with a specific fallback value. It distinguishes itself from sibling tools like 'list_sprints' by focusing on the current active sprint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (when needing the active sprint), but does not explicitly mention when not to use or provide alternatives. However, the context from sibling tools makes the usage clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_active_timerGet Active TimerA
Read-only

Read the currently-running timer for a member. Omit uid to read the caller's own timer. Returns active=false if no timer is running.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
uidNoMember uid (defaults to caller)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds the key behavioral detail that the tool returns 'active=false' if no timer is running, which is not inferable from annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose, second provides parameter guidance and expected return. No extraneous information, every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with no output schema, the description covers purpose, parameter nuances, and the return state when no timer runs. It is fully adequate given the tool's complexity and the absence of sibling overlap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The description adds value by explaining the effect of omitting uid, which goes beyond the schema's 'defaults to caller' note.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool reads the currently-running timer, specifies the resource ('timer') and the verb ('read'). It also distinguishes the parameter usage for personal vs. other members' timers, setting it apart from siblings which are mostly unrelated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to omit uid (to read own timer) and implies the tool is for checking active timers. While no direct alternatives are named, the context is clear given the sibling list contains no other timer-specific tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_formGet FormA
Read-only

Read full form definition: title, fields, settings, submissionCount.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
formIdYesForm ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the read-only behavior is known. The description adds that it returns a 'full form definition' with specific fields, which is consistent but does not provide additional behavioral context beyond the annotations. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 9 words, front-loading the verb 'Read' and the resource 'full form definition'. Every word is informative, with no redundancy or unnecessary elaboration. It is an exemplary model of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with two required parameters and no output schema, the description adequately states the function and return fields. However, it could be more complete by noting that the output is an object (implied) or mentioning potential error scenarios (e.g., invalid formId). The absence of significant gaps keeps the score above average.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage with minimal descriptions ('Workspace ID', 'Form ID'). The tool description does not add any further meaning or example values for these parameters. Since explanation coverage is high, a baseline of 3 is appropriate; the description does not enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a read operation ('Read') for retrieving the full form definition, specifying the returned content: title, fields, settings, submissionCount. This distinguishes it from sibling tools like list_forms (which likely lists forms without full details) and other mutation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool over alternatives, such as list_forms or other read tools. While the purpose is clear, the lack of usage context or exclusion criteria leaves room for ambiguity. A mention of when to prefer get_form over list_forms would improve this dimension.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_preferencesGet User PreferencesA
Read-only

Read the caller's own preferences: timezone, emailNotifications, canvasSettings.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true. The description adds specific fields returned, which is useful, but does not disclose other behavioral traits like permissions or completeness of returned preferences.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that directly states the tool's purpose and lists the returned fields, with no unnecessary content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with one parameter and low complexity, the description provides sufficient context alongside annotations, though it could clarify if it returns all preferences or only the listed ones.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter workspaceId has a description in the schema (100% coverage), and the tool description adds no additional meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reads the caller's own preferences and lists specific fields (timezone, emailNotifications, canvasSettings), distinguishing it from write tools like update_user_preferences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing the caller's preferences but provides no explicit guidance on when to use this tool versus alternatives (e.g., get_workspace_settings) or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_worklogGet WorklogA
Read-only

Read a single worklog entry by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
worklogIdYesWorklog ID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's 'Read' aligns; no additional behavioral details are provided beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, efficient sentence with no wasted words; purpose is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-by-ID operation with no output schema, the description sufficiently sets expectations; could mention return object but not essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with clear descriptions for both parameters; the description adds no extra meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states verb 'Read' and resource 'worklog entry by ID', clearly distinguishing from list (multiple) and delete/update operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when a specific worklog ID is known; no explicit alternatives but context from sibling names suggests listing or mutation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_workspace_settingsGet Workspace SettingsA
Read-only

Read workspace name, timezone, currency, hoursPerDay, plan, storage usage.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds specific return fields but does not disclose error behavior or conditions like workspace existence. The annotations carry the safety information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that lists the returned fields. No unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (1 param, read-only, no output schema), the description is adequate. It specifies the returned settings. Could be slightly more explicit about whether this is all settings or a subset, but sufficient for a simple read.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the workspaceId parameter (100% coverage). The description focuses on return values and adds no further meaning to the parameter, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'Read' and explicitly lists the workspace fields (name, timezone, currency, hoursPerDay, plan, storage usage). This clearly distinguishes it from sibling tools like update_workspace_settings which modify settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The purpose is clear, but there is no explicit guidance on when to use this tool versus alternatives or any exclusions. The straightforward read operation and sibling names (e.g., update_workspace_settings) imply usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_close_issueGitHub: Close IssueB

Close a GitHub issue.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name
issueNumberNoIssue number

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the action is mutable (readOnlyHint=false) and not destructive (destructiveHint=false). Description adds no extra behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence is efficient, but could include a brief note on effects.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no description of return value or side effects; adequate for a simple action but lacks completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with descriptions; the tool description does not add further meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Close' and resource 'GitHub issue', clearly distinguishing it from sibling tools like github_close_pr.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives; no mention of prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_close_prGitHub: Close PRA

Close a pull request without merging.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name
pullNumberNoPull request number

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false (write operation) and destructiveHint=false. The description adds value by clarifying it does not involve merging, but it doesn't mention side effects like notifications or that the PR can be reopened. It adequately supplements annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is concise and front-loaded. Every word is necessary, with no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple action with full schema coverage and no output schema, the description is sufficient. It could mention that closing does not affect the branch, but the operation is straightforward. Overall, it is contextually adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters (workspaceId, repo, pullNumber). The tool description adds no further meaning beyond what the schema already provides. Baseline score is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (close) and the resource (pull request). It also distinguishes from merging by explicitly saying 'without merging', which is a key differentiator from the sibling tool github_merge_pr.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly tells when to use this tool: when you want to close a PR without merging. It effectively distinguishes from merge, but lacks explicit guidance on when not to use it or scenarios like abandoning a PR.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_create_branchGitHub: Create BranchB

Create a new branch from an existing ref.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name
branchYesNew branch name
fromRefNoSource branch (default: main)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While annotations indicate this is a non-destructive write operation with potential external side effects (openWorldHint), the description adds no additional behavioral context such as permission requirements, side effects like triggering CI, or error conditions. It merely restates the action implied by the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately conveys the core functionality. Every word is essential, and there is no redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and full schema coverage, the description covers the basic purpose. However, it lacks details about the result (e.g., the created branch reference), error handling, or post-creation effects, which would be helpful for completeness. It is minimally adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for all 4 parameters (100% coverage), so the description does not need to elaborate on parameter meaning. The baseline of 3 is appropriate as the description adds no extra semantic value beyond what the schema offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and resource ('a new branch') with the source context ('from an existing ref'), making the tool's purpose unambiguous. It effectively distinguishes itself from sibling tools like github_create_issue or github_create_pr.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool over alternatives (e.g., checking out a branch locally) or when not to use it. It lacks any context about prerequisites, typical scenarios, or prohibitions, leaving the agent to infer usage solely from the name and parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_create_issueGitHub: Create IssueC

Create a new issue in a repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name
titleYesIssue title
bodyNoIssue body (markdown)
labelsNoLabel names
assigneesNoGitHub usernames to assign

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate that the tool is not read-only (readOnlyHint: false) and not destructive (destructiveHint: false). The description adds no further behavioral context, such as authentication requirements, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no fluff. It is concise and front-loaded, but it could benefit from slightly more detail without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 6 parameters and no output schema. The description fails to mention what the tool returns (e.g., the created issue object) or any procedural requirements (e.g., the repository must already exist). This leaves an AI agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 6 parameters are fully described in the input schema (100% coverage). The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and the resource ('a new issue in a repository'), but it does not differentiate this tool from sibling tools like 'github_close_issue' or 'github_search_issues'. It is specific enough for a basic understanding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisite conditions (e.g., repository must exist) or scenarios where another tool would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_create_prGitHub: Create PRC

Create a pull request.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name
titleYesPR title
headYesSource branch
baseYesTarget branch
bodyNoPR description
draftNoCreate as draft PR

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate this is a write operation (readOnlyHint=false) and not destructive (destructiveHint=false). The description adds no additional behavioral context, such as authorization needs, side effects like notifications, or validation behavior. With annotations present, the description fails to add value beyond confirming the write nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, but it is under-specified. True conciseness would provide essential information without verbosity; here, the description lacks critical context, making it less useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 7 parameters (5 required), a write operation, and no output schema, the description is severely incomplete. It omits any information about return values, error conditions, or the effects of optional parameters like 'draft'. The tool's complexity demands a richer description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameters are already documented in the input schema. The description adds no extra meaning about parameters, such as expected values or relationships. Baseline score of 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a pull request' clearly states the verb and resource, making the basic purpose obvious. However, it lacks differentiation from sibling tools like github_close_pr or github_merge_pr, which would help an agent choose correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as prerequisites like having a repository or branch, or when to prefer github_create_branch or github_create_issue. The agent is left without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_create_repoGitHub: Create RepoB

Create a new GitHub repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
nameYesRepository name
descriptionNoRepository description
privateNoPrivate repo (default: true)
orgNoOrganization name (omit for personal repo)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate the tool is not read-only but not destructive. The description adds no further behavioral context, such as the fact that creating a repo may fail if the name already exists or that permissions are required. Given annotations, the description could have provided more specifics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence. However, it could include more contextual information without being overly verbose; it is slightly under-informative for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description should explain what the tool returns (e.g., the created repo object). It also does not differentiate from siblings or provide context on the workspace dependency. The tool has 5 parameters, and the description is too minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all 5 parameters. The description does not add meaning beyond what the schema provides, so it meets the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a new GitHub repository, with a specific verb ('Create') and resource ('GitHub repository'). This distinguishes it from sibling tools like 'github_list_repos' or 'github_update_repo'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as 'github_update_repo' or 'check_existing_repo'. There is no mention of prerequisites (e.g., authentication, workspace ID) or conditions that would make this tool inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_get_fileGitHub: Get FileA
Read-only

Get file contents from a repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name
pathYesFile path (e.g. src/index.ts)
refNoBranch or commit SHA

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, aligning with the description. The description adds no behavioral details beyond those annotations, such as authentication needs or output encoding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It directly states the purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description captures the core purpose, it omits details about the output format (e.g., raw or base64), behavior when ref is omitted, and any size limits. For a simple read tool, this is adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for all parameters, so the description does not add additional meaning. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Get), resource (file contents), and context (from a repository). It distinguishes itself from sibling tools like github_create_branch or github_search_issues.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus other GitHub tools or alternative file retrieval methods. No explicit usage context or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_list_reposGitHub: List ReposA
Read-only

List repositories connected to the workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description adds minimal behavioral context. It does not mention pagination, ordering, or filtering beyond the workspace scope, which would be beneficial for a listing operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. Every part serves a purpose, making it highly efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (one parameter, no output schema, simple list), the description is minimally adequate but does not explain what information is returned (e.g., repo names, URLs). Annotations cover safety, but completeness could be higher.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter (workspaceId) is fully described in the schema. The description adds no additional meaning, so baseline 3 is appropriate per guidelines.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', resource 'repositories', and scope 'connected to the workspace', providing specific purpose that distinguishes it from sibling tools like github_search_issues or check_existing_repo.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives, such as check_existing_repo for checking a single repo's existence. The context signals and sibling list show related tools but the description does not differentiate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_merge_prGitHub: Merge PRC

Merge a pull request.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name
pullNumberNoPull request number
mergeMethodNoMerge method (default: merge)
commitTitleNoCustom commit title for squash/merge

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-readOnly and non-destructive, which is consistent with merging, but the description adds no behavioral details (e.g., side effects on branches, irreversibility). With zero annotation contradiction, the description should add context beyond annotations but fails to do so.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely brief (4 words), which is concise but lacks essential structure. It is front-loaded but insufficient; it could benefit from at least one more sentence explaining the merge effect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (merge operation) and no output schema, the description is inadequate. It should include what happens after merge, e.g., PR status change, and any returned data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all parameters are described. The description adds no extra meaning, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'Merge' and the resource 'pull request', which is clear and distinct from sibling tools like github_close_pr or github_create_pr. However, it does not specify that the merge is on GitHub, though the tool name implies it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives. For instance, it doesn't mention prerequisites (e.g., PR must be open, no conflicts) or when to use close instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_search_issuesGitHub: Search IssuesB
Read-only

Search issues in a repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name (e.g. owner/repo)
queryNoSearch query
stateNoIssue state filter

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, but the description adds no behavioral context (e.g., result limits, pagination, or that it searches title/body). The description offers no additional insight beyond the schema and annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that delivers the core purpose without redundancy or extra words. It is appropriately front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the presence of a full schema and safe annotations, the description is adequate but lacks details about return format or search scope (title, body, comments). It is minimally complete but could provide more context for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add any meaning beyond the schema; it simply restates the tool's purpose without augmenting parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search issues in a repository' clearly states the action (search) and resource (issues) with a scope (repository). It directly distinguishes from sibling tools like github_search_prs (search pull requests) and github_create_issue (create issues).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives, such as github_search_prs for pull requests or github_create_issue for creation. No exclusions or contexts are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_search_prsGitHub: Search PRsC
Read-only

Search pull requests in a repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name
queryNoSearch query
stateNoPR state filter

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds no extra behavioral context. The description does not contradict annotations, but fails to mention any additional traits like pagination or result set size.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise (5 words), but lacks essential context. The single sentence is efficient but sacrifices informativeness. A slightly expanded description would better balance brevity and utility.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of searching PRs with multiple parameters and no output schema, the description is insufficient. It omits details like return format, query syntax, and the fact that results are limited to the specified repo.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described. The tool description adds no extra meaning beyond the schema fields. For a search tool, the description could explain query syntax or state filter behavior, but it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it searches pull requests in a repository, matching name and title. However, it does not distinguish from the sibling tool 'github_search_issues', which searches issues. A brief mention of scope would improve clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like 'github_search_issues' or 'github_create_pr'. The agent is left to infer context without explicit when/when-not instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

github_update_repoGitHub: Update RepoB

Update repository settings (name, description, visibility).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
repoYesRepository full name (e.g. owner/repo)
nameNoNew repository name
descriptionNoNew description
privateNoSet private/public
homepageNoHomepage URL
archivedNoArchive/unarchive

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and destructiveHint=false, so the description's statement 'Update repository settings' is consistent and adds no additional behavioral traits. No mention of side effects, rate limits, or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and front-loaded with the core purpose. No wasted words, but it lacks additional context that could be included without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters and no output schema, the description is underspecified. It fails to explain return values, error conditions, or the effects of updating specific fields (e.g., changing visibility may affect access). The annotations partially cover safety but not completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, so baseline is 3. The description mentions three parameters (name, description, visibility [private]) but adds no new meaning beyond the schema's existing descriptions. Other parameters (workspaceId, repo, homepage, archived) are not mentioned in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update repository settings' with examples (name, description, visibility), matching the tool name and title. It distinguishes from sibling tools like update_board, update_card, etc., though it could explicitly mention 'GitHub repository'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., github_create_repo, github_delete_repo). Missing prerequisites, such as required permissions or repository existence. No mention of when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invite_membersInvite MembersA

Send workspace invitations by email. Each invite creates a pending Firestore doc, sends an email, and (if the user already has an account) writes an in-app notification. Provide an array of { email, jobTitle?, role? } objects. Only owners can invite as 'owner'. Seat limits are enforced.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
invitesYesOne or more invitations to send

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description fully discloses behavioral traits beyond annotations: it creates a pending Firestore doc, sends an email, and writes an in-app notification if the user has an account. Annotations only indicate non-destructive mutation, so the description adds critical side-effect details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (four sentences) with a clear logical flow: action, effects, input format, constraints. Every sentence serves a purpose, and the most critical information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains what happens (side effects), which is the main concern for an invite tool. However, it could be improved by mentioning the return value (e.g., list of created invite IDs or success status) to fully inform the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all parameters (100% coverage). The description adds value by explaining that the invites array expects objects with specific fields (email, optional jobTitle, optional role) and imposes the constraint that only owners can invite as 'owner'. It also mentions seat limits, providing context not in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Send workspace invitations by email.' It specifies the action (send invites), the method (email), and the effects (create Firestore doc, send email, write notification). This distinguishes it from siblings like revoke_invite or list_pending_invites.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use: to send workspace invitations. It mentions constraints ('Only owners can invite as owner', 'Seat limits are enforced'), which guide appropriate usage. However, it does not explicitly state when not to use or compare with alternatives, missing a chance for full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_all_tasksList All Tasks (incl. archived)A
Read-only

List every task on a card. Set includeArchived=true to also return archived tasks (default: active only). Returns compact rows.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
includeArchivedNoInclude archived tasks (default: false)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, providing safety profile. Description adds 'Returns compact rows' which is a minor output detail but does not disclose any behavioral traits beyond what annotations cover. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is three short sentences, front-loaded with purpose, and every sentence adds value. No wasted words, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description vaguely mentions 'compact rows' but lacks detail on output structure or pagination. For a simple list tool with few parameters, it is passable but could be more informative about return format and limits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described. Description reiterates the includeArchived parameter's behavior but adds minimal meaning beyond the existing schema descriptions. No additional semantics for required IDs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List every task on a card' with a specific verb and resource. It distinguishes from siblings like 'list_archived_tasks' by offering an includeArchived parameter to control visibility, making the tool's unique purpose evident.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description gives context on when to use includeArchived=true vs default, implying usage for active-only vs archived tasks. However, it does not explicitly exclude alternatives or mention when to prefer sibling tools like list_archived_tasks, leaving room for ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_archived_tasksList Archived TasksA
Read-only

List ONLY archived tasks on a card.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds no extra behavioral traits (e.g., pagination, ordering). Adequate but no additional value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no fluff, front-loaded with important qualifier 'ONLY'. Efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema; description doesn't specify return format or pagination. Could be more complete for a list tool, but action is simple.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The description adds no new meaning beyond the schema. Baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List ONLY archived tasks on a card,' specifying the verb, resource, and scope. It distinguishes from siblings like list_all_tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'ONLY' implies when to use this tool (for archived tasks), but no explicit when-not-to-use or alternatives. Still clear enough for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_boardsList BoardsA
Read-only

List every board in a workspace that the caller can access. Owner sees all; members only see public + explicitly allowed boards.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint true, so the description adds value by detailing visibility rules (owner sees all, members see limited). This goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with action and scope, no unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and the simple nature of listing, the description covers the main behavior. Could mention pagination or ordering, but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add further details about the workspaceId parameter beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (list) and resource (boards) with workspace scope and access controls, distinguishing it from sibling tools like create_board or delete_board.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use (listing accessible boards in a workspace) and hints at role-based access, though no explicit alternatives or when-not-to-use are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_cardsList CardsA
Read-only

Lists all board cards with LLM access enabled that you can access. Returns card IDs, titles, workspace/board names, and permissions. Use this to discover available cards before calling other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read operation. The description adds that it returns specific fields (card IDs, titles, workspace/board names, permissions) and that it only includes cards with LLM access enabled, providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, front-loaded with the purpose, and every word earns its place. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, annotations present, and description mentioning return fields, the definition is complete. The agent knows what the tool does, when to use it, and what to expect in return.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so schema coverage is 100%. Baseline for 0 parameters is 4. The description adds value by listing the return fields, which helps the agent understand output, though not required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists board cards with LLM access enabled, specifying the verb 'Lists' and the resource 'board cards'. It distinguishes from sibling tools like read_card (which gets details of a specific card) and list_all_tasks (broader scope).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a usage hint: 'Use this to discover available cards before calling other tools.' This provides clear guidance on when to use the tool, though it does not explicitly mention when not to use it or list alternatives. The context of sibling tools implies exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_commentsList CommentsA
Read-only

List comments on a task (newest first). Returns id, type, text, authorUid/Name, createdAt, mentionedUids.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
taskNumberNoTask number
limitNoMax comments to return (default 20, max 100)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, covering safety. The description adds ordering and return fields but no additional behavioral traits like pagination or rate limits. Minimal extra value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundancy. Front-loaded with the core action and ordering, then details. Every sentence is relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no output schema, the description covers purpose, ordering, and return fields. However, it omits context on parameter interactions (e.g., taskNumber vs cardId) and pagination hints, which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter is already documented. The description does not add any meaning beyond what the schema provides, e.g., no explanation of limit or taskNumber usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists comments on a task, specifies the sort order (newest first), and enumerates the returned fields. This distinguishes it from sibling tools like add_comment or delete_comment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives (e.g., delete_comment, update_comment). The description implies it's for reading, but does not articulate specific scenarios or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_edgesList EdgesA
Read-only

List canvas edges on a board. Each entry: id, source, target, sourceHandle (top/right/bottom/left or null), targetHandle, label. Pass nodeId to filter to edges touching a single node.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
nodeIdNoOptional — filter to edges where source==nodeId OR target==nodeId

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds field details and filter behavior but no additional behavioral traits like pagination or auth needs. It is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no fluff. The first states purpose and output structure, the second explains the optional filter. Efficient front-loading of key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description mentions return fields and a filter option, which is sufficient for a simple list tool. No output schema, so the field list is helpful. Missing pagination or ordering details, but not critical for this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 3 parameters with descriptions. The description restates the nodeId filter info and adds return field details, but does not significantly enhance parameter understanding beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists edges on a board, details the fields in each entry (id, source, target, etc.), and mentions filtering by nodeId. This distinguishes it clearly from sibling tools like create_edge or delete_edge.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context for filtering by nodeId but does not explicitly guide when to use this tool vs alternatives (e.g., other list tools). It lacks when-not and alternative mentions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_filesList Workspace FilesA
Read-only

List files uploaded to the workspace's file library. Filter by mime category and/or name search. Returns id, name, mimeType, size, url.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
mimeFilterNoimage = only images, document = everything else
searchNoSubstring match on file name
cursorNoPagination cursor (file ID returned in previous page)
limitNoPage size (default 20, max 100)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true and destructiveHint=false, and the description adds context about pagination (cursor, limit) and return fields. There is no contradiction, and the description enriches the agent's understanding of behavior beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two sentences that front-load the main purpose. Every sentence adds necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters including pagination and filtering, the description adequately covers the functionality. It explains filtering, pagination, and return fields, making it complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, but the description adds value by explaining the filtering purpose of mimeFilter and search, and listing the return fields. This provides additional meaning beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists files from the workspace file library, with filtering options by mime category and name search. It explicitly mentions the returned fields (id, name, mimeType, size, url), distinguishing it from sibling tools like 'list_task_attachments' or 'drive_search_files'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells when to use the filter parameters, providing clear context for usage. While it doesn't explicitly state when not to use this tool or name alternatives, the sibling list and the description's specificity imply its appropriate use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_formsList FormsA
Read-only

List forms in the workspace. Filter by board (boardId) or card (cardNodeId) optionally. Returns form metadata and submission counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdNoFilter by board ID
cardNodeIdNoFilter by card node ID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and non-destructive behavior. The description adds value by specifying the return data (form metadata and submission counts) and optional filters, beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first gives main purpose, second adds optional filters and return data. No fluff, front-loaded, every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description mentions return data (metadata and submission counts), which helps. However, it lacks details on pagination, ordering, or limits. Still adequate for a simple list tool with good annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The description adds minimal extra meaning beyond the schema, confirming filter usage and return type. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (list), resource (forms), scope (workspace), optional filters, and return data (metadata and submission counts). This distinguishes it from related tools like get_form and list_form_submissions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for use: listing forms in the workspace with optional filters. However, it lacks explicit guidance on when not to use this tool or mention alternatives like get_form for a single form.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_form_submissionsList Form SubmissionsA
Read-only

List submissions for a form with pagination cursor.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
formIdYesForm ID
limitNoMax items (default 20, max 100)
cursorNoPagination cursor (submission ID from previous page)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and non-destructive behavior. The description adds pagination detail, which is consistent. No additional behavioral traits (e.g., authorization, rate limits) are disclosed, but annotations cover the safety profile sufficiently.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no wasted words. Front-loads the primary action and key mechanism. Could be slightly more informative without being verbose, but acceptable for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal but adequate given the tool's simplicity and full parameter documentation. Lacks usage context, such as typical scenarios or interactions with sibling tools, but does not omit critical information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are already well-documented. The description does not add new meaning beyond restating pagination, which is already present in the cursor parameter description. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'List submissions for a form with pagination cursor,' identifying the specific verb, resource, and mechanism. No sibling tool has a similar purpose, ensuring no confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing form submissions, but does not explicitly state when to use this tool versus alternatives like list_forms (which lists forms themselves). No guidance on exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_integrationsList IntegrationsA
Read-only

List all connected integrations (GitHub, Slack, Drive, Figma) for a workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds minimal behavioral context beyond the annotations (readOnlyHint, destructiveHint, openWorldHint). It does not disclose traits like pagination, ordering, or performance implications. The description relies heavily on annotations for safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that is easy to parse and front-loaded with key information. Every word serves a purpose, and there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with one required parameter and strong annotations, the description is nearly complete. It could mention the return format or behavior for empty results, but overall it provides sufficient context for an AI agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the description adds no extra meaning to the parameter 'workspaceId' beyond what the schema defines. Baseline score of 3 is appropriate as the schema already documents the parameter adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'connected integrations' with specific examples (GitHub, Slack, Drive, Figma), and scopes it to a workspace. It distinctly identifies the tool's purpose and differentiates from sibling tools like prompt_integration_connect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates when to use (when needing to view connected integrations), but lacks explicit guidance on when not to use or mention of alternatives. It does not elaborate on prerequisites beyond the required workspaceId, which is provided in the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_membersList MembersA
Read-only

List every workspace member with uid, email, displayName, role, jobTitle. Use the uid for assignee/autoAssignee/autoReporter on tasks and cards.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds value by listing the specific fields returned, but does not disclose other behaviors like pagination, sorting, or error handling. The description does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that are efficient and front-loaded: the first sentence explains the action and output, the second provides a practical usage tip. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter, the description adequately covers purpose and output usage. It is missing details on pagination or ordering, but given the low complexity, it is still mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (workspaceId with description 'Workspace ID'). The description adds no additional meaning beyond the schema, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List every workspace member' with specific fields (uid, email, displayName, role, jobTitle). It distinguishes this from sibling tools like 'invite_members' and 'remove_member' by focusing on read-only listing of all members.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage hint: 'Use the uid for assignee/autoAssignee/autoReporter on tasks and cards.' This explains how the output can be used in other operations, though it does not explicitly state when not to use this tool or compare with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_notesList NotesA
Read-only

List notes on a board. Each entry includes id, title, color, hasEdges. Set orphansOnly=true to return only notes with no incoming/outgoing edges.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
orphansOnlyNoReturn only notes that have no edges (default: false)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by listing the return fields (id, title, color, hasEdges) and explaining the orphansOnly filter. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the core purpose, no redundant information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the return fields and a key filter parameter. While no output schema exists, the listed fields suffice for a simple list tool. Minor omission: no mention of pagination or ordering, but this is acceptable given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already well-documented. The description adds meaning to the orphansOnly parameter by explaining its effect, which goes beyond the schema's brief description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List notes on a board', specifying the verb and resource. It distinguishes from siblings like create_note, update_note, delete_note, and list_edges.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a specific use case with the orphansOnly parameter, but does not explicitly contrast with alternative tools. However, the filtering guidance is helpful for context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_notificationsList NotificationsA
Read-only

Read the caller's own notifications, newest first. Default returns unread only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
limitNoMax items (default 20, max 100)
includeReadNoInclude read notifications (default: false)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds that results are newest first and default returns unread only, which are useful behavioral traits beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences that are front-loaded with purpose and key behavior. No extraneous information. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description does not explain return format, but for a list tool this is common. Parameters are well documented. The tool is simple (3 params, no enums, no nested objects), so the description is adequately complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear descriptions for all three parameters (workspaceId, limit, includeRead). The description adds no extra parameter semantics beyond what the schema provides, hence baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Read' and resource 'the caller's own notifications'. Specifies ordering (newest first) and default filter (unread only). Clearly distinguishes from siblings like delete_notification or mark_notification_read.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies it's for the caller's own notifications, but does not explicitly state when to use instead of other notification tools like mark_notification_read or delete_notification. No exclusion criteria or alternative tool names given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_pending_invitesList Pending InvitesA
Read-only

List unaccepted/unrevoked invites for the workspace. Returns token, email, role, jobTitle, invitedBy, expiresAt.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds the returned fields but does not disclose other behaviors like pagination or ordering. It provides some additional context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, no wasted words, and front-loads the key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and no output schema, the description covers the purpose and return fields adequately. Lacks mention of ordering or pagination, but these may be unnecessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with workspaceId described as 'Workspace ID'. The description does not add additional meaning beyond the schema, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists unaccepted/unrevoked invites for a workspace, and specifies the return fields (token, email, role, jobTitle, invitedBy, expiresAt). It distinguishes from sibling tools like invite_members and revoke_invite.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing pending invites but does not provide explicit guidance on when to use this tool versus alternatives such as list_members or invite_members.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_projectsList Running Projects in This ContainerA

Render a card listing all projects currently running in this container (one row per subdir under /workspace/projects/), each with its preview URL and status. Use this WHEN the user asks 'what's running?' or you manage multiple sub-apps in one container.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false. The description says 'Render a card listing', which suggests a read-like operation, but the parameters (cardId, content, payload) indicate it modifies a card. The description does not clarify the side effects (e.g., creating or updating a card). It adds the source of projects (subdirs) but lacks detail on behavioral traits beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states the core functionality, second provides usage guidance. No fluff, front-loaded with action, and every part is meaningful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 required params (cardId, content, nested payload) and no output schema, the description explains what the tool does and when to use it, but does not clarify how to obtain the cardId or what 'content' should be. This leaves some ambiguity for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage. Description adds value by specifying that projects come from subdirectories under /workspace/projects/, which is not in the schema. It also mentions preview URLs and status, reinforcing the payload structure. This extra context elevates it above the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb ('Render a card listing'), resource ('all projects currently running in this container'), and scope (one row per subdir under /workspace/projects/). It also provides a concrete use case ('when the user asks 'what's running?'). This distinguishes it from siblings like 'list_all_tasks' or 'list_cards'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description explicitly says 'Use this WHEN the user asks 'what's running?'' – providing clear usage context. It does not mention when not to use or alternatives, but the tool is specific enough that the guidance is helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_sprintsList SprintsA
Read-only

List all sprints on a board, newest first. Returns id, name, dates, status, snapshot (if completed).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows it's a safe read. The description adds transparency about ordering (newest first) and return fields (id, name, dates, status, snapshot if completed), which is helpful beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the verb and resource, then specifying ordering and return fields. Every sentence provides valuable information with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description lists the key return fields. It is complete enough for a simple list tool, though it could mention if there are pagination limits or default count. Overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters have descriptions. The description does not add any additional meaning beyond the schema names. Baseline score of 3 is appropriate as no extra context is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (List), resource (sprints), scope (on a board, newest first), and expected return fields. It distinguishes from siblings like get_active_sprint and list_boards by specifying 'all sprints' and 'on a board'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (to list all sprints) but does not explicitly mention when not to use it or suggest alternatives. The purpose is clear enough that an agent can infer usage, but explicit guidelines are missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_subtasksList SubtasksA
Read-only

Show a task's parent (parentTask) and children (subtaskRefs). Useful for traversing dependency chains.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
taskNumberNoTask number

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the tool's safety profile is clear. The description adds that it returns parent and children, but does not disclose additional behavioral traits (e.g., pagination, ordering). Given the annotations, a score of 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the key information. Every sentence adds value: first states what the tool does, second explains when to use it. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully explains the tool's purpose and output (parent and children). With no output schema and all parameters documented in the schema, the description is complete enough for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 4 parameters are described in the schema with 100% coverage. The description does not add further meaning beyond what the schema provides. The baseline of 3 is correct, as the schema already does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool shows a task's parent and children, using specific terms like 'parentTask' and 'subtaskRefs'. It distinguishes itself from sibling tools like remove_subtask or add_subtask by focusing on listing relationships, and mentions 'dependency chains' for context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Useful for traversing dependency chains', which implies the primary use case. While it doesn't explicitly exclude other contexts or name alternative tools, the purpose is clear enough for the agent to decide when to use this over related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_task_attachmentsList Task AttachmentsA
Read-only

List files attached to a task. Returns id, name, mimeType, size, url for each attachment.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
taskNumberNoTask number

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so description adds minimal behavioral context beyond stating it returns attachment fields. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no unnecessary words. Front-loaded with action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description covers return fields (id, name, mimeType, size, url). No mention of pagination or ordering, but adequate for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so description adds no extra meaning beyond parameter names and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'list' and resource 'files attached to a task', and lists return fields. Distinguishes from sibling tools like add_task_attachment or remove_task_attachment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives like list_files or list_comments. Usage is implied but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_task_subscribersList Task SubscribersA
Read-only

List members currently subscribed to a task. Returns uid + displayName + email for each.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
taskNumberNoTask number

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond annotations by specifying the return fields (uid, displayName, email). Annotations already indicate it is read-only and non-destructive. No behavioral contradictions exist, and the description is consistent with a safe list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that immediately states the action and the result format. It is concise, front-loaded, and contains no unnecessary information. Every word contributes to clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the context (4 parameters, 3 required, no output schema, annotations provided), the description covers the essential purpose and return fields. It does not explain the optional taskNumber or pagination, but for a simple list tool, this is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes each parameter. The description does not add further meaning or usage details for the parameters. It meets the baseline expectation but does not enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: listing members subscribed to a task. It specifies the returned fields (uid, displayName, email), making the purpose unambiguous. This distinguishes it from sibling tools like add_task_subscriber or list_members.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. There is no mention of when not to use it or what scenarios it is best suited for. Usage is merely implied as a straightforward listing operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_worklogsList WorklogsA
Read-only

List worklog entries with flexible filters: by task (boardId+cardId+taskNumber), by user (uid), or by date range (YYYY-MM-DD). Returns up to 20 newest by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdNoFilter to one task — board ID
cardIdNoFilter to one task — card ID
taskNumberNoFilter to one task — task number
uidNoFilter by member uid
dateFromNoInclusive start date (YYYY-MM-DD)
dateToNoInclusive end date (YYYY-MM-DD)
limitNoMax entries (default 20, max 100)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=true, destructiveHint=false), description adds default limit of 20 and ordering by newest. No contradiction with annotations. Could further detail behavior when multiple filter types are combined, but current disclosure is solid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with front-loaded purpose, followed by filter details and default behavior. No extraneous words, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (list with filters, no output schema), the description covers filter categories and default behavior adequately. Missing information about return object structure is minor since it's a list endpoint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but description adds conceptual grouping of task filters (boardId+cardId+taskNumber) and date format (YYYY-MM-DD). This enhances understanding beyond individual descriptions, justifying a score above baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'List', resource 'worklog entries', and specific filter types (task, user, date range). Distinguishes from siblings like get_worklog and log_time by implying multiple entries and flexible filtering.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context for when to use the tool (listing with filters) but does not explicitly exclude scenarios or mention alternatives like get_worklog for single entries. Implicit usage guidance is adequate but lacks direct comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

log_timeLog TimeA

Records a worklog entry on a task. Duration is in seconds (e.g. 1800 = 30 min, 3600 = 1 hour). Requires Flow permission.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
taskNumberNoTask number to log time for
durationNoDuration in seconds (60–86400). Example: 1800 = 30 min, 3600 = 1 hour
descriptionNoWhat was done during this time (max 2000 chars)
dateNoDate for the worklog (YYYY-MM-DD). Defaults to today

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate a write operation (readOnlyHint=false). Description adds permission requirement but doesn't disclose if this creates a new entry or updates an existing one, nor the effect of invalid inputs. With annotations present, the bar is lower, but more detail would improve clarity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no redundancy, essential information front-loaded. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool is simple with 5 parameters (1 required) and no output schema. Description covers purpose and permission but lacks information on creation vs update, error conditions, or return value. Adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover all parameters fully (100%), so the description adds limited value—only reiterating duration examples. No additional meaning beyond the schema is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Describes recording a worklog entry on a task, which is specific and distinct from sibling tools like add_comment or update_worklog. However, it doesn't explicitly differentiate from similar logging tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides examples of duration format and mentions required permission, but doesn't specify when to use this tool versus alternatives like get_worklog or update_worklog. Usage context is implied but not explicitly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mark_notification_readMark Notification ReadA

Mark a single notification as read. Caller must be the recipient.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
notificationIdYesNotification ID

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint false (write) and destructiveHint false (non-destructive), which align with marking as read. The description adds the recipient constraint, providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, no wasted words. First sentence states the core action, second adds a critical condition. Ideal structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description adequately covers purpose and a key constraint. With no output schema, a mention of the outcome (e.g., success/failure) would be slightly better, but not necessary given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add any parameter-specific meaning beyond the schema's minimal descriptions of 'Workspace ID' and 'Notification ID'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action (mark a single notification as read) and adds a specific condition (caller must be recipient). It is distinct from sibling tools like delete_notification and list_notifications.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states that the caller must be the recipient, which is a key usage condition. However, it does not provide when-not or alternatives, but the context is sufficient for a simple tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

move_nodeMove NodeA

Move a canvas node (card or note) to a new position. Use read_card to see current node IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
nodeIdYesNode ID to move (e.g. col-123 or note-123)
xYesNew X coordinate
yYesNew Y coordinate

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, which align with the move action. The description adds that nodes are cards or notes, but does not disclose any constraints, side effects, or permission requirements beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first defines the action and resource, second gives a helpful hint. No extraneous information, fully front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple move operation with 5 required parameters and no output schema, the description covers the core action and provides a key hint. It lacks details on return value or error cases, but is adequate for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description adds value by suggesting use of read_card to obtain nodeId, providing practical context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'move', the resource 'canvas node', and specifies node types 'card or note'. This distinguishes it from sibling tools like move_task or batch_move_nodes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using read_card to get node IDs, which helps with parameter preparation. However, it does not explicitly state when to use this tool versus alternatives like batch_move_nodes or move_task, nor does it provide exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

move_taskMove TaskA

Moves a task to a connected card. Target card title is case-insensitive. If no connected cards exist, the task is archived.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
taskNumberNoTask number to move
targetCardTitleYesTarget card name (case-insensitive, from Connected Cards)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses case-insensitivity of target card title and fallback archiving behavior. Annotations provide readOnlyHint and destructiveHint, which the description complements without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that are front-loaded with the core action and include critical behavioral details with no extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, case-insensitivity, and fallback behavior. No output schema is provided, so return value is not expected. Suitable for a simple move operation, though error conditions are not mentioned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions. The description reiterates case-insensitivity for targetCardTitle but adds no significant meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Moves a task') and target ('to a connected card'), with additional context about case-insensitivity and archiving fallback. It distinguishes from sibling tools like move_node and archive-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context for when archiving occurs (no connected cards), but does not explicitly contrast with alternative tools or specify prerequisites for using this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

offer_drive_saveOffer to Save to Google DriveA

Render an interactive card asking the user whether to save a document/note to Google Drive (so it survives the container being shut down). Use this WHEN you've produced a research summary, meeting notes, brief, or any non-code artifact the user might want to keep. Call this BEFORE actually uploading — the card is the user's consent. Wait for their reply.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations: it reveals this is a consent mechanism, not an actual upload, and explains the interactive nature. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with purpose, and uses clear imperative language without any extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully explains the tool's role as a consent step and adequately covers the expected behavior. Minor gap: it does not specify what happens after user consent, but that is likely handled by another tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with adequate descriptions for each parameter. The description does not elaborate on individual parameters, but the schema already covers them. No additional value on top of schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders an interactive card asking for user consent to save a document/note to Google Drive, and it differentiates from sibling tools like offer_github_push by specifying the context (non-code artifacts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool (after producing a non-code artifact) and provides guidance to call it before uploading and wait for user reply, with no ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

offer_github_pushOffer to Push to GitHubA

Render an interactive card asking the user whether to push the current code project to GitHub. Use this AFTER you've built or significantly changed code in /workspace and the user might want a permanent backup. Call this BEFORE actually pushing — the card is the user's consent. Wait for their reply.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are minimal but non-contradictory. Description transparently explains the tool only renders a consent card, does not perform the push, and that the agent must wait for user reply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no redundant information. Each sentence serves a distinct purpose: description, usage context, and sequencing instruction.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no output schema. Description adequately covers purpose, timing, and interaction pattern; no obvious gaps for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for each parameter. The description adds context about card purpose but does not significantly enhance parameter understanding beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders an interactive card asking users whether to push code to GitHub, with specific timing references (after building/changing code) that distinguish it from related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly instructs to use after code changes, before actual push, and that consent is required. Provides clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

project_summaryShow a Final Project SummaryA

Render the final delivery card for a completed project: name, description, live URL, optional GitHub repo URL, and quick-action buttons (Open, View code, Edit, Start new). Use this AFTER the user confirms they're happy with the build.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate not read-only, not destructive, not open-world. Description adds that it renders a card with quick-action buttons. Does not disclose any side effects or authorization needs, but basic behavioral traits are covered by annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, well-structured sentence that conveys the tool's purpose and usage context without redundancy. Every element serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three simple parameters and clear behavioral annotations, the description provides enough context. Missing output schema, but the description summarizes the returned card content. Adequately complete for its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with clear descriptions for each parameter. Description adds high-level usage context but does not elaborate on parameter meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states it renders a final delivery card for a completed project, listing specific fields (name, description, URLs, buttons). Clearly distinguishes from sibling tools like update_card or read_card as a final summary tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states 'Use this AFTER the user confirms they're happy with the build.' Provides precise timing context. Does not explicitly mention when not to use or list alternatives, but the context is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prompt_integration_connectPrompt to Connect an IntegrationA

Render a card with a one-click 'Connect ' button when an integration the user needs (GitHub, Google Drive, Slack, Figma, Calendar) is NOT yet connected. Use this when offer_drive_save / offer_github_push fail because the integration is missing, OR when the user asks for something that requires an integration they don't have.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context (renders a card with a button) beyond annotations, which declare non-destructive and non-read-only, consistent with the tool's nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, front-loaded with purpose and usage context; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description adequately explains purpose and triggering conditions, though it could mention post-click behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds no extra meaning beyond the schema's property descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it renders a 'Connect <provider>' card for missing integrations, and it distinguishes from siblings like offer_drive_save and offer_github_push by noting when those fail.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions when to use (when offer_drive_save/offer_github_push fail or user needs a missing integration) and provides context for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

propose_design_choicePropose a Visual Design ChoiceA

Render a card with side-by-side visual options (theme, color palette, layout). Each option has a label, optional preview image URL, and a value the user picks. Use this INSTEAD of a markdown bullet list when the choice is visual.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-readonly and non-destructive. The description does not add behavioral detail beyond what's in the schema, neither improving nor contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with action and examples. No unnecessary words, each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a UI rendering tool with no output schema, the description covers purpose and usage. It lacks detail on post-selection behavior but is reasonably complete given the tool's nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description adds context about side-by-side visual options but does not significantly enhance parameter understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders a card with visual options (theme, color palette, layout), specifying the action and resource. It distinguishes from sibling tools like ask_chat or propose_next_step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use this tool instead of a markdown bullet list when the choice is visual, providing clear context. However, it does not explore when not to use it or alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

propose_next_stepSuggest a Next StepA

Render a 'shall we also …?' card after delivering something — single or two suggested follow-ups the user can click to start. Use this to gently extend the session without forcing the user to think of next steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations confirm it is not read-only (readOnlyHint=false) and not destructive. The description adds that it renders a UI card, but does not disclose further behavioral traits like persistence or user interaction effects. This is adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the core action, and every sentence provides meaningful guidance without extraneous detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with nested objects and no output schema, the description covers the main purpose and usage context. It does not explain the return value or side effects, but given the annotations and schema richness, it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds little beyond 'single or two suggested follow-ups', which matches the schema's max of 3. The description does not explain the cardId or content fields further, so it offers marginal added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it renders a suggestion card with follow-ups, using specific language like 'shall we also …?'. It distinguishes itself from siblings by focusing on extending the session with suggested actions, which is unique among the listed tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this to gently extend the session', providing context for when to use it. However, it does not mention when not to use it or list alternatives, which would improve clarity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_cardRead CardA
Read-only

Returns the card content as structured markdown: tasks table, details, connected notes, connected cards, and available actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
userNoDisplay name — personalizes the prompt for this user

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and non-destructive; description adds that output is structured markdown with specific content sections, providing useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with the core purpose. No unnecessary words; every part adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, description adequately explains return format (structured markdown sections). Could be slightly more explicit about completeness but sufficient for a simple read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear descriptions for both parameters. Description does not add further meaning beyond what schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'returns' and the resource 'card content as structured markdown'. Lists specific sections (tasks table, details, etc.), distinguishing it from sibling tools like list_cards which list all cards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this vs alternatives. Does not mention when not to use it or provide context for selecting this tool over siblings like get_card (if existed) or list_cards.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_memberRemove MemberA
Destructive

Remove a member from the workspace. Last-owner protection enforced. Cannot remove yourself (use leave_workspace). Owner only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
targetUidYesTarget member UID

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, but description adds behavioral context: last-owner protection enforced and self-removal prohibition. This adds value beyond annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, each adding critical information. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive removal tool with two clearly described parameters and annotations, the description covers purpose, constraints, and alternatives. Missing only minimal details about return or side effects, but sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with 'Workspace ID' and 'Target member UID' descriptions. The tool description adds no further parameter-specific meaning, so value is baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Remove a member from the workspace' with specific verb and resource. Distinguishes from sibling 'leave_workspace' by noting the self-removal restriction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Owner only' and 'Cannot remove yourself (use leave_workspace)', providing clear when-to-use and when-not-to-use guidance. Also mentions last-owner protection constraint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_subtaskUnlink SubtaskA

Reverse of add_subtask — removes the child's parentTask field and prunes the parent's subtaskRefs entry.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
parentCardIdYesCard ID of the parent
parentTaskNumberNoParent task number
childCardIdYesCard ID of the child
childTaskNumberNoChild task number

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false, destructiveHint=false, and openWorldHint=false. The description adds transparency by detailing what fields are affected, going beyond the annotations. However, it does not discuss authorization, rate limits, or potential side effects beyond the stated field modifications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, efficient sentence that immediately conveys the purpose and scope. No unnecessary words; front-loaded with the key relationship to add_subtask.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (6 parameters, no output schema) and the presence of sibling tools like list_subtasks, the description adequately covers the core functionality. It lacks mention of return values or error conditions, but those are partially covered by the schema and context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema describes all six parameters with brief descriptions (e.g., 'Workspace ID', 'Card ID of the parent'). Since schema description coverage is 100%, the tool description does not need to add parameter details, and it does not. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: 'reverse of add_subtask' and specifies exactly which fields are modified ('removes the child's parentTask field and prunes the parent's subtaskRefs entry'). It distinctly differentiates from the sibling 'add_subtask'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage as the inverse of add_subtask, but does not explicitly state when to use this tool versus alternatives, nor does it provide any preconditions or exclusions. The context is clear but lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_task_attachmentRemove Task AttachmentA

Detach a file from a task. The underlying file is NOT deleted (use delete_file for that).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
taskNumberNoTask number
attachmentIdYesAttachment ID (== file ID)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond annotations: it states the tool does not delete the file, which is critical given destructiveHint is false. However, it does not disclose potential side effects like permission requirements or reversibility. Still, the key trait is effectively communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences that front-load the action and a critical caveat. Every word is necessary and efficiently conveys the core information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core action and key distinction from delete, but lacks information about the return value or success indication. Given no output schema, the agent would benefit from knowing what the tool returns. Still, it is adequate for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with all parameters described in the input schema. The description adds no additional parameter-specific guidance. Baseline score of 3 is appropriate since the schema already documents the parameters adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Detach a file from a task') and distinguishes it from the sibling tool 'delete_file' by noting that the underlying file is NOT deleted. This provides a specific verb and resource, with explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool (detach a file) and when not to (use delete_file for deletion). It names the alternative, making usage context clear without ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_task_subscriberRemove Task SubscriberB

Remove a member from a task's subscriber list.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
taskNumberNoTask number
uidYesMember UID to unsubscribe

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-read-only and non-destructive, but the description adds no behavioral context such as reversibility, permission requirements, or effects on related entities. It merely states the action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no redundancy. It is appropriately brief and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple operation and lack of output schema, the description is minimally adequate. However, it could mention expected outcomes (e.g., confirmation or state change) or permissions to improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Parameter schema coverage is 100%, so the schema already documents all parameters. The description does not add any additional meaning beyond the generic action, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Remove a member from a task's subscriber list'), using a specific verb and resource. It effectively distinguishes from sibling tools like 'add_task_subscriber' and 'list_task_subscribers'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or side effects. It lacks contextual direction beyond the basic action.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reorder_tasksReorder TasksB

Reorder tasks in a card. Provide all task numbers in the desired order.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
taskNumbersNoAll task numbers in desired order

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-destructive, non-read-only behavior. The description adds 'reorder' but does not disclose side effects, permission requirements, or behavior if task list is incomplete. With annotations present, a score of 3 is appropriate as the description adds minimal behavioral context beyond the annotation hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence, front-loaded with the core action, and contains no unnecessary words. It efficiently conveys the purpose and required input, though could be slightly expanded for completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward reorder action, the description covers the main intent and parameter usage. However, it omits details about what happens if some task numbers are missing, whether the reorder is relative or absolute, and what the return value is. Given no output schema, these gaps affect completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema descriptions already cover both parameters (cardId and taskNumbers with 'All task numbers in desired order'). The description repeats this without adding new meaning or constraints beyond the schema, so baseline 3 is justified given 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Reorder tasks in a card' with a specific verb and resource, distinguishing it from sibling tools like add_subtask, delete_task, or move_task. It also instructs to provide all task numbers in desired order, making the action unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives basic instructions ('Provide all task numbers in the desired order') but offers no guidance on when to use this tool versus alternatives like move_task or batch operations. It does not exclude cases where the user might only want to move a single task or omit task numbers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_imageRequest an Image UploadA

Render a card prompting the user to upload an image (logo, screenshot to mimic, profile picture, …). Use this when a project needs an asset you can't generate. The user's upload becomes a file in /workspace/uploads/.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=false and destructiveHint=false. The description adds that the upload becomes a file in /workspace/uploads/, which is useful context but does not significantly expand on behavioral traits beyond what annotations indicate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences with no redundancy. The first sentence front-loads the action (Render a card) and examples. Every word contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters and no output schema, the description covers purpose, usage trigger, and outcome. Could benefit from mentioning the user interaction flow, but it's sufficient for an agent to decide when to invoke.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%; all parameters are described in the input schema. The description does not add parameter-specific meaning. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it renders a card to prompt image upload, with specific examples (logo, screenshot). It distinguishes from generation tools by saying 'Use this when a project needs an asset you can't generate.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use ('when a project needs an asset you can't generate'), giving clear context. Does not explicitly state when not to use, but contrast with generation is sufficient. No alternative tools mentioned, but siblings include other request tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

request_secretRequest a Secret from the UserA

Render a masked-input card to collect an API key, password, or token from the user. The value is forwarded back to the agent through the card chat as a special user message and ALSO written to a sealed /workspace/.env entry. Use this WHEN a project needs a secret to run (OpenAI key, Stripe key, …). NEVER ask for secrets in plain markdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=false, destructiveHint=false), the description reveals two key side effects: the secret is forwarded back to the agent via card chat and written to a sealed /workspace/.env entry. This gives essential behavioral context for a write operation that persists data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first describes the action and behavior, second gives usage guidelines. Every sentence is essential, front-loaded, and free of redundancy. The structure is optimal for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 required parameters, nested objects, and no output schema, the description covers purpose, usage guidelines, and side effects. It implicitly conveys the return format via the card chat mechanism. It does not elaborate on error handling or edge cases, which is acceptable at this level of abstraction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by constraining 'content' to 1-2 sentences and explaining that 'payload.fieldName' is the env var key and 'label' is a friendly label. These are usage hints beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders a masked-input card to collect secrets like API keys, passwords, or tokens. It specifies the action ('request'), the resource ('secret from user'), and the method (masked card). This distinguishes it from sibling tools like 'ask_chat' that handle non-secret input.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use: 'WHEN a project needs a secret to run' and provides a critical negative guideline: 'NEVER ask for secrets in plain markdown.' This offers clear context for appropriate use and exclusion of alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restore_taskRestore TaskA

Set archived=false on a task so it shows in the active list again.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
taskNumberNoTask number

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate non-read-only and non-destructive behavior. The description adds value by stating the specific state change (archived=false) and its effect on visibility, which is not in annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that conveys the purpose and effect with zero wasted words. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with no output schema, the description sufficiently covers the purpose, effect, and required action. It could mention that it only applies to archived tasks, but the context is inferred.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (all parameters have descriptions). The tool description does not add additional meaning beyond the schema, meeting the baseline for this dimension.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('set archived=false') and clearly identifies the resource (task) and the outcome (shows in active list). It distinguishes from siblings like 'complete_task' or 'delete_task' by focusing on restoration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for restoring archived tasks but does not explicitly state when to use vs alternatives (e.g., when the task is already active) or provide 'when not to use' guidance. Context from sibling names helps but is not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

revoke_inviteRevoke InviteA
Destructive

Mark a pending invite as revoked so the link can no longer be accepted. Owner only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
tokenYesInvite token (also the doc ID)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (destructiveHint=true), the description specifies 'Owner only' permission constraint and that the invite link becomes unacceptable. This adds valuable behavioral context not present in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence perfectly sized, front-loaded with verb and resource, zero wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description fully covers purpose, permission, and effect. Annotations already indicate destructiveness, making this complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema provides 100% coverage with descriptions for both workspaceId and token. The description does not add additional meaning beyond the schema, achieving the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action (revoke a pending invite), the resource (pending invite), and the effect (link no longer acceptable). The permission constraint 'Owner only' is included. Differentiates from sibling tools like 'invite_members' and 'list_pending_invites'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: to revoke a pending invite. No explicit when-to-use or when-not-to-use, nor alternatives named. However, in context of siblings, the purpose is distinct enough that an agent can infer appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

share_previewShare a Preview LinkA

Render a rich preview card for a project's public URL (live website / demo). Always use this INSTEAD of pasting a raw https://...fly.dev URL into chat — the card shows project name, status pill, an Open button. NEVER paste raw fly.dev URLs as plain text.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are limited (readOnlyHint: false, destructiveHint: false). The description does not elaborate on side effects or whether the tool modifies any state. 'Render' suggests a non-destructive action, but the readOnlyHint contradicts that slightly. No additional behavioral context is provided beyond what is implied by the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, concise, and front-loaded with the primary purpose. Every sentence adds value: the first explains what the tool does, the second provides critical usage guidance. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description does not mention what the tool returns after rendering the preview card. The agent does not know whether the output is a success message, an embedded card, or something else. For a tool with 3 required parameters including a nested object, this is a significant omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description does not add any information about parameters beyond what is already in the schema. The list of parameters in the schema is clear but the description does not explain how they relate to the tool's action.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders a rich preview card for a project's public URL, explicitly distinguishing it from pasting raw URLs. The verb 'render' and resource 'preview card' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance: always use this tool instead of pasting raw URLs, and never paste raw fly.dev URLs as plain text. This leaves no ambiguity about when to use the tool versus an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

show_logShare a Build Log (Collapsible)A

Render a collapsible log card containing technical output (Bash output, build errors, test results). Hidden by default behind a 'Show details' toggle. Use this WHEN you want to surface technical detail without scaring non-technical users with a wall of text.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-destructive, non-read-only behavior. The description adds that the log card is 'hidden by default behind a Show details toggle,' which is helpful behavioral context. However, it does not elaborate on other behavioral aspects like whether the tool writes data or any authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and front-loaded, with the key action and use case in the first two sentences. The third sentence provides a clear usage guideline. No redundant information is present, though it could be slightly more compact by merging sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 required parameters, no output schema), the description adequately covers the purpose, usage guidance, and key behavior (collapsible, hidden by default). It does not explain the return value, but as a display tool this is likely obvious.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter already described in the input schema. The description adds no additional information about parameter semantics beyond what the schema provides, so it meets the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders a collapsible log card for technical output (Bash output, build errors, test results). It uses a specific verb ('Render') and resource ('collapsible log card'). The title 'Share a Build Log' reinforces the purpose and distinguishes it from sibling tools, none of which handle log display.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises using this tool 'WHEN you want to surface technical detail without scaring non-technical users.' This provides clear context for when to use it, but it does not mention when not to use or alternative tools for non-technical audiences.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_archive_channelSlack: Archive ChannelB

Archive a Slack channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
channelYesChannel ID

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false, but the description adds no additional behavioral context such as permission requirements, reversibility, or impact on channel activity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no filler, directly states the action and resource. Optimal length for a straightforward operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema, the description is minimally adequate but lacks context on what archiving entails (e.g., message visibility, unarchiving capability).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions ('Workspace ID', 'Channel ID'). The overall description adds no extra meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Archive' and clearly identifies the resource 'Slack channel', making the action unambiguous and distinct from sibling tools like slack_create_channel or slack_update_channel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., slack_update_channel for renaming). There is no mention of prerequisites, side effects, or when not to archive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_create_channelSlack: Create ChannelB

Create a new Slack channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
nameYesChannel name (lowercase, hyphens allowed)
isPrivateNoCreate as private channel (default: false)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds no extra behavioral details such as side effects on workspace, naming conflicts, or permission requirements. For a create tool, more transparency is expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It is efficiently front-loaded and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (3 params, no output schema) and good schema coverage, the description is minimally adequate. However, it lacks usage context and does not mention what happens upon successful creation, making it less complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for all three parameters. The description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a new Slack channel.' clearly states the action and resource. It distinguishes from sibling tools like slack_archive_channel or slack_update_channel by specifying creation, but does not elaborate on channel types (public/private) which are in the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like slack_update_channel or slack_archive_channel. The description lacks context on prerequisites or when creation is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_get_channel_historySlack: Channel HistoryB
Read-only

Read recent messages from a Slack channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
channelYesChannel ID
limitNoNumber of messages (default 20, max 100)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's 'Read' aligns well. However, the description adds no further behavioral context such as pagination, rate limits, or message format. With annotations covering the safety profile, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 6 words, extremely concise and to the point. It front-loads the core purpose without waste. However, it could benefit from slightly more context without becoming verbose, hence not a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool (3 params, no output schema, read-only), the description is minimally adequate but lacks information about what the output contains (e.g., list of messages) and how it differs from similar tools like 'chat_history'. With no output schema, more detail would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, meaning each parameter already has a description. The tool description does not add additional meaning beyond the schema, so baseline 3 is correct. The limit parameter's default/max in schema is already documented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Read' and resource 'recent messages from a Slack channel', clearly stating the tool's function. However, it does not explicitly distinguish this from sibling tools like 'chat_history' or other Slack tools that might also read messages, so it loses a point for lack of differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. No mention of scenarios, prerequisites, or situations where another tool would be more appropriate, leaving the agent without decision context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_list_channelsSlack: List ChannelsB
Read-only

List available Slack channels.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true. The description 'List available Slack channels' is consistent but adds no behavioral detail beyond what annotations provide (e.g., no mention of channel types or pagination).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence (4 words), which is concise but overly terse. It lacks key information such as usage guidance and behavioral details, making it less effective for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and no output schema, the description is incomplete. It does not specify what 'available' means (e.g., public vs private, archived status) or the expected return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single required parameter 'workspaceId' described as 'Workspace ID'. The description adds no extra meaning or context about the parameter (e.g., format or how to obtain it).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'List available Slack channels' with a clear verb (list) and resource (Slack channels). Among siblings, no other tool lists channels, so it distinguishes itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus alternatives (e.g., slack_get_channel_history). No context on prerequisites or exclusions provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_send_messageSlack: Send MessageA

Send a message to a Slack channel. Omit channel to use the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
channelNoChannel ID (uses default if omitted)
textYesMessage text

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a write operation (readOnlyHint=false). The description adds no new behavioral context such as rate limits or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise, front-loaded sentences with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple send-message tool with good schema and annotations, the description covers the essentials, though it omits details on formatting or error handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions. The description adds minimal value beyond what the schema already states about the channel parameter's default behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (send) and resource (Slack channel), and distinguishes from sibling tools like slack_archive_channel and slack_send_thread_reply.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a guideline ('Omit channel to use the default') but does not specify when not to use this tool or mention alternatives like slack_send_thread_reply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_send_thread_replySlack: Reply in ThreadC

Reply to a message thread in Slack.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
channelYesChannel ID
threadTsYesThread timestamp (ts) of the parent message
textYesReply text

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations hint at non-readonly, non-destructive, but description adds no details like required permissions or handling of missing threads. Contradictions: false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise and front-loaded, but could include a hint about threadTs without being verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description lacks context on how to obtain threadTs or the behavior of the reply. Incomplete for a tool with required parameters and no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions. Description adds no extra meaning beyond schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool replies to a Slack thread, using specific verb and resource. It is distinct from sibling slack_send_message but doesn't explicitly differentiate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this vs slack_send_message or prerequisites like having the thread timestamp. Context and alternatives are missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

slack_update_channelSlack: Update ChannelA

Rename a channel or update its topic/purpose.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
channelYesChannel ID
nameNoNew channel name
topicNoNew channel topic
purposeNoNew channel purpose

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the mutation is clear. However, the description adds no further behavioral context (e.g., permissions needed, whether renaming is allowed for all channels, or side effects). The openWorldHint=true suggests dynamic context, but the description doesn't address this.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 7 words, front-loaded with the core action. No fluff or redundancy. Every word contributes to purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters and no output schema. The description explains what it updates but does not describe return values, failure modes, or prerequisites. Adequate for a simple update tool but lacks depth.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 5 parameters with 100% description coverage. The description mentions 'name', 'topic', and 'purpose', but adds no additional semantics beyond the schema. Baseline 3 is appropriate as schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Rename a channel or update its topic/purpose.' This specifies the verb (rename/update) and the resources (channel name, topic, purpose), distinguishing it from sibling tools like slack_create_channel or slack_archive_channel.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for renaming or updating channel metadata but provides no explicit guidance on when to use this tool versus alternatives (e.g., slack_create_channel for new channels). No when-not-to-use or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

subscribe_cardSubscribe to CardA
Read-only

Start listening for new tasks on a card in real-time. When a new task appears, you will receive a channel notification with the task details. Use list_cards first — it returns workspaceId, boardId, and nodeId for each card. The subscription persists until you call unsubscribe_card or the session ends.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
workspaceIdYesWorkspace ID that contains the card
boardIdYesBoard ID that contains the card
nodeIdYesCanvas node ID of the card

TDQS

A4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description claims the tool starts a persistent subscription, which is a side effect. Annotations declare readOnlyHint=true, indicating no state modification. This is a direct contradiction, leading to a score of 1.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each adding distinct information. First sentence states purpose, second explains notification, third provides prerequisite and lifecycle. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a subscription tool with no output schema, the description adequately explains behavior, prerequisites, and termination. Lacks explicit return value but that is implied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters. Description adds value by explaining the source of the IDs (from list_cards), providing context beyond the schema's descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it starts listening for new tasks on a card in real-time and returns channel notifications. Distinguishes from sibling tools by mentioning persistence and the opposite action unsubscribe_card.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use (real-time notifications), prerequisite action (list_cards to get IDs), and lifecycle info (subscription persists until unsubscribe or session ends). Also implies alternative if not needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

task_planShow or Update a Task PlanA

Render (and later UPDATE) a multi-step plan with live checkboxes. Use this WHEN the user asks for a non-trivial build (>3 steps): create the card up front so they see the full plan, then call task_plan again with the SAME planId and updated steps[].state to flip checkboxes as you work. The previous card is replaced in-place.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
contentYesShort human-readable line shown above the card (1–2 sentences max)
payloadYesStructured data for the card widget

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool replaces the previous card in-place, indicating mutation and side effects. This extends beyond the annotations (readOnlyHint=false, destructiveHint=false). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: three sentences, front-loaded with purpose, then usage, then behavior. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (nested payload, no output schema), the description covers creation, updates, in-place replacement, and step state transitions. Minor ambiguity about whether first call creates the card or requires pre-existing cardId, but overall sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds significant value by explaining the lifecycle pattern (use same planId for updates) and constraining 'content' to 1-2 sentences. This exceeds baseline by providing contextual meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool renders and updates a multi-step plan with live checkboxes. It distinguishes its purpose from siblings by specifying it's for non-trivial builds (>3 steps) and explains the lifecycle of creating and updating the same plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: when user asks for non-trivial build (>3 steps). It also explains the two-step process (create then update with same planId). However, it doesn't explicitly name alternative tools for simpler cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unsubscribe_cardUnsubscribe from CardB
Read-only

Stop listening for new tasks on a card. Cancels a previous subscribe_card.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)

TDQS

B3.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description claims a state change ('stop listening'), but annotation declares readOnlyHint=true, which is contradictory. No disclosure of side effects or behavior beyond the contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no unnecessary words. Front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Major annotation contradiction undermines completeness. No output schema, but that's acceptable. However, the contradiction leaves the agent uncertain about the operation's nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (cardId) with schema description providing an example. Description adds no further meaning beyond the schema. Schema coverage is 100%, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it stops listening for new tasks on a card and cancels a previous subscribe_card. Verb and resource are specific, and it distinguishes from its sibling subscribe_card.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions it cancels a previous subscribe_card, implying when to use (after subscription). Does not explicitly state when not to use or provide alternatives, but context from sibling list is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_boardUpdate BoardA

Rename a board, change its icon/visibility/allowed-members, or set its budget. Only include fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
nameNoNew name
iconNoNew icon key
visibilityNoVisibility — ALL or SELECTED
allowedMembersNoUIDs of members allowed when visibility=SELECTED
budgetAmountNoBudget amount, or null to clear
budgetTypeNoBudget type, or null to clear

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, aligning with an update operation. The description adds no further behavioral details (e.g., permissions, side effects, rate limits), which is adequate but not exceptional given the annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main purpose and a succinct operation hint. No redundant information; every word contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 8 parameters (2 required) and no output schema, the description covers the main scope and partial update behavior. However, it omits mention of return value or error handling, slightly reducing completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds a partial update hint ('Only include fields you want to change') but does not enrich parameter meaning beyond the schema's own descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates a board by renaming or changing icon, visibility, allowed members, or budget. It specifies the exact resources and actions, distinguishing it from sibling tools like create_board or delete_board.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises to include only changed fields but provides no explicit guidance on when to use this tool versus alternatives (e.g., other update tools or board operations). It implies partial updates but lacks context on prerequisites or exclusion scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_cardUpdate CardB

Rename a card, change color/icon/AI access flags, or resize (style.width 100–1200 px, data.customHeight). Set nullable fields to null to clear.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID (e.g. col-1773256154568)
titleNoNew title
iconNoIcon key, or null to clear
colorNoColor index, or null to clear
llmAccessNoToggle AI read access
llmFlowNoToggle AI create/update access
llmCommentNoToggle AI comment access
llmContextNoAI prompt context, or null to clear
widthNoNew width in pixels (100–1200). Sets style.width.
customHeightNoCustom height in pixels, or null to use auto-size

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate it is not read-only and not destructive. The description adds behavioral context: it allows clearing fields by setting to null and specifies width constraints (100–1200 px). However, it does not disclose potential side effects, authorization requirements, or response behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that efficiently summarizes the key capabilities without extraneous words. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 12 parameters and no output schema, the description is insufficiently complete. It does not explain whether updates are partial or full, what happens to omitted fields, error scenarios, or return values. More context is needed for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds some context beyond the schema (e.g., 'style.width' and 'data.customHeight' property mapping), but it largely restates the schema descriptions. It does not provide substantial new semantic insight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that it renames a card, changes color/icon/AI access flags, or resizes. It uses specific verbs and resources, distinguishing it from related tools like create_card, read_card, and delete_card. However, it does not explicitly differentiate from the sibling update_card_settings, which might cause slight ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or context where other tools might be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_card_settingsUpdate Card SettingsA

Configure card automation rules: auto-assign, auto-reporter, auto-due-date, auto-archive, max-active-tasks, auto-label, notify-on-enter, stale-task move, AI automation prompt. Pass uid for autoAssignee/autoReporter, or null to clear. Only include fields you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
cardIdYesCard ID
autoAssigneeNoMember UID to auto-assign new tasks to, or null to clear
autoAssigneeOnDropNoReassign on drop, not just create
autoReporterNoMember UID to auto-set as reporter, or null to clear
autoReporterOnDropNoReset reporter on drop
autoDueDaysNoDays from creation to set as due date, or null
autoDueDaysOnDropNoReset due date on drop
maxActiveTasksNoMax non-archived tasks before oldest auto-archives
autoArchiveNoAuto-archive completed tasks after N days
autoArchiveDaysNoDays before completed task auto-archives
autoCompleteNoMark tasks as completed when they enter this card
autoLabelNoLabel string to auto-add on entry, or null
autoLabelColorNoHex color for auto-label, or null
notifyOnEnterNoNotify assignee when their task enters this card
autoMoveStaleDaysNoAuto-move tasks idle for N days, or null
autoMoveStaleTargetNoTarget card ID for stale move, or null
aiAutomationNoEnable AI automation on tasks entering this card
aiAutomationPromptNoPrompt evaluated for entering tasks, or null

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, consistent with a mutation. The description adds value by explaining that null clears settings and only included fields change. It doesn't explicitly state that omitted fields are preserved (non-destructive), but that is reasonably inferred. Provides useful behavioral context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: the first enumerates the automation features, the second gives critical usage instructions ('Pass uid... or null to clear. Only include fields you want to change.'). No redundancy, front-loaded with purpose, and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 20 parameters and no output schema, the description efficiently covers the core purpose and key usage patterns. It doesn't explain return value or error conditions, but those are standard for update tools. Given the complexity, the description is sufficiently complete to enable correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions, but the description groups parameters into conceptual categories (auto-assign, auto-reporter, etc.) and explains the null clearing pattern. This adds semantic value beyond the schema, especially for understanding how to clear a field and that only changed fields need to be included.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Configure card automation rules' and lists specific settings, distinguishing it from sibling tools like update_card or update_board. It uses a specific verb ('Configure') and identifies the resource ('card automation rules'), making the purpose obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on how to use parameters ('Pass uid for autoAssignee/autoReporter, or null to clear. Only include fields you want to change.'). While it doesn't directly contrast with alternatives, the context of sibling tools and the domain knowledge imply when to use this tool. Lacks explicit 'when not to use' but is strong for partial guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_commentUpdate CommentA

Edit a comment's text. Author or workspace owner only. Activity-log entries cannot be edited.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
commentIdYesComment ID returned by list_comments or add_comment
textYesNew comment text (max 10000 chars)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations which indicate it's not read-only and not destructive, the description adds behavioral context: access control (author/owner only) and a limitation (no editing activity-log entries). This informs the agent about important behavioral traits not captured in annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, no wasted words. Every sentence provides essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mutation with three required parameters and no output schema, the description covers the key aspects: operation, authorization, and a specific constraint. It lacks mention of error handling or success response, but that is acceptable given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter described. The description does not add new parameter-level meaning beyond what's in the schema. The baseline of 3 is appropriate as the description adds no extra parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Edit a comment's text' which specifies the verb and resource. It also adds distinguishing constraints: author or workspace owner only, and activity-log entries cannot be edited, setting it apart from sibling tools like add_comment or delete_comment.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on who can use it (author or workspace owner) and a condition (activity-log entries are not editable). It does not explicitly name alternative tools for activity logs, but the constraints are helpful for deciding when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_member_profileUpdate Member ProfileA

Edit a member's jobTitle (self or owner) or hourlyRate (owner only — sensitive data).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
targetUidYesTarget UID — must equal caller UID for self-edit, or caller must be owner
jobTitleNoNew job title, or null to clear
hourlyRateNoNew hourly rate (workspace currency, owner only), or null to clear

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false (write), destructiveHint=false (non-destructive), and openWorldHint=false. The description reinforces this by stating 'Edit' and highlighting 'sensitive data' for hourlyRate. It adds value beyond annotations by clarifying permission scopes, which is helpful for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is specific and front-loaded, containing no extraneous words. Every piece of information (verb, resource, fields, permissions) earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters (2 required) and no output schema, the description adequately covers the main purpose and key constraints. However, it does not indicate return behavior or side effects, which would slightly improve completeness for a mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds meaning by explaining permission contexts ('self or owner', 'owner only') and data sensitivity ('sensitive data') for the parameters, which are not present in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly specifies the verb 'edit', the resource 'member profile', and the exact fields ('jobTitle', 'hourlyRate') with permission contexts ('self or owner', 'owner only'). This distinguishes it from sibling tools like 'update_member_role' or 'remove_member'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides role-based usage guidance by stating that jobTitle can be edited by the member or owner, while hourlyRate is owner-only. This helps the agent decide when each parameter is valid, though it does not explicitly mention when not to use the tool or suggest alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_member_roleUpdate Member RoleA

Promote a member to owner, or demote an owner to member. Last-owner protection prevents demotion if no other owner exists. Owner only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
targetUidYesTarget member UID
newRoleYesNew role

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false. The description adds behavioral details: last-owner protection prevents demotion if no other owner exists. This goes beyond annotations, though it doesn't mention potential side effects like notifications.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences front-loaded with the action and constraints. Every word is necessary and no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mutation tool with no output schema, the description covers authorization (Owner only), a key constraint (last-owner protection), and the action. It does not detail return values or error conditions, but these are often implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions, but the tool description adds meaning to the newRole enum by explaining promotion and demotion. This clarifies the two role options beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Promote a member to owner, or demote an owner to member', which clearly defines the action and resource. It distinguishes itself from sibling tools like remove_member or invite_members by focusing solely on role changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes 'Owner only' indicating who can perform the action, and mentions last-owner protection as a constraint. While it doesn't explicitly state when not to use, the purpose is clear enough to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_noteUpdate NoteB

Update an existing note's title, content, color, or width (in canvas pixels).

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
noteIdYesNote ID (e.g. note-1712345678)
titleNoNew title
contentNoNew content (markdown supported)
colorNoNew color 0-5
widthNoNew width in pixels (100–1200). Sets style.width.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint=false and destructiveHint=false, but the description adds no behavioral context beyond listing fields. It does not mention side effects, permissions, or that updates are partial, leaving significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundancy, directly states the action and modifiable attributes. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no description of return values, error handling, or partial update behavior. For a tool with 7 parameters and no behavioral annotations, the description is too minimal to fully guide an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already includes descriptions for all parameters (e.g., 'New color 0-5', 'New width in pixels (100–1200)'). The description only reiterates these without adding new meaning, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Update' and the resource 'existing note', and lists specific updatable fields (title, content, color, width). This distinguishes it from sibling tools like create_note or delete_note.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives, no prerequisites or exclusions. The description simply states what it does, leaving the agent to infer appropriate usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_sprintUpdate SprintA

Update sprint name, dates, status (PLANNING → ACTIVE → COMPLETED), or goal. Set goal to null to clear.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
boardIdYesBoard ID
sprintIdYesSprint ID
nameNoNew name
goalNoNew goal, or null to clear
startDateNoNew start (YYYY-MM-DD)
endDateNoNew end (YYYY-MM-DD)
statusNoNew status

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false. The description adds valuable behavioral context beyond annotations, such as the status progression flow (PLANNING → ACTIVE → COMPLETED) and the ability to set goal to null. It does not disclose all possible side effects or permissions requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that lists the updatable fields and includes a specific note on goal. No extraneous words. Efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool is an update operation with full schema coverage and annotations, the description is fairly complete. It covers all updatable fields but could mention constraints like forward-only status changes. Output schema is absent but not critical for this simple update.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for 8 parameters. The description adds extra meaning by noting 'Set goal to null to clear' and showing the status arrow, which complements the schema. However, it does not elaborate on standard ID parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update sprint name, dates, status, or goal' with the specific verb 'Update' and resource 'sprint', and lists the updatable fields. It distinguishes from sibling tools like create_sprint and complete_sprint by focusing on modification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (modifying existing sprints) but does not explicitly state when to use or not use this tool versus alternatives like create_sprint or complete_sprint. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_taskUpdate TaskA

Updates any property of an existing task. Only include fields you want to change. Set a field to null to clear it.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardIdYesBoard card ID (e.g. col-1773256154568)
taskNumberNoTask number from the # column
titleNoNew title
typeNoTask type
priorityNoPriority level
descriptionNoDescription text, or null to clear
assigneeNoMember UID, or null to unassign
assignedByNoReporter UID, or null to clear
parentTaskNoParent task number, or null to clear
dueDateNoDue date, or null to clear
startDateNoStart date, or null to clear
labelsNoLabels, or null to clear
storyPointsNoStory points, or null to clear
colorNoColor, or null to clear
archivedNoArchive or unarchive the task

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, aligning with an update operation. The description adds behavioral context by explaining that fields can be cleared by setting to null. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first states purpose, second gives usage tip. No waste, front-loaded with core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 15 parameters and 1 required, the description covers the main usage pattern. However, it does not address validation, error cases, whether all fields are mutable (e.g., taskNumber likely immutable), or what happens with no changed fields. No output schema so return not needed, but more context on permissible changes would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, baseline 3. The description adds overarching guidance ('Only include fields you want to change' and null clearing) that amplifies the schema descriptions, which already include 'or null to clear' for many parameters. This adds meaningful usage semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Updates any property of an existing task,' specifying the verb (update) and resource (task). It distinguishes from sibling tools like create_task, delete_task, complete_task, etc., by focusing on updating any property.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides basic usage guidance: 'Only include fields you want to change. Set a field to null to clear it.' However, it does not explicitly tell when to use this tool versus alternatives (e.g., complete_task for completing, move_task for moving), nor does it exclude any context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_user_preferencesUpdate User PreferencesA

Update the caller's own preferences. emailNotifications keys: invite_received, invite_accepted, member_removed, comment_added, mentioned, due_date_reminder, daily_board_digest, daily_planning.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
timezoneNoIANA timezone string
emailNotificationsNoPartial email notification toggle map
canvasSettingsNoPartial canvas settings (gridSize, snapToGrid, edgeAnimation, …)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and destructiveHint=false, which the description aligns with. It adds the 'caller's own' constraint, implying authorization scope, but does not disclose update behavior (e.g., partial vs full update), side effects, or response format. Some value added beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action 'Update the caller's own preferences.' The second sentence lists keys efficiently. No redundant or extraneous text; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given four parameters, nested objects, and no output schema, the description lacks details on return values, partial vs full update semantics, and clarification for timezone (IANA string already in schema). However, schema covers many details, so completeness is adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by enumerating the allowed keys for emailNotifications (e.g., invite_received, due_date_reminder), which the schema does not specify beyond 'Partial email notification toggle map'. This directly helps agents construct valid parameter values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update the caller's own preferences,' specifying the verb and resource. It distinguishes from siblings like 'get_user_preferences' (read-only) and 'update_member_profile' (different scope), making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives, such as 'update_member_profile' for profile changes or 'get_user_preferences' for reading. No explicit 'when not to use' or context for selecting this tool is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_worklogUpdate WorklogB

Edit a worklog's duration, description, or date. Worklog author or workspace owner only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
worklogIdYesWorklog ID
durationNoDuration in seconds (60–86400, i.e. 1 min – 24 h)
descriptionNoNew description (max 2000 chars)
dateNoNew date (YYYY-MM-DD)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint false and destructiveHint false, so description adds value by specifying authorization requirements. However, no side effects (e.g., timestamp updates) or post-update state are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence plus an authorization note. Front-loaded with verb and resource, every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema; the description does not mention return values or confirm successful update. Partial update behavior is implied by optional params but not stated. Minimally adequate for a simple update.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description merely repeats param names ('duration, description, or date') without adding deeper semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it edits a worklog's duration, description, or date, and specifies authorization (worklog author or workspace owner only). It distinguishes from sibling tools like delete_worklog and log_time, but does not explicitly contrast with other update tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., delete_worklog for deletion, log_time for creation). No when-not-to-use or context hints are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_workspace_settingsUpdate Workspace SettingsA

Update workspace metadata (name, timezone, currency, hoursPerDay). Owner only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspaceIdYesWorkspace ID
nameNoNew workspace name
timezoneNoIANA timezone (e.g. "Europe/Istanbul")
currencyNoISO currency code (e.g. "USD", "TRY")
hoursPerDayNoWorking hours per day (1–24)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds the important 'Owner only' permission constraint beyond annotations. Annotations already indicate write/non-destructive, so description complements without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two-sentence description is extremely concise, front-loads the action, and includes only essential information with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description covers purpose and ownership but omits return value or behavior on partial updates. Given simplicity and no output schema, it's adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with good field descriptions. Description summarizes the parameters but adds no new meaning beyond grouping them as 'metadata'. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Update workspace metadata' and lists specific fields (name, timezone, currency, hoursPerDay), distinguishing it from get_workspace_settings and sibling update tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Only mentions 'Owner only' as a prerequisite; no explicit guidance on when to use vs alternatives like get_workspace_settings, though the name implies update context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 130 tool updatesv3.1.0
    • First observedadd_comment
    • First observedadd_subtask
    • First observedadd_task_attachment
    • First observedadd_task_subscriber
    • First observedadd_to_stack
    • First observedask_chat
    • First observedbatch_delete_nodes
    • First observedbatch_move_nodes
    • First observedcalendar_create_event
    • First observedcalendar_delete_event
    • First observedcalendar_get_event
    • First observedcalendar_list_events
    • First observedcalendar_update_event
    • First observedchat_history
    • First observedchat_respond
    • First observedcheck_existing_repo
    • First observedcomplete_sprint
    • First observedcomplete_task
    • First observedconfirm_destructive
    • First observedcreate_board
    • First observedcreate_card
    • First observedcreate_edge
    • First observedcreate_note
    • First observedcreate_sprint
    • First observedcreate_stack
    • First observedcreate_task
    • First observeddelete_board
    • First observeddelete_card
    • First observeddelete_comment
    • First observeddelete_edge
    • First observeddelete_file
    • First observeddelete_note
    • First observeddelete_notification
    • First observeddelete_task
    • First observeddelete_worklog
    • First observeddissolve_stack
    • First observeddrive_create_doc
    • First observeddrive_create_folder
    • First observeddrive_create_sheet
    • First observeddrive_delete_file
    • First observeddrive_get_file
    • First observeddrive_move_file
    • First observeddrive_search_files
    • First observeddrive_update_file
    • First observedfigma_get_comments
    • First observedfigma_get_file
    • First observedfigma_post_comment
    • First observedget_active_sprint
    • First observedget_active_timer
    • First observedget_form
    • First observedget_user_preferences
    • First observedget_worklog
    • First observedget_workspace_settings
    • First observedgithub_close_issue
    • First observedgithub_close_pr
    • First observedgithub_create_branch
    • First observedgithub_create_issue
    • First observedgithub_create_pr
    • First observedgithub_create_repo
    • First observedgithub_get_file
    • First observedgithub_list_repos
    • First observedgithub_merge_pr
    • First observedgithub_search_issues
    • First observedgithub_search_prs
    • First observedgithub_update_repo
    • First observedinvite_members
    • First observedlist_all_tasks
    • First observedlist_archived_tasks
    • First observedlist_boards
    • First observedlist_cards
    • First observedlist_comments
    • First observedlist_edges
    • First observedlist_files
    • First observedlist_form_submissions
    • First observedlist_forms
    • First observedlist_integrations
    • First observedlist_members
    • First observedlist_notes
    • First observedlist_notifications
    • First observedlist_pending_invites
    • First observedlist_projects
    • First observedlist_sprints
    • First observedlist_subtasks
    • First observedlist_task_attachments
    • First observedlist_task_subscribers
    • First observedlist_worklogs
    • First observedlog_time
    • First observedmark_notification_read
    • First observedmove_node
    • First observedmove_task
    • First observedoffer_drive_save
    • First observedoffer_github_push
    • First observedproject_summary
    • First observedprompt_integration_connect
    • First observedpropose_design_choice
    • First observedpropose_next_step
    • First observedread_card
    • First observedremove_member
    • First observedremove_subtask
    • First observedremove_task_attachment
    • First observedremove_task_subscriber
    • First observedreorder_tasks
    • First observedrequest_image
    • First observedrequest_secret
    • First observedrestore_task
    • First observedrevoke_invite
    • First observedshare_preview
    • First observedshow_log
    • First observedslack_archive_channel
    • First observedslack_create_channel
    • First observedslack_get_channel_history
    • First observedslack_list_channels
    • First observedslack_send_message
    • First observedslack_send_thread_reply
    • First observedslack_update_channel
    • First observedsubscribe_card
    • First observedtask_plan
    • First observedunsubscribe_card
    • First observedupdate_board
    • First observedupdate_card
    • First observedupdate_card_settings
    • First observedupdate_comment
    • First observedupdate_member_profile
    • First observedupdate_member_role
    • First observedupdate_note
    • First observedupdate_sprint
    • First observedupdate_task
    • First observedupdate_user_preferences
    • First observedupdate_worklog
    • First observedupdate_workspace_settings

TDQS

A3.5/5.0

Scored across 130 tools

Disambiguation5/5

Each tool targets a distinct action or entity, with no ambiguous overlap. For example, separate tools for CRUD on tasks, comments, notes, edges, and integration-specific operations are clearly differentiated. Even similar-sounding tools like 'ask_chat' and 'chat_respond' have distinct purposes (posing a question vs. sending a response).

Naming Consistency5/5

Tool names consistently follow a verb_noun pattern in snake_case, e.g., 'create_task', 'delete_comment', 'list_members'. While there is a minor mix of 'get' vs. 'read' (e.g., 'get_active_sprint' vs. 'read_card'), the pattern remains predictable across all 130 tools. No mixing of camelCase or other conventions.

Tool Count2/5

130 tools is far beyond the recommended range for an MCP server. Although the server aims to cover a comprehensive workspace platform with multiple integrations, the sheer number makes the surface overwhelming and difficult for agents to navigate efficiently. Many tools could be consolidated or simplified.

Completeness4/5

The tool set covers nearly all CRUD operations for the core domain (boards, cards, tasks, notes, comments, members, integrations) and includes unique interaction tools (ask_chat, confirm_destructive, propose_next_step). Minor gaps exist, such as the lack of a dedicated 'get_task' tool (requiring listing tasks from a card) and missing 'github_update_issue', but these are not critical for most workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for task management that enables AI agents to read, create, update tasks, and track work sessions, allowing agents and humans to collaborate on the same task board.
    9
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Agent-first project management MCP server that enables AI agents to manage tasks, spaces, lists, boards, subtasks, comments, and automations via natural language, with full audit trail and real-time sync.
    6,899
    MIT