clickup-mcp
Manage ClickUp tasks and their surrounding metadata (lists, tags, checklists, dependencies, comments, members) through token-optimized MCP tools.
Navigation: get current user/workspaces, list spaces, folders, and lists, get single list details, create and delete lists.
Tasks: get, create, update, list with filters, workspace-wide search, and permanent delete; set custom field values separately from updates.
Tags: list, create, edit, and delete space tags; add or remove tags on tasks.
Checklists: create, edit, delete checklists and items, including nesting via parent, assignees, and resolved status.
Dependencies & links: add/remove waiting-on or blocking dependencies; link and unlink tasks.
Comments: create, list, edit/resolve, and threaded replies (create reply, get replies).
Members: get all workspace members or members with access to a specific list.
Extras: responses are automatically slimmed to save tokens, and custom task IDs (e.g.
DEV-1217) work wherevertask_idis accepted.Not in this schema: the README's multi-list membership (add/remove task from an additional list) and attachment upload tools are not exposed here.
Provides tools for managing tasks, comments, tags, checklists, dependencies, custom fields, and workspace navigation in ClickUp.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@clickup-mcplist tasks in the Sprint Backlog list"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
clickup-mcp
Lightweight ClickUp MCP server focused on task management. 40 tools with token-optimized responses - API responses automatically slimmed from thousands of characters to essentials.
Why This Server?
ClickUp's API returns extremely verbose JSON. This server strips it down:
Response | Before | After | Reduction |
| ~3,500 chars | ~160 chars | 95% |
| ~1,500 chars | ~38 chars | 97% |
Less tokens = faster responses, lower costs, more context for your AI.
Related MCP server: ClickUp MCP Server
Installation
npm install -g @cavort-it-systems/clickup-mcpOr run directly:
npx @cavort-it-systems/clickup-mcpConfiguration
Claude Code CLI
claude mcp add clickup -e CLICKUP_API_TOKEN=your-token -- npx @cavort-it-systems/clickup-mcpClaude Desktop / Manual
Add to your MCP config (~/.claude.json or Claude Desktop settings):
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": ["@cavort-it-systems/clickup-mcp"],
"env": {
"CLICKUP_API_TOKEN": "your-token"
}
}
}
}From Source
git clone https://github.com/cvrt-jh/clickup-mcp.git
cd clickup-mcp
pnpm install && pnpm buildThen configure with the built path:
claude mcp add clickup -e CLICKUP_API_TOKEN=your-token -- node /path/to/clickup-mcp/build/index.jsCustom task IDs
Every tool that takes a task_id accepts the custom ID as well (DEV-1217), not only
the internal one (86caqr85m). The server adds custom_task_ids=true&team_id=... itself.
The workspace id comes from CLICKUP_TEAM_ID, or, if unset, from the token's only
workspace (looked up once). A token with access to several workspaces must set
CLICKUP_TEAM_ID.
Get Your API Token
Go to ClickUp Settings > Apps
Generate a Personal API Token
Set as
CLICKUP_API_TOKEN
Response Slimming
All responses are automatically trimmed to save tokens. The ClickUp API returns extremely verbose JSON - this server strips it down to what matters.
clickup_whoami - from ~3,500 chars to ~160:
// Before (ClickUp API raw)
{"user":{"id":12345678,"username":"Jane Doe","email":"jane@example.com","color":"#0388d1",
"profilePicture":"https://attachments.clickup.com/...","initials":"JD",
"week_start_day":1,"global_font_support":true,"timezone":"Europe/Berlin"},
"teams":{"teams":[{"id":"99999999","name":"My Workspace","color":"#40BC86",
"avatar":"https://attachments2.clickup.com/...?Expires=...&Key-Pair-Id=...&Signature=...",
"members":[{"user":{"id":11111111,"username":"Bob Smith","email":"bob@example.com",
"color":"#aa2fff","profilePicture":null,"initials":"BS","role":4,"role_subtype":2,
"role_key":"guest","custom_role":null,"last_active":"...","date_joined":"...",
"date_invited":"..."},"invited_by":{"id":22222222,...},
"can_see_time_spent":true,...}, ...]}]}}
// After (slimmed)
{"id":12345678,"username":"Jane Doe","email":"jane@example.com",
"timezone":"Europe/Berlin","workspaces":[{"id":"99999999",
"name":"My Workspace","member_count":4}]}clickup_create_comment - from ~1,500 chars to 38:
// Before
{"id":90150191300876,"hist_id":"...","date":1770053982842,
"version":{"object_type":"comment","object_id":"...","workspace_id":99999999,
"operation":"c","data":{"context":{"root_parent_type":1,"is_chat":false,
"audit_context":{"userid":12345678,"current_time":...,"route":"*"},...},...},...}}
// After
{"id":90150191300876,"date":1770053982842}What gets stripped:
Field | Where | Why |
| spaces | ~50 lines of boolean flags per space |
| tasks | Internal access config, not useful |
| tasks | Usually same as assignees |
Full user objects | everywhere | Reduced to |
| users | Visual metadata, not useful for LLMs |
| comment/reply creates | Internal versioning data |
| members | Invitation metadata |
Pretty-print JSON | all responses | Compact single-line output |
Empty arrays | tasks |
|
Tools (40)
Navigation (7)
clickup_whoami- Current user + workspacesclickup_get_spaces- Spaces in workspaceclickup_get_folders- Folders in spaceclickup_get_lists- Lists in folder or spaceclickup_get_list- Single list detailsclickup_create_list- Create list in folder or spaceclickup_delete_list- Delete a list (permanent)
Task CRUD (5)
clickup_get_task- Get task by IDclickup_create_task- Create task with all fieldsclickup_update_task- Update any task fieldclickup_get_tasks- List tasks in a listclickup_search_tasks- Search tasks across workspace
Custom Fields (1)
clickup_set_custom_field- Set custom field value
Tags (6)
clickup_get_space_tags- List space tagsclickup_create_space_tag- Create tagclickup_edit_space_tag- Edit tagclickup_delete_space_tag- Delete tagclickup_add_tag_to_task- Tag a taskclickup_remove_tag_from_task- Untag a task
Checklists (6)
clickup_create_checklist- Create checklistclickup_edit_checklist- Edit checklistclickup_delete_checklist- Delete checklistclickup_create_checklist_item- Add itemclickup_edit_checklist_item- Edit itemclickup_delete_checklist_item- Delete item
Dependencies (4)
clickup_add_dependency- Add dependencyclickup_delete_dependency- Remove dependencyclickup_add_task_link- Link tasksclickup_delete_task_link- Unlink tasks
Comments (5)
clickup_create_comment- Add commentclickup_get_comments- Get commentsclickup_update_comment- Edit/resolve commentclickup_create_reply- Threaded replyclickup_get_replies- Get replies
Delete Task (1)
clickup_delete_task- Delete a task
Multi-List Membership (2)
clickup_add_task_to_list- Add a task to an additional list (multi-homing)clickup_remove_task_from_list- Remove a task from an additional list
These do not move a task. The ClickUp v2 API has no move-between-lists endpoint. Verified against the live API 2026-08-12:
POST /list/{list}/task/{task}adds a secondary location and leaves the home list unchanged, while alist_idinPUT /task/{id}returns HTTP 200 and is silently ignored. To genuinely move a task and keep its custom ID and history, use the ClickUp web UI (right-click -> Move). Multi-list membership also requires the paid Tasks-in-Multiple-Lists feature.
Attachments (1)
clickup_upload_attachment- Upload a local file (screenshot, PDF) to a task
Workspace Members (2)
clickup_get_workspace_members- All workspace membersclickup_get_list_members- List-specific members
Architecture
src/
index.ts # Entry: McpServer + StdioServerTransport
client.ts # ClickUp API v2 fetch wrapper
types.ts # Shared Zod schemas + jsonResult helper
slim.ts # Response slimming transformers
tools/
navigation.ts # 7 tools
tasks.ts # 9 tools (CRUD + custom fields + delete + multi-list)
tags.ts # 6 tools
checklists.ts # 6 tools
dependencies.ts # 4 tools
comments.ts # 5 tools
members.ts # 2 tools
attachments.ts # 1 tool (multipart upload)License
MIT
Available Tools
40 toolsclickup_add_dependencyB
Add a dependency between tasks (waiting_on or blocking)
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | The task to add the dependency to | |
| depends_on | No | Task ID this task is waiting on | |
| dependency_of | No | Task ID that this task blocks |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It fails to explain mutation consequences, whether dependencies are directional, what happens on duplicate, or required permissions. The difference between depends_on and dependency_of is not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words, but it could benefit from slight structuring to improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, and the need to clarify mutual exclusivity of depends_on/dependency_of, the description is insufficient. It does not cover return value or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and description adds no extra meaning beyond the parameter names and schema descriptions. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (add), the resource (dependency between tasks), and specifies the two dependency types (waiting_on or blocking), distinguishing it from sibling tools like clickup_add_tag_to_task or clickup_add_task_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., clickup_delete_dependency), no when-not-to-use conditions, and 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.
clickup_add_tag_to_taskC
Add a tag to a task
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) | |
| tag_name | Yes | Tag name to add |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, but it discloses nothing about whether the tag must pre-exist in the space, whether the operation is idempotent, how duplicates are handled, or what permissions are required. For a mutation tool this is a meaningful gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words, which is appropriately sized for a simple two-parameter operation. It is arguably too terse given the absence of annotations, but it is structurally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity and the schema fully documents its two parameters, so the core invocation information is present. Still, with no annotations and no output schema, the description should disclose the key prerequisite that the tag must already exist in the space; that omission leaves a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both task_id (with internal/custom ID formats) and tag_name are fully documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Add a tag to a task'), so an agent can identify the operation immediately. However, it does not differentiate itself from the sibling clickup_remove_tag_from_task or clarify that the tag must already exist in the space, leaving sibling routing to the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 clickup_create_space_tag or clickup_remove_tag_from_task, and no prerequisites are mentioned. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_add_task_linkC
Link two tasks together
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | First task ID | |
| links_to | Yes | Second task ID to link to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden for behavioral disclosure. It only states 'link two tasks together' without explaining implications such as directionality, reversibility, permissions, or side effects. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no waste. However, it may be too brief given the need to differentiate from siblings and explain behavior. Still, it is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no output schema or annotations, the description is too sparse. It does not explain the nature of the link, how to remove it, or what happens upon linking. Incomplete for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter descriptions in schema are fully documented (100% coverage). The description adds no 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Link two tasks together' clearly states the verb and resource. However, it does not distinguish from the sibling 'clickup_add_dependency', which might also link tasks in a different way. Thus it is clear but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. There is no information on when to use this tool versus alternatives like 'clickup_add_dependency' or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_add_task_to_listA
Add a task to an ADDITIONAL list (multi-homing). This does NOT move the task: its home list is unchanged and it may not appear in the target list's task query. Requires the paid Tasks-in-Multiple-Lists feature. There is no API to move a task between lists - use the ClickUp web UI (right-click -> Move) to preserve the custom ID and history.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | ClickUp list ID | |
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the non-obvious multi-homing semantics (home list unchanged, task may not appear in the target list's task query), the paid-feature prerequisite, and the absence of any move API. These are subtle behaviors an agent could not infer from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tightly packed sentences, front-loaded with the core action and immediate correction of the most likely misfire (thinking it moves the task). No filler; every sentence conveys a distinct, decision-relevant fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, annotation-free tool with no output schema, the description covers semantics, prerequisites, failure-to-appear behavior, and the correct alternative workflow. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both task_id and list_id are already documented, including the internal-vs-custom ID format. The description adds no parameter-level detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (add), resource (task), and destination (list), plus the crucial scope qualifier 'ADDITIONAL list (multi-homing)'. This clearly separates it from siblings like clickup_create_task (new task) and clickup_remove_task_from_list (detach).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says what it is NOT for ('does NOT move the task'), states a prerequisite ('requires the paid Tasks-in-Multiple-Lists feature'), and redirects the move use case to the web UI when no API exists. This is exactly the when/when-not/alternative guidance expected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_create_checklistC
Create a checklist on a task
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Checklist name | |
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden for a mutation tool, yet it discloses nothing about permissions, reversibility, whether the checklist starts empty, or what is returned. 'Create' implies a write, but that is the entire disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero redundancy. It is efficient, though its brevity edges into under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter creation tool with fully covered schema, the core operation is conveyed. However, with no annotations and no output schema, the description leaves the agent without any behavioral or result context for a write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (task_id with its ID format examples, and name) are fully documented in the schema. The description adds no syntax, format, or default information beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a checklist on a task'), which clearly separates it from sibling mutations like edit_checklist, delete_checklist, and create_checklist_item. It does not explicitly name those siblings, so it stops short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus edit_checklist or create_checklist_item, no prerequisites stated, and no exclusions. The phrase 'on a task' only weakly implies the task must already exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_create_checklist_itemB
Add an item to a checklist
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Item name | |
| assignee | No | User ID to assign | |
| checklist_id | Yes | Checklist ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose behavioral traits such as idempotency, duplicate handling, or permission requirements. Only states 'Add' with no further context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (one sentence) but lacks important details. It is not verbose but could be more informative without being longer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description does not explain return values or side effects. For a creation tool, missing behavioral context like response format or prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no new meaning beyond what is in the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states action and object: 'Add an item to a checklist'. This distinguishes it from siblings like 'create_checklist' or 'edit_checklist_item'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Could be confused with editing an item or adding dependencies. No exclusion criteria mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_create_commentC
Add a comment to a task
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) | |
| assignee | No | User ID to assign with this comment | |
| notify_all | No | Notify all assignees (default true) | |
| comment_text | Yes | Comment text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the basic action. It omits whether the comment triggers notifications (the schema hints notify_all defaults true), who the comment is attributed to, permission requirements, or whether the response returns the created comment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that is front-loaded and waste-free. It is arguably too terse, but nothing extraneous is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with a fully documented schema and no output schema, the definition is minimally adequate. It falls short on notification behavior and return value, which matter for a comment-creation mutation with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (task_id, assignee, notify_all, comment_text) are already documented in the schema. The description adds no extra parameter meaning, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Add a comment to a task') that is unambiguous. However, it does not differentiate from close siblings such as clickup_create_reply or clickup_update_comment, leaving the agent to infer which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance, no prerequisites, and no mention of alternatives like create_reply for threaded responses or update_comment for edits. Usage is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_create_listA
Create a new list in a folder or as a folderless list in a space
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | List name | |
| status | No | Status name to use as default | |
| content | No | List description | |
| due_date | No | Due date as Unix timestamp in milliseconds | |
| priority | No | Priority (1=urgent, 2=high, 3=normal, 4=low) | |
| space_id | No | Space ID (for folderless list) | |
| folder_id | No | Folder ID (for list inside folder) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden. It only states that the tool creates a list but does not disclose behavioral details like permissions, return value, side effects, or error behavior. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no redundancy. It directly conveys the tool's purpose and location options, meeting conciseness goals.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with 7 parameters and no output schema. The description covers the main use cases but lacks details such as the mutual exclusivity of folder_id and space_id, return behavior, or prerequisites. It is marginally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with each parameter already described. The description adds no new meaning beyond reinforcing the folder vs. folderless context, but that is already evident from the parameter descriptions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create a new list) and specifies the two contexts: in a folder or folderless in a space. This distinguishes it from siblings like clickup_create_task or clickup_create_checklist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 create a list) and the two possible locations (folder or space). However, it does not provide explicit guidance on when not to use it or alternatives, such as clickup_get_lists for retrieval.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_create_replyB
Add a threaded reply to a comment
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | Comment ID | |
| comment_text | Yes | Reply text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses no behavioral traits like idempotence, error handling, permission requirements, or side effects beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 5 words, perfectly front-loaded and concise with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low tool complexity (2 params, no output schema), the description is too minimal. It lacks usage context and behavioral details, making it harder for an agent to select correctly among sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions. The description adds no additional meaning beyond what is already in the schema (e.g., comment_id and comment_text are self-explanatory). Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'Add' and resource 'threaded reply to a comment', clearly distinguishing it from sibling tools like clickup_create_comment (top-level comment) and clickup_get_replies (retrieval).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Lacks context about prerequisites (e.g., comment must exist) or when not to use (e.g., if you need to update a reply instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_create_space_tagB
Create a new tag in a space
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Tag name | |
| tag_bg | No | Background color hex (e.g. '#000000') | |
| tag_fg | No | Foreground color hex (e.g. '#ffffff') | |
| space_id | Yes | ClickUp space ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Minimal behavioral disclosure. Lacks details on idempotency, duplicate handling, limits, or whether creation overwrites existing tags. No annotations to compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded, but slightly too terse; could be organized to include usage context or return info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, and description does not explain return value or behavior. Missing context for a create tool, especially given sibling tools exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with basic descriptions; description adds no extra meaning beyond what schema already 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.
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 tag in a space), distinguishing it from sibling tools like edit or delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., edit_space_tag or delete_space_tag). No mention of prerequisites such as needing the space_id or naming constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_create_taskB
Create a new task in a list
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Task name | |
| tags | No | Array of tag names | |
| parent | No | Parent task ID (to create subtask) | |
| status | No | Status name (must match list's statuses) | |
| list_id | Yes | ClickUp list ID | |
| due_date | No | Due date as Unix timestamp in milliseconds | |
| priority | No | Priority: 1=urgent, 2=high, 3=normal, 4=low | |
| assignees | No | Array of user IDs to assign | |
| notify_all | No | Notify assignees (default true) | |
| start_date | No | Start date as Unix timestamp in milliseconds | |
| description | No | Task description (plain text or markdown) | |
| custom_fields | No | Custom field values to set | |
| due_date_time | No | Whether due_date includes time | |
| time_estimate | No | Time estimate in milliseconds | |
| start_date_time | No | Whether start_date includes time | |
| markdown_description | No | Task description in markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only states the basic function without mentioning side effects, idempotency, permissions, rate limits, or error handling. This is insufficient for informed agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded, conveying the essential purpose in just six words. Every word is necessary and contributes directly to understanding. No wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (16 parameters, no annotations, no output schema), the description is severely incomplete. It omits return values, error scenarios, behavioral nuances, and integration context with sibling tools. A more comprehensive description is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema itself documents all parameter meanings. The description adds no additional semantic value or contextual hints beyond the schema. Score remains at baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new task in a list' clearly states the action (create), the resource (task), and the scope (in a list). It effectively distinguishes this from sibling tools like clickup_update_task or clickup_delete_task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not mention when to use this tool versus alternatives (e.g., clickup_update_task), nor does it specify prerequisites or contexts that might influence selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_delete_checklistB
Delete a checklist and all its items
| Name | Required | Description | Default |
|---|---|---|---|
| checklist_id | Yes | Checklist ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes that deleting a checklist also deletes its items (a key side effect), but does not disclose irreversibility, permission requirements, or any impact on linked entities. With no annotations, more transparency is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loaded with the action. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter, the description is adequate but misses opportunities to state irreversibility or permission requirements, which would be helpful given no output schema and no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter described as 'Checklist ID'. The description adds no extra meaning beyond the schema, which meets the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete') and the resource ('checklist'), and explicitly mentions that it also deletes all items, which distinguishes it from sibling tools like 'delete_checklist_item' that only delete a single item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., updating a checklist instead of deleting it), nor about prerequisites or conditions for deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_delete_checklist_itemC
Delete a checklist item
| Name | Required | Description | Default |
|---|---|---|---|
| checklist_id | Yes | Checklist ID | |
| checklist_item_id | Yes | Checklist item ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fails to disclose behavioral traits like irreversibility of deletion, required permissions, or impact on related data. With no annotations, the burden falls on the description, which is insufficiently transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but at the expense of completeness. It is a single sentence that only restates the tool's name, offering no additional information. It could be expanded without sacrificing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description should provide more context about the deletion action, such as permanence, necessary permissions, and usage constraints. It is insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning beyond the input schema, which already provides descriptions for both parameters. With 100% schema coverage, the description adds no additional value, aligning with the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Delete a checklist item', which is a verb+resource. However, it does not differentiate from sibling tools like delete_checklist or edit_checklist_item, relying on the tool name for clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 delete_checklist or edit_checklist_item. The description only states the action without context on prerequisites or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_delete_dependencyB
Remove a dependency. Note: uses query params, not body.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | The task to remove the dependency from | |
| depends_on | No | Task ID this task was waiting on | |
| dependency_of | No | Task ID that this task was blocking |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as idempotency, error handling when dependency doesn't exist, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at one sentence plus a note, but the note is valuable and efficiently conveys a key usage detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (3 params, no output schema), the description lacks important behavioral context and does not clarify the relationship between the optional parameters depends_on and dependency_of.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter descriptions; the description adds no extra semantics beyond the schema, meeting baseline expectations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Remove a dependency' with a specific verb and resource, and the name distinguishes it from sibling tools like clickup_add_dependency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a technical note about using query params instead of body, but lacks guidance on when to use this tool versus alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_delete_listA
Delete a list. This is permanent and cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | ClickUp list ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that deletion is permanent and irreversible, which is key behavioral info. However, it omits side effects such as whether tasks within the list are also deleted, and does not mention any required permissions or preconditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences, front-loading the action and key warning. Every word adds value, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema, no nested objects) and the presence of a clear purpose description, the description is largely complete. It could be enhanced by noting effects on dependent resources, but overall it covers essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only one parameter ('list_id') described as 'ClickUp list ID'. The description adds no further semantic detail about the parameter, so with high coverage, baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Delete a list' which clearly identifies the verb and resource. It distinguishes itself from sibling tools like clickup_delete_task or clickup_delete_checklist by focusing on list deletion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 clickup_create_list or clickup_delete_task. The permanence warning implies a cautionary use case, but no direct comparisons or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_delete_space_tagB
Delete a tag from a space
| Name | Required | Description | Default |
|---|---|---|---|
| space_id | Yes | ClickUp space ID | |
| tag_name | Yes | Tag name to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Delete a tag from a space' without disclosing behavioral traits such as whether the action is irreversible, what happens if the tag does not exist, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous words. It is concise and front-loaded with the essential action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only 2 parameters and no output schema. However, without annotations, the description is minimal and lacks details on error handling, idempotency, or side effects. Adequate but could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters having descriptions. The description adds no additional meaning beyond the schema, which already identifies space_id and tag_name. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and the resource (a tag from a space). It effectively differentiates from sibling tools like create_space_tag and edit_space_tag.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not specify when not to use it or any prerequisites. The description simply implies the obvious usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_delete_taskB
Permanently delete a task
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden, and it does flag the single most important trait: the deletion is permanent/irreversible. It says nothing about required permissions, cascade behavior (subtasks, comments, time entries), or confirmations, leaving meaningful gaps for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the verb and the irreversibility qualifier; no filler. It is arguably terse for a destructive tool, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema delete, the description covers the core action and its permanence, which is the minimum viable. Missing are permission requirements, side effects on related objects, and any pointer to alternatives, which matter for an irreversible operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single task_id parameter is fully documented with internal and custom ID examples in the schema. The description adds no parameter detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("delete a task") and adds the critical qualifier "Permanently," which distinguishes it from reversible actions. It does not, however, differentiate itself from siblings like clickup_delete_list or clickup_remove_task_from_list, so an agent gets no explicit routing help.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no mention of alternatives such as clickup_remove_task_from_list (which detaches rather than destroys). The agent must infer the context entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_delete_task_linkB
Remove a link between two tasks
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | First task ID | |
| links_to | Yes | Second task ID to unlink |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It only states 'Remove a link between two tasks' without disclosing side effects (e.g., whether it affects dependencies, permissions needed, or reversibility). This is insufficient 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is efficient and front-loaded. No unnecessary words. However, it could be slightly expanded with usage context without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is too minimal. It does not explain what happens after removal (e.g., confirmation, error states) or any prerequisites. For a mutation tool, more detail would be beneficial.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters. The description does not add any additional meaning beyond what the schema provides (e.g., no clarification on order or relationships). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is very clear: 'Remove a link between two tasks'. It specifies a verb ('Remove') and a resource ('link between two tasks'), and it distinguishes itself from siblings like clickup_add_task_link (add) and clickup_add_dependency (different concept).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It is implied that it removes a link, but there is no mention of when not to use it or reference to related tools like clickup_add_task_link or clickup_delete_dependency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_edit_checklistB
Rename or reorder a checklist
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New checklist name | |
| position | No | New position (0-indexed) | |
| checklist_id | Yes | Checklist ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It mentions renaming and reordering but fails to state whether the operation is destructive, requires authentication, or its effects (e.g., does reordering affect other checklists?). The description lacks necessary behavioral details 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no redundant information. However, it could be slightly more structured to include usage hints while remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no output schema and 3 parameters, the description is too sparse. It lacks information on required permissions, side effects (e.g., does renaming affect linked items?), and interaction with other checklist operations. The tool's functionality is not fully contextualized.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so schema already documents all three parameters. The description adds minimal value beyond schema, implying name and position correspond to rename and reorder respectively, but no additional semantics like format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Rename or reorder a checklist' clearly states the specific actions on a specific resource. It effectively distinguishes from sibling tools like create_checklist, delete_checklist, and edit_checklist_item.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., using edit_checklist_item for items, or create_checklist for creation). The description does not provide any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_edit_checklist_itemC
Edit a checklist item (name, resolved status, assignee, or parent)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New item name | |
| parent | No | Parent checklist item ID (to nest items) | |
| assignee | No | User ID to assign (or null to unassign) | |
| resolved | No | Mark as resolved/unresolved | |
| checklist_id | Yes | Checklist ID | |
| checklist_item_id | Yes | Checklist item ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only says 'Edit' but omits mutation effects, required permissions, rate limits, or response behavior. This is a significant gap for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded with the verb and resource. However, it could be slightly more structured with bullet points for clarity, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, no output schema, and no annotations, the description is too brief. It lacks explanation of return values, error states, or behaviors like how parent nesting works, making it incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 restates parameter names already defined in the schema without adding any extra context or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool edits a checklist item and lists editable fields (name, resolved status, assignee, or parent). However, it does not differentiate from sibling tools like clickup_edit_checklist, which edits the checklist itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 clickup_create_checklist_item or clickup_edit_checklist. No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_edit_space_tagB
Edit (rename or recolor) a tag in a space
| Name | Required | Description | Default |
|---|---|---|---|
| tag_bg | No | New background color hex | |
| tag_fg | No | New foreground color hex | |
| new_name | No | New tag name | |
| space_id | Yes | ClickUp space ID | |
| tag_name | Yes | Current tag name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It mentions renaming/recoloring but does not disclose if it overwrites existing settings, affects tasks using the tag, or any error conditions. Very minimal 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence, 8 words). It is front-loaded but may be too minimal, missing any additional helpful detail. It is concise but not necessarily well-structured for completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters and no output schema, the description lacks context about return values, reversibility, or side effects. Schema covers parameters, but behavioral and usage context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% parameter description coverage, so the schema already defines each parameter. The description adds no extra meaning beyond 'rename or recolor', so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: edit a tag in a space, specifying that it can rename or recolor. It is a specific verb+resource and distinguishes from sibling tools like create or delete space tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, or prerequisites like the tag needing to exist. The description only states what it does, leaving the agent to infer from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_commentsA
Get comments on a task (paginated, 25 per page)
| Name | Required | Description | Default |
|---|---|---|---|
| start | No | Start offset for pagination | |
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) | |
| start_id | No | Comment ID to start from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden, and it does add real behavioral value by disclosing pagination and the 25-per-page size. It stops short of covering the return shape, ordering, or whether pagination is cursor-based (start_id) vs offset-based (start).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource first and the pagination constraint in parentheses. No filler, nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with fully documented parameters, no nested objects, and no output schema (so return values need not be described), the description is nearly complete. The only minor gap is not clarifying how start and start_id interact when paging.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (task_id, start, start_id) are already documented in the schema. The description's pagination note is consistent with those params but adds no syntax or format detail beyond them. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get comments on a task'), which clearly separates it from write-side siblings like clickup_create_comment and clickup_update_comment. It doesn't explicitly name the closest alternative (clickup_get_replies), but the scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and by 'on a task', but there is no explicit when-to-use guidance or routing to alternatives such as clickup_get_replies (comment threads) or clickup_create_comment. Nothing misleading, but nothing that actively steers selection either.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_foldersB
List folders in a space (includes nested lists)
| Name | Required | Description | Default |
|---|---|---|---|
| archived | No | Include archived folders (default false) | |
| space_id | Yes | ClickUp space ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only mentions listing and nested lists, but does not state read-only nature, rate limits, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the purpose. It is appropriately sized without wasted words, though it could include slightly more detail without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description needs to be more comprehensive. It does not explain the return format, pagination, or how 'nested lists' appear in the output, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 no extra meaning beyond the schema; both parameters are adequately described in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'folders in a space', and adds 'includes nested lists' which differentiates it from sibling tools like clickup_get_lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 clickup_get_lists or clickup_get_spaces. The description only states what it does without any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_listB
Get a single list's details including its statuses
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | ClickUp list ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations absent (no read/write hints). Description states it retrieves details but omits behavioral context such as mutation risks, required 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, clear sentence with front-loaded purpose. Slightly more detail on what 'details' includes could improve, but remains concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one parameter and no output schema. Mentions statuses, but does not specify other returned fields or error conditions. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter described as 'ClickUp list ID'. Description adds no extra meaning beyond the schema, earning baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes a specific verb (Get) and resource (single list's details including statuses), clearly distinguishing it from siblings like get_lists (plural) and get_list_members.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., get_lists for multiple lists, get_list_members). Does not state exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_list_membersB
Get members with access to a specific list
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | ClickUp list ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits (e.g., return format, required permissions, rate limits). It simply states the purpose without any additional behavioral context, such as whether results are paginated or what fields are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no extraneous 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and no annotations, the description should at least hint at what is returned (e.g., member names, roles). It does not, leaving the agent uninformed about the output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'list_id' is fully described in the schema as 'ClickUp list ID', and the description does not add further meaning. Schema coverage is 100%, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves members with access to a specific list. It uses a specific verb-resource pair ('Get members') and distinguishes itself from siblings like clickup_get_workspace_members (broader scope) and clickup_get_list (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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., clickup_get_workspace_members for workspace-level members). There are no explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_listsA
Get lists in a folder, or folderless lists in a space. Provide either folder_id or space_id.
| Name | Required | Description | Default |
|---|---|---|---|
| archived | No | Include archived lists (default false) | |
| space_id | No | ClickUp space ID | |
| folder_id | No | ClickUp folder ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, permissions required, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loading the purpose and providing key usage instruction without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the schema covers all parameters and no output schema is provided, the description is adequate but could mention default filtering (e.g., archived excluded) or expected response characteristics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds value beyond the schema by clarifying the mutual exclusivity of folder_id and space_id and distinguishing between folder and space contexts, despite 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get lists') and the context (in a folder or folderless in a space), distinguishing it from related tools like 'get_list' or 'create_list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides the condition to provide either folder_id or space_id, but does not explicitly guide when to use this tool versus alternatives like 'get_list' for a single list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_repliesA
Get threaded replies to a comment
| Name | Required | Description | Default |
|---|---|---|---|
| comment_id | Yes | Comment ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states 'Get' (a read operation) but does not mention error handling, pagination, ordering of replies, or any side effects. Minimal behavioral info.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence that is front-loaded and contains no redundant information. Every word is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is minimally adequate. However, it could mention the return format (list of replies?) or constraints for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage for the single parameter 'comment_id' with description 'Comment ID'. The description adds no extra meaning beyond the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get threaded replies to a comment' clearly identifies the action ('Get') and the resource ('threaded replies to a comment'), distinguishing it from sibling tools like clickup_get_comments (which gets top-level comments) and clickup_create_reply.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 clickup_get_comments or clickup_create_reply. The description implies usage but lacks context (e.g., prerequisite comment ID from get_comments).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_spacesC
List all spaces in a workspace
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | Yes | ClickUp workspace/team ID | |
| archived | No | Include archived spaces (default false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should reveal behavioral traits like pagination, response structure, or permissions. It only states a basic read operation. The default behavior for the 'archived' parameter (false) is implied but not explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (one sentence) but omits important contextual details. It is not wordy, but could be more informative without becoming too lengthy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no mention of response format, pagination, or filtering (beyond the archived param). The description fails to fully prepare an AI agent for what the tool returns or how it behaves in edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters have clear descriptions. The tool description adds no additional 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (List) and resource (spaces) but does not differentiate from similar sibling tools like clickup_get_folders or clickup_get_lists. It lacks context on what a 'space' uniquely represents in ClickUp's hierarchy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. It does not mention that workspaces are required, or that archived spaces can be included via the param. Siblings with similar purposes are not distinguished.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_space_tagsA
List all tags in a space
| Name | Required | Description | Default |
|---|---|---|---|
| space_id | Yes | ClickUp space ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states it lists tags, but does not mention return format, pagination, or any constraints. Minimal transparency for a read-only 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of five words, with no unnecessary information. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 adequate. It could mention what is returned (e.g., 'returns tag names') but is complete enough for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a description for space_id. The description does not add meaning beyond the schema, but the schema already adequately defines the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states to list all tags within a space, specifying the verb 'list' and the resource 'tags' with scope 'in a space'. It distinguishes from sibling tools like create, delete, edit, add, remove tags.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to view all tags in a space, distinct from write operations. No explicit when-not or alternatives are provided, but sibling names make the distinction clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_taskC
Get a task by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) | |
| include_subtasks | No | Include subtasks (default false) | |
| include_markdown_description | No | Return description as markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. It does not state that this is a read-only operation, whether it requires auth, how errors surface for an invalid ID, or whether subtasks are excluded by default. For a tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single six-word sentence with no filler and the key scoping phrase ('by its ID') front-loaded. It is efficient, though its brevity is closer to under-specification than to well-structured conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with full schema coverage and no output schema, the parameter side is adequately handled by the schema. However, with no annotations and no return-value or default-behavior notes, the description leaves the agent guessing about what comes back and when to use it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so task_id, include_subtasks, and include_markdown_description are all documented in the schema itself. The description adds only 'by its ID', which restates the required parameter without new format or behavioral detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get a task') plus the lookup key ('by its ID'), so the agent knows this is a single-item retrieval rather than a list. It does not, however, name or differentiate itself from close siblings like clickup_get_tasks, clickup_search_tasks, or clickup_get_task variants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: nothing explains when to prefer this over clickup_get_tasks or clickup_search_tasks, nor any prerequisites such as needing a task ID from a prior search. The 'by its ID' phrasing weakly implies you must already have the ID, but no alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_tasksB
List tasks in a list with optional filters
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (0-indexed) | |
| list_id | Yes | ClickUp list ID | |
| reverse | No | Reverse sort order | |
| archived | No | Include archived tasks | |
| order_by | No | ||
| statuses | No | Filter by status names | |
| subtasks | No | Include subtasks | |
| assignees | No | Filter by assignee IDs | |
| due_date_gt | No | Due date greater than (ms) | |
| due_date_lt | No | Due date less than (ms) | |
| include_closed | No | Include closed tasks | |
| date_created_gt | No | Created after (ms) | |
| date_created_lt | No | Created before (ms) | |
| date_updated_gt | No | Updated after (ms) | |
| date_updated_lt | No | Updated before (ms) | |
| include_markdown_description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as pagination, rate limits, data returned, or default sorting. The description 'list tasks' is too generic without further context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a concise single phrase with no wasted words. It is front-loaded but lacks structure or elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 16 parameters and no output schema, the description fails to explain pagination, response structure, or complex filtering behavior. It is too minimal for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (88%), so the description adds minimal value beyond 'optional filters'. Baseline 3 is appropriate as the schema already documents most parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'tasks in a list', and mentions optional filters. It distinguishes well from siblings like 'clickup_get_task' (single task) and 'clickup_search_tasks' (cross-list search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 limitations, prerequisites, or when to prefer other tools like 'clickup_search_tasks' for broader queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_workspace_membersA
Get all members across all workspaces (extracted from teams response)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It mentions 'extracted from teams response' but does not clarify read-only nature, performance, or any 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 12 words, front-loaded. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return structure, pagination details, and explanation of 'teams response'. Adequate for a simple list but could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema; description implicitly confirms no input needed. Baseline 4 for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Get', resource 'all members', and scope 'across all workspaces'. Distinguishes from sibling like 'clickup_get_list_members' which targets a specific list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. Implied by name and scope, but alternatives like 'clickup_get_list_members' are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_remove_tag_from_taskC
Remove a tag from a task
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) | |
| tag_name | Yes | Tag name to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing beyond the operation itself. It does not say whether the call is idempotent, what happens if the tag is absent from the task, what permissions are required, or whether the response confirms the change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with zero filler, and the operation is front-loaded. It is efficient, though its brevity is partly under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description is too thin: an agent gets no confirmation behavior, no error semantics (unknown tag, unknown task), and no hint about side effects on the task's tag list. The schema covers inputs, but the behavioral surface is left entirely undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: task_id and tag_name are both documented in the schema, including the internal-vs-custom task ID formats. The description adds no parameter meaning beyond what the schema already supplies, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Remove) and resource (a tag from a task), which is unambiguous on its own. It does not explicitly name its inverse sibling clickup_add_tag_to_task or otherwise differentiate itself in wording, but the add/remove polarity is obvious enough from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite conditions (e.g. whether the tag must already exist on the task), and no mention of alternatives. The agent must infer everything about context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_remove_task_from_listA
Remove a task from an ADDITIONAL list it was multi-homed into. Cannot remove a task from its home list (use clickup_delete_task for that). Requires the paid Tasks-in-Multiple-Lists feature.
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | ClickUp list ID | |
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it does substantial work: it discloses the multi-home-only constraint, the paid-plan prerequisite, and the consequence of using the wrong tool. It stops short of saying whether removal also deletes the task or its comments/attachments, and says nothing about auth or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, all load-bearing: scope first, exclusion/alternative second, prerequisite third. No repetition of the tool name or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter mutation with no output schema and no annotations, the description covers the essential constraints an agent needs. It could go slightly further by clarifying that the task itself is not deleted, but nothing critical to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both task_id (internal vs custom ID formats) and list_id documented inline. The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource+scope: removing a task from an ADDITIONAL (multi-homed) list, not its home list. This lets an agent distinguish it from clickup_delete_task and its inverse clickup_add_task_to_list without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-not with a named alternative ('Cannot remove a task from its home list (use clickup_delete_task for that)'), plus a prerequisite ('Requires the paid Tasks-in-Multiple-Lists feature'). Nothing about selection is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_search_tasksC
Search tasks across an entire workspace
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (0-indexed) | |
| reverse | No | ||
| team_id | Yes | ClickUp workspace/team ID | |
| list_ids | No | Filter by list IDs | |
| order_by | No | ||
| statuses | No | ||
| subtasks | No | ||
| assignees | No | ||
| space_ids | No | Filter by space IDs | |
| folder_ids | No | Filter by folder IDs | |
| due_date_gt | No | ||
| due_date_lt | No | ||
| project_ids | No | Filter by project IDs | |
| include_closed | No | ||
| date_created_gt | No | ||
| date_created_lt | No | ||
| date_updated_gt | No | ||
| date_updated_lt | No | ||
| include_markdown_description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the tool searches 'entire workspace', implying broad scope unless filtered, which is useful. However, it omits details about pagination, sorting, default behavior, or result limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the core action. However, it is too brief and sacrifices necessary detail, making it only adequate in structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 19 parameters and no output schema, the description is severely incomplete. It does not explain return format, pagination behavior, filtering scope, or how filters combine. An agent would lack essential context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 32%, so the description should compensate by explaining key parameters, but it does not mention any. The description adds no semantic value beyond the schema fields, leaving many parameters (e.g., page, order_by) undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Search tasks across an entire workspace' clearly indicates the verb and resource, but it does not distinguish this tool from sibling 'clickup_get_tasks', which may also retrieve tasks. The scope 'entire workspace' is helpful but lacks differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'clickup_get_tasks' or 'clickup_get_task'. The description does not specify prerequisites, context, or scenarios where searching is preferred over listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_set_custom_fieldA
Set a custom field value on a task (update_task cannot do this)
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Custom field value (type depends on field type) | |
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) | |
| field_id | Yes | Custom field ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Set' implies a mutation, but nothing is disclosed about idempotency, required permissions, what happens to a prior value, or how field-type mismatches are handled — all material for a write tool with zero 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the operation front-loaded and the differentiating parenthetical last. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-required-param mutation tool with no annotations and no output schema, the definition is minimally adequate: the schema covers inputs fully, but the description omits return behavior, error conditions, and permission requirements that an agent would want before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: value, task_id (with ID format examples), and field_id are all documented in the schema. The description adds no parameter-level meaning (e.g. type-dependent value encoding) beyond what the schema already supplies, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Set a custom field value on a task') and immediately distinguishes itself from the nearest sibling by noting that update_task cannot perform this operation. An agent can select it without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical routes the agent explicitly to this tool when update_task is insufficient, naming the alternative. It stops short of stating when NOT to use it or any prerequisites (e.g. field must exist on the task's list), so it is clear context but not full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_update_commentB
Edit a comment's text or resolve/unresolve it
| Name | Required | Description | Default |
|---|---|---|---|
| assignee | No | New assignee user ID | |
| resolved | No | Mark as resolved/unresolved | |
| comment_id | Yes | Comment ID | |
| comment_text | No | New comment text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It indicates mutation ('edit') but omits details about error handling, permissions, side effects, or what happens if the comment doesn't exist. The description is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant information. It front-loads the action and achievable outcomes, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters and no output schema, the description lacks completeness. It does not explain whether multiple operations can be combined, what the response looks like, or how to handle errors. The agent may struggle to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents parameters. The description adds context by grouping allowed operations (text edit and resolve/unresolve), but does not add new semantic detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'edit' and the resource 'comment', and distinguishes between two primary actions: editing text or toggling resolved status. This specificity differentiates it from creation or deletion tools among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 clickup_create_comment or clickup_get_comments. There is no mention of prerequisites or contexts where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_update_taskC
Update a task. Assignees use add/rem arrays, not a flat list.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New task name | |
| parent | No | Move to new parent (set null to unparent) | |
| status | No | New status | |
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) | |
| archived | No | Archive/unarchive the task | |
| due_date | No | Due date as Unix timestamp in milliseconds | |
| priority | No | Priority: 1=urgent, 2=high, 3=normal, 4=low | |
| assignees | No | Assignee changes (add/rem) | |
| start_date | No | Start date as Unix timestamp in milliseconds | |
| description | No | New description | |
| due_date_time | No | ||
| time_estimate | No | Time estimate in milliseconds | |
| start_date_time | No | ||
| markdown_description | No | New description in markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a mutation but discloses nothing about permissions, reversibility, or partial-vs-full update semantics, and for a 14-param tool that is a significant gap. The only behavioral disclosure is the assignee add/rem convention.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler. Appropriately terse, though it is perhaps over-brief relative to the tool's 14 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity mutation tool with nested objects, no annotations, and no output schema, the description is too thin. It omits update semantics (partial vs full), null/unparent behavior, and any safety context an agent would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, above the 80% threshold, so the baseline is 3. The 'assignees use add/rem arrays, not a flat list' note reinforces the nested schema and adds a useful warning, but does not go beyond what the schema already declares.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Update a task') that is clearly distinguishable from the create/delete/get siblings. It does not name or differentiate against any specific alternative, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus siblings like clickup_create_task, clickup_add_task_to_list, or clickup_set_custom_field. The only other sentence is a parameter note, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_upload_attachmentB
Upload a local file (screenshot, PDF, ...) as an attachment to a task
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217) | |
| filename | No | Name shown in ClickUp (default: the file's own name) | |
| file_path | Yes | Absolute path of the local file to upload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does little beyond the action itself. It implies local filesystem access, but says nothing about size limits, required permissions, overwrite/duplicate behavior, or what happens on failure. Upload is a mutation, so the absence of any side-effect disclosure is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the verb and target front-loaded and no filler. It is appropriately sized, though the ellipsis in the example list is slightly informal for a specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 covers the core action adequately. It is not complete though: with no annotations and no output schema, expected results and any upload constraints (size, permissions) are left entirely unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so task_id, filename, and file_path are already documented. The description adds only the 'local file' constraint, which the schema already implies via the absolute-path wording; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (upload) and resource (file as attachment to a task), with an illustrative parenthetical of file types. It clearly reads as distinct from sibling task/comment/checklist tools, though it never explicitly names what it is not.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose – attaching a file to an existing task – and no sibling overlaps, so no alternative needs routing. However there is no explicit when-to-use, prerequisite (e.g. task must exist), or guidance on sources of the file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_whoamiA
Get current user info and list of workspaces with members
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation but does not explicitly state side-effect safety or authentication requirements. Given no annotations, it minimally covers behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded and contains no redundant words, efficiently conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and no output schema, the description fully covers what the tool returns and its scope, making it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema coverage is 100% vacuously. The description does not need to add parameter meaning, earning a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves current user info and a list of workspaces with members, which is specific and distinguishes it from sibling tools that perform CRUD operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided, but the purpose is straightforward and obvious from the description.
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.
12 tool updates
v1.1.0- Changed
clickup_add_tag_to_task1 field changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"ClickUp task ID"New value: +"ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217)"
- Added
clickup_add_task_to_list - Changed
clickup_create_checklist1 field changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"ClickUp task ID"New value: +"ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217)"
- Changed
clickup_create_comment1 field changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"ClickUp task ID"New value: +"ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217)"
- Changed
clickup_delete_task1 field changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"ClickUp task ID"New value: +"ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217)"
- Changed
clickup_get_comments1 field changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"ClickUp task ID"New value: +"ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217)"
- Changed
clickup_get_task1 field changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"ClickUp task ID"New value: +"ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217)"
- Changed
clickup_remove_tag_from_task1 field changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"ClickUp task ID"New value: +"ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217)"
- Added
clickup_remove_task_from_list - Changed
clickup_set_custom_field1 field changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"ClickUp task ID"New value: +"ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217)"
- Changed
clickup_update_task1 field changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"ClickUp task ID"New value: +"ClickUp task ID: internal (e.g. 86caqr85m) or custom (e.g. DEV-1217)"
- Added
clickup_upload_attachment
37 tool updates
v1.0.3- First observed
clickup_add_dependency - First observed
clickup_add_tag_to_task - First observed
clickup_add_task_link - First observed
clickup_create_checklist - First observed
clickup_create_checklist_item - First observed
clickup_create_comment - First observed
clickup_create_list - First observed
clickup_create_reply - First observed
clickup_create_space_tag - First observed
clickup_create_task - First observed
clickup_delete_checklist - First observed
clickup_delete_checklist_item - First observed
clickup_delete_dependency - First observed
clickup_delete_list - First observed
clickup_delete_space_tag - First observed
clickup_delete_task - First observed
clickup_delete_task_link - First observed
clickup_edit_checklist - First observed
clickup_edit_checklist_item - First observed
clickup_edit_space_tag - First observed
clickup_get_comments - First observed
clickup_get_folders - First observed
clickup_get_list - First observed
clickup_get_list_members - First observed
clickup_get_lists - First observed
clickup_get_replies - First observed
clickup_get_space_tags - First observed
clickup_get_spaces - First observed
clickup_get_task - First observed
clickup_get_tasks - First observed
clickup_get_workspace_members - First observed
clickup_remove_tag_from_task - First observed
clickup_search_tasks - First observed
clickup_set_custom_field - First observed
clickup_update_comment - First observed
clickup_update_task - First observed
clickup_whoami
TDQS
Scored across 40 tools
Most tools target a distinct resource+action, and descriptions actively disambiguate tricky pairs like clickup_add_task_to_list (multi-homing) vs. clicking delete, and clickup_update_task vs. clickup_set_custom_field. Minor potential confusion exists between clickup_get_task/clickup_get_tasks and clickup_get_tasks/clickup_search_tasks, but descriptions make the boundaries clear.
Nearly all tools follow a predictable clickup_verb_noun pattern (create_task, update_task, get_comments, delete_checklist_item). A few deviate slightly, e.g. plural list-verbs like clickup_get_spaces/get_folders/get_lists and the standalone clickup_whoami, but the convention is readable and consistent overall.
At 40 tools, the surface is heavy even for a rich domain like ClickUp, exceeding the 25+ threshold where each tool starts to struggle for its place. While the underlying product is genuinely large, the set is bloated enough to raise selection overhead.
Core lifecycle coverage is strong: full CRUD for tasks, lists, checklists, checklist items, space tags, dependencies, and links, plus comments and threaded replies. Notable gaps remain, such as no create/update/delete for spaces or folders (read-only) and no way to delete a comment.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- AlicenseAqualityAmaintenanceA token optimised ClickUp CLI with built in MCP server that provides an efficient way to get data from ClickUp without consuming large amounts of LLM context10052Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA self-hosted MCP server that enables AI agents to directly interact with your ClickUp workspace, including tasks, lists, folders, comments, time tracking, and more via 51 tools over SSE.229 npmMIT
- AlicenseAqualityBmaintenanceA comprehensive MCP server for the ClickUp API exposing 166 tools to manage Spaces, Folders, Lists, Tasks, Docs, and more, enabling LLMs to read and drive a ClickUp Workspace.1001Apache 2.0
- AlicenseBqualityBmaintenanceA Model Context Protocol (MCP) server providing AI assistants with comprehensive ClickUp integration, covering the full API surface across 87 consolidated tools.87229 npm1MIT