Skip to main content
Glama

Custom ClickUp MCP

Local MCP server for the essential ClickUp workflows. It runs over stdio, uses one ClickUp personal API token per process, and exposes a deliberately bounded P0 tool set.

Requirements

  • Node.js 20 or newer

  • A ClickUp personal API token

  • Access to a disposable ClickUp Workspace for smoke tests

Related MCP server: ClickUp MCP Server

Install and build

npm ci
npm run build

Set secrets through the process environment or the MCP client's secret store. Do not commit a real token to an MCP configuration file.

export CLICKUP_API_TOKEN="pk_replace_me"
export CLICKUP_DEFAULT_WORKSPACE_ID="123456"
npm start

The process communicates through standard input/output. Seeing no ordinary output on stdout is expected; operational logs are JSON lines on stderr.

MCP client configuration

Use the absolute path to the built entry point:

{
  "mcpServers": {
    "clickup": {
      "command": "node",
      "args": ["/absolute/path/to/custom-clickup-mcp/dist/index.js"],
      "env": {
        "CLICKUP_API_TOKEN": "<from-your-client-secret-store>",
        "CLICKUP_DEFAULT_WORKSPACE_ID": "123456"
      }
    }
  }
}

Any client that supports MCP over stdio can launch the same command. The SDK serves the current MCP protocol and negotiates the supported legacy era by default.

Configuration

Variable

Required

Default

Purpose

CLICKUP_API_TOKEN

yes

Personal ClickUp API token. Never logged or persisted.

CLICKUP_DEFAULT_WORKSPACE_ID

no

Default Workspace when a tool does not receive workspace_id.

CLICKUP_TOOL_PROFILE

no

full

Tool catalog: all 40 tools with full, or the compact common-workflow catalog with core.

CLICKUP_ENABLE_DESTRUCTIVE

no

false

Allows confirmed Task/comment deletion, task merging, and Custom Field value removal.

CLICKUP_ENABLE_BULK_WRITES

no

false

Allows confirmed bulk task writes and multi-field Custom Field writes.

CLICKUP_BULK_MAX_ITEMS

no

25

Per-call bulk limit; maximum allowed value is 100.

CLICKUP_SEARCH_MAX_PAGES

no

5

Default Task pages scanned; maximum allowed value is 20.

CLICKUP_REQUEST_TIMEOUT_MS

no

15000

Timeout for each upstream API request.

.env.example documents the same values, but the server intentionally does not load .env files itself.

Tools

The default full profile exposes exactly 40 tools in P0. Set CLICKUP_TOOL_PROFILE=core to expose only the common search, Task, comment, Tag, hierarchy, and assignee-resolution workflow. The compact profile contains 14 tools and reduces the tool-discovery payload without changing any tool's request or response shape.

  • search_workspace

  • filter_tasks

search_workspace performs a bounded API sweep over Tasks, Spaces, Folders, and Lists. It does not search Docs. A truncated result includes a continuation cursor and scan counters; it never walks an unbounded Workspace implicitly.

filter_tasks composes tags, statuses, assignees, List/Folder/Space scopes, due and completion date ranges, task types, subtask inclusion, and sorting in one server-side request. Arrays are OR within one dimension and dimensions are ANDed. Like the other searches, each call is bounded by limit and max_pages and returns a continuation cursor when truncated.

Task management

  • create_task

  • get_task

  • update_task

  • set_task_custom_fields

  • get_custom_fields

  • delete_task

  • merge_tasks

  • create_bulk_tasks

  • update_bulk_tasks

create_task and update_task accept either description for plain text or markdown_description for formatted Markdown, but not both. The server maps markdown_description to ClickUp's upstream markdown_content field. The same input contract applies to items in create_bulk_tasks and update_bulk_tasks.

time_estimate is expressed in minutes; the server converts it to the milliseconds ClickUp expects. update_task clears an estimate when it receives an explicit null.

priority accepts either a ClickUp label (urgent, high, normal, low) or the matching wire number (1 through 4). The scale is fixed at those four values in every Workspace. update_task clears a priority when it receives an explicit null.

create_task and update_task accept task_type as either a custom_item_id such as 7 or a display name such as Bug, matched case-insensitively against the Workspace task types plus the built-in Task and Milestone. An unmatched or ambiguous name fails with TASK_TYPE_NOT_FOUND or TASK_TYPE_AMBIGUOUS, lists the candidates, and writes nothing. update_task resets a task to the built-in Task type when it receives an explicit null. Resolution needs a Workspace, so pass workspace_id when CLICKUP_DEFAULT_WORKSPACE_ID is unset; a bulk call resolves the type list once for every item.

get_custom_fields accepts a Task, List, Folder, Space, or Workspace location and returns field IDs, types, applicability metadata, and dropdown/label option UUIDs. Task-scoped discovery automatically resolves the home List and excludes fields that do not apply to the Task's custom task type.

Attachments

  • request_attachment_upload

  • attach_task_file

  • download_task_attachment

Uploads use a two-step flow: stage an explicit local file path, a base64 payload, or an HTTPS URL (optionally with an Authorization header), then pass the short-lived upload_id to attach_task_file. Staged payloads expire after ten minutes, are consumed only after a successful multipart upload, and are limited to 25 MiB to keep MCP messages and process memory bounded. Downloads can return ClickUp's signed URL or write the file to an explicit local path; existing files are preserved unless overwrite: true is supplied.

Comments

  • get_task_comments

  • get_threaded_replies

  • create_comment

  • create_task_comment

  • update_comment

  • delete_comment

create_comment targets a Task, List, or Chat view, can create a threaded reply with reply_to_id, and supports user or group assignment. create_task_comment remains as a compatibility tool for its original Task-only contract.

Tags

  • add_tag_to_task

  • remove_tag_from_task

Task relationships

  • add_task_link

  • remove_task_link

  • add_dependency

  • remove_dependency

Move and additional Lists

  • move_task_to_list

  • add_task_to_list

  • remove_task_from_list

add_task_to_list and remove_task_from_list require the ClickUp Tasks in Multiple Lists ClickApp. The removal tool refuses to remove a Task from its home List.

Workspace hierarchy

  • get_workspace_hierarchy

  • create_list_in_space

  • create_list_in_folder

  • get_list

  • update_list

  • get_folder

  • create_folder

  • update_folder

Members and assignees

  • get_workspace_members

  • find_member_by_name

  • resolve_assignees

Member resolution returns candidates instead of choosing automatically when a name or email is ambiguous.

Safe writes

Task/comment deletion, task merging, Custom Field removals, and multi-item writes use a two-step flow:

  1. Call the tool with dry_run: true to receive the exact preview and a short-lived confirmation token.

  2. Enable the relevant environment flag and call again with the unchanged payload, dry_run: false, confirm: true, and the confirmation token.

Confirmation tokens expire after ten minutes, are tied to the exact operation payload, and can only be consumed once. Bulk operations use a maximum concurrency of three, have no implicit rollback, and report the result of every item.

set_task_custom_fields also defaults to preview mode. A single non-destructive field update may be executed with dry_run: false directly; removals and multi-field changes require the corresponding feature flag plus confirmation. Field applicability and value shapes are validated before any write begins.

Errors and limits

Tool failures return a structured error with code, message, retryable, and optional details. Read requests retry transient 408, 429, and 5xx failures up to three attempts. Writes are not automatically repeated after an uncertain failure.

The server observes ClickUp rate-limit headers. Search and bulk calls are intentionally bounded because ClickUp enforces limits per token and Workspace plan.

Development

npm run typecheck
npm run lint
npm test
npm run build

Tests use mocked ClickUp responses and in-memory MCP transports. CI must not use a production token. A final manual smoke test should use a sandbox Workspace and disposable Tasks.

Troubleshooting

  • CONFIG_MISSING: provide CLICKUP_API_TOKEN through the process environment.

  • WORKSPACE_REQUIRED: configure CLICKUP_DEFAULT_WORKSPACE_ID or pass workspace_id to the tool.

  • WORKSPACE_NOT_AUTHORIZED: reconnect with a token that can access the configured Workspace.

  • CLICKUP_HTTP_429: reduce the search/bulk limits and wait for the reset time.

  • CONFIRMATION_MISMATCH: repeat the preview after changing any delete or bulk payload.

  • Additional-List errors: enable Tasks in Multiple Lists in the ClickUp Workspace.

Architecture

MCP stdio → tool registry and policies → domain tool modules → ClickUpClient → ClickUp API v2/v3

The stdio transport starts immediately; ClickUp credentials and the optional default Workspace are validated lazily before the first tool operation. The API client centralizes timeouts, pagination primitives, rate limiting, retries, error normalization, and redacted telemetry. Hierarchy/member caches and confirmation state exist only in memory and are discarded when the process exits.

Available Tools

32 tools
add_dependencyAdd DependencyA

Create an explicit waiting-on or blocking dependency between two ClickUp Tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
directionYes
workspace_idNo
custom_task_idsNo
related_task_idYes

TDQS

A3.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false (mutation) and destructiveHint=false. The description adds no additional behavioral context such as side effects, failure modes, or idempotency implications. It merely restates the action without revealing any hidden traits.

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

Conciseness5/5

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

The description is a single sentence that is concise and front-loaded with the essential information. Every word earns its place, with no filler or redundancy.

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

Completeness2/5

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

For a 5-parameter mutation tool with no output schema, the description leaves critical ambiguity: it does not specify which task depends on which for 'waiting_on' vs 'blocking'. It also omits any mention of workspace_id or custom_task_ids. The description is not complete enough to guide correct invocation without additional assumptions.

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

Parameters3/5

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

With 0% schema description coverage, the description partially compensates by explaining the core relationship (task_id and related_task_id) via 'between two ClickUp Tasks' and the direction enum via 'waiting-on or blocking'. However, it does not clarify workspace_id or custom_task_ids, nor does it explain the exact meaning of each direction for parameter selection.

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

Purpose5/5

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

The description uses a specific verb ('Create') and clearly identifies the resource ('explicit waiting-on or blocking dependency between two ClickUp Tasks'). It distinguishes from the sibling remove_dependency by focusing on creation rather than removal.

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

Usage Guidelines4/5

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

The context for use is clear: you use this tool to add a dependency. However, it does not explicitly state when not to use it or name alternatives like remove_dependency. The lack of explicit exclusions keeps it from a 5.

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

add_tag_to_taskAdd Tag to TaskB

Apply an existing ClickUp Tag to a Task.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
tag_nameYes
workspace_idNo
custom_task_idsNo

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, but the description adds no behavioral context beyond what the title conveys. It does not explain effects of reapplying an existing tag, whether workspace_id is required, or any rate limits or auth needs, so it adds no value beyond annotations.

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

Conciseness5/5

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

The description is a single concise sentence with no fluff or repetition. It is front-loaded with the action, and every word is relevant. It demonstrates good conciseness, even though it lacks depth.

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

Completeness2/5

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

With 4 parameters, no output schema, and zero parameter descriptions, the description provides insufficient context. It fails to explain parameter semantics, return values, or edge cases, making it incomplete for an agent to use effectively.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only adds 'existing', which hints that the tag must already exist. It provides no explanation for task_id, workspace_id, or custom_task_ids, leaving the agent to rely solely on parameter names.

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

Purpose5/5

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

The description clearly states a specific action: 'Apply an existing ClickUp Tag to a Task.' It distinguishes this from sibling tools like remove_tag_from_task and create_task, and the verb+resource structure ('apply' + tag to task) is unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention preconditions (e.g., tag must exist), exclusions, or related tools, leaving the agent without context for selection among sibling tools.

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

add_task_to_listAdd Task to ListA

Add a Task to an additional List while preserving its home List.

ParametersJSON Schema
NameRequiredDescriptionDefault
list_idYes
task_idYes

TDQS

A4.2/5.0
Behavior4/5

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

The description adds meaningful context beyond the annotations by specifying that the operation preserves the home list, effectively making the task a member of both lists. The annotations already indicate readOnlyHint=false (mutation) and destructiveHint=false, so the description complements rather than contradicts them. However, it does not disclose edge cases like duplicate membership handling, which is a minor gap given the annotations cover the safety profile.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the primary verb and object, and it includes only the essential distinction about preserving the home List. No wasteful words or redundant detail.

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

Completeness4/5

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

For a simple two-parameter tool with no output schema, the description conveys the core semantics and differentiates from the related move tool. The annotations provide the mutation and non-destructive signals, so the description need not restate them. It could mention return values or duplicate behavior, but the combination of annotations and description is sufficient for typical use.

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

Parameters3/5

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

The input schema has no parameter descriptions (0% coverage), so the description should compensate. The parameter names task_id and list_id are fairly self-explanatory, and the phrase 'additional List' hints that list_id is the new list to add to. However, the description does not explicitly map parameters or explain any constraints, so it only partially compensates for the missing schema documentation.

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

Purpose5/5

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

The description clearly states the action ('Add a Task to an additional List') and the key behavioral nuance ('preserving its home List'), which distinguishes it from the sibling tool move_task_to_list. The verb and resource are specific, and the scope of the operation is unambiguous.

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

Usage Guidelines4/5

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

The phrase 'additional List' and 'preserving its home List' clearly implies the intended use case: when you want a task to appear in multiple lists rather than relocating it. It does not explicitly name the alternative move_task_to_list, but the sibling context makes the distinction apparent, so the guidance is clear without explicit exclusions.

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

create_bulk_tasksCreate tasks in bulkB

Preview or create multiple tasks with bounded concurrency and per-item results.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
confirmNo
dry_runNo
confirmation_tokenNo

TDQS

B3.2/5.0
Behavior3/5

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

The description discloses preview capability (dry run) and per-item results, adding context beyond the annotations. However, it does not mention the confirmation_token flow or that creation may be gated by confirmation, which is a significant behavioral trait for a non-idempotent 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.

Conciseness4/5

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

The description is a single, well-structured sentence that packs in key capabilities (bulk, preview, concurrency, per-item results) without wasted words. Slightly ahead of average but not perfect due to missing details.

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

Completeness2/5

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

The tool has complex nested parameters, no output schema, and important flow details (confirmation, dry run) that are not explained. The description is too minimal for an agent to fully understand the tool's behavior, especially without output schema or parameter documentation.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate, but it only hints at dry_run via 'Preview' and items via 'multiple tasks.' It does not explain confirm, confirmation_token, or the structure of items, leaving parameter semantics largely unexplained.

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

Purpose5/5

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

The description clearly states the action ('create') and the resource ('multiple tasks'), and adds differentiating details like 'Preview' (dry run) and 'bounded concurrency with per-item results.' This distinguishes it from sibling tools like create_task and update_bulk_tasks.

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

Usage Guidelines2/5

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

The description implies use for bulk creation but provides no explicit guidance on when to use this tool versus create_task or update_bulk_tasks. It lacks any when-not-to-use or alternative tool suggestions.

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

create_folderCreate FolderB

Create a Folder in a ClickUp Space.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
space_idYes

TDQS

B3.2/5.0
Behavior2/5

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

The description adds no behavioral context beyond what annotations already provide. It simply restates the action ('create') and does not mention permissions, idempotency, error behavior, or side effects. For a write operation without further disclosure, this falls short.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant words. It is concise and immediately understandable.

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

Completeness2/5

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

The tool is a simple create operation, but the description lacks essential context such as return value, permission requirements, or failure scenarios. Since there is no output schema, the description should disclose what the tool returns or whether any side effects occur, but it does not.

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

Parameters3/5

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

With zero schema coverage, the description must compensate. It indirectly clarifies that 'space_id' refers to a ClickUp Space and 'name' is the folder name, but it does not explicitly define either parameter or provide format details. This is minimal compensation, so a middle score is appropriate.

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

Purpose5/5

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

The description clearly states the action (create), the resource (folder), and the context (a ClickUp Space). It distinguishes from sibling tools like create_list_in_space and get_folder by specifying the resource is a folder and the location is a space.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives such as create_list_in_space or create_list_in_folder. There are no prerequisites, exclusions, or context cues beyond the basic action.

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

create_list_in_folderCreate List in FolderC

Create a List inside a ClickUp Folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
statusNo
contentNo
assigneeNo
due_dateNo
priorityNo
folder_idYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already disclose that the operation is readOnlyHint=false and destructiveHint=false, so the description is not required to repeat that. However, it adds no new behavioral context such as side effects, duplicate handling despite idempotentHint=false, or permission requirements. The description is purely a restatement of the title with zero additional transparency.

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

Conciseness3/5

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

The description is a single, short sentence, which is certainly concise. However, it merely echoes the tool name and provides no additional information. While not overly verbose, it under-specifies for a tool with 7 parameters, so it is not an efficient use of the available description space.

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

Completeness1/5

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

This is a mutation tool with 7 parameters, no output schema, and no parameter descriptions. The one-sentence description is grossly inadequate for the agent to understand required inputs, optional behaviors, or return values. It fails to provide essential context like what happens after creation or how to set the various fields.

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

Parameters1/5

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

Schema description coverage is 0%, and the description mentions no parameter names or meanings. Out of 7 parameters (folder_id, name, status, content, assignee, due_date, priority), the agent gets no help from the description. Even the required folder_id and name are not explained, leaving the agent to guess.

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

Purpose5/5

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

The description 'Create a List inside a ClickUp Folder' uses a specific verb ('Create') and a specific resource ('List inside a ClickUp Folder'). It clearly distinguishes the tool from siblings like create_list_in_space and create_task, making the purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as create_list_in_space or create_task. The description merely states the action, leaving the agent to infer usage from the tool name. There are no exclusions or situational context.

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

create_list_in_spaceCreate List in SpaceA

Create a folderless List in a ClickUp Space.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
statusNo
contentNo
assigneeNo
due_dateNo
priorityNo
space_idYes

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate this is a write operation (not read-only, not destructive). The description adds useful context by specifying the list is folderless, which clarifies the creation scope. However, it does not disclose side effects, required permissions, or return values, leaving some behavioral gaps.

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

Conciseness5/5

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

The description is a single sentence with no wasted words. It front-loads the main action and context, making it immediately scannable. For its length, every word earns its place.

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

Completeness2/5

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

Given the tool has 7 parameters (2 required) and no output schema, the description is too sparse to be fully contextual. It lacks any indication of what the tool returns, how to handle errors, or what the optional parameters do. The annotations provide some safety context, but the description does not sufficiently cover the operational details an agent needs.

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

Parameters2/5

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

Schema description coverage is 0%, and the description names no parameters. It only hints at the space context through the phrase 'in a ClickUp Space', but does not explain the required 'name' or the optional fields (status, content, assignee, due_date, priority). The description fails to compensate for the 0% schema coverage.

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

Purpose5/5

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

The description clearly states the action (Create), the resource (List), and the scope (folderless in a ClickUp Space), which immediately distinguishes it from the sibling tool create_list_in_folder. The specific term 'folderless' leaves no ambiguity about where the list is created.

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

Usage Guidelines4/5

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

The description clearly implies the use case: creating a list directly in a Space rather than in a folder. While it does not explicitly name the alternative 'create_list_in_folder', the contrast is inherent in the word 'folderless'. This provides clear context without exclusions.

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

create_taskCreate taskC

Create a task in a ClickUp List.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
tagsNo
parentNo
statusNo
list_idYes
due_dateNo
priorityNo
assigneesNo
notify_allNo
start_dateNo
descriptionNo
due_date_timeNo
custom_item_idNo
start_date_timeNo
time_estimate_msNo
markdown_descriptionNo
check_required_custom_fieldsNo

TDQS

C2.4/5.0
Behavior2/5

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

The description adds no behavioral detail beyond what the name and annotations already convey. While annotations indicate it is not read-only, the description does not disclose potential side effects, default values, required permissions, or response behavior. For a create operation, more transparency is expected.

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

Conciseness3/5

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

The description is a single, front-loaded sentence, which is structurally efficient. However, it is under-specified to the point of being unhelpful, so the conciseness does not earn its place by providing sufficient information. It is concise but not substantive.

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

Completeness1/5

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

With 17 parameters, no output schema, and only basic annotations, the description is severely inadequate. It does not explain any parameter semantics, defaults, response format, or the scope of creation. A tool of this complexity requires a much richer description to be usable by an agent.

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

Parameters1/5

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

Schema description coverage is 0% and the description mentions none of the 17 parameters. It fails to provide any meaning for required fields like list_id and name, let alone optional fields like tags, status, priority, or due_date. The description offers no compensatory value for the high parameter count.

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

Purpose4/5

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

The description clearly states the tool's purpose: creating a task within a ClickUp List. The verb 'create' and resource 'task in a ClickUp List' are specific and distinguish it from siblings like update_task, delete_task, and create_bulk_tasks, though it does not explicitly differentiate from those alternatives.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It does not mention that it is for single task creation only, nor does it reference create_bulk_tasks for multiple tasks. The description simply states the action without contextual use cases.

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

create_task_commentCreate Task CommentA

Add a plain-text or structured comment, including explicit user-ID mentions, to a Task.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds that comments can be structured with explicit user-ID mentions, which is a behavioral capability beyond the basic safety flags. However, it does not disclose side effects like notifications, return values, or permissions, so it only partially enhances transparency.

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

Conciseness5/5

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

The description is a single, concise, front-loaded sentence that conveys the core purpose and key capability. Every word adds value, and it avoids tautology or unnecessary elaboration.

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

Completeness2/5

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

The tool has complex input schemas with two distinct modes and several optional parameters, but the description is minimal. It does not mention return values, what happens on success/failure, or when to choose plain text versus structured mode beyond the bare capability. With no output schema and sparse annotations, the agent is left without critical operational context.

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

Parameters3/5

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

The schema has two alternatives (plain text or structured comment array) with optional flags. The description helps map 'plain-text or structured' to these alternatives and 'user-ID mentions' to the tag object, adding semantic value. But it does not explain optional parameters like notify_all, workspace_id, or custom_task_ids, which remain undocumented in both schema and description.

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

Purpose5/5

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

The description uses a specific verb ('Add'), names the resource ('comment'), and the target ('Task'), clearly distinguishing it from sibling tools like get_task_comments. It also specifies the two supported modes ('plain-text or structured') and explicit user-ID mentions, making the tool's purpose unmistakable.

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

Usage Guidelines4/5

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

The description implies clear usage: use this tool to add comments to a task. It doesn't explicitly name alternatives or exclusions, but the purpose is so direct that an agent can infer when to invoke it. No when-not guidance is provided, so it falls short of a 5.

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

delete_taskDelete taskA
Destructive

Preview or explicitly confirm permanent deletion of a ClickUp task.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
task_idYes
workspace_idNo
custom_task_idsNo
confirmation_tokenNo

TDQS

A4/5.0
Behavior4/5

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

Beyond the annotations (destructiveHint=true), the description adds 'permanent deletion' and 'explicitly confirm', which reveals that the operation is irreversible and requires confirmation. This provides useful behavioral context about the safeguard mechanism, exceeding what annotations alone suggest.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that captures the essential action and the preview/confirm nuance. Every word contributes value, and it is appropriately sized for the tool's purpose.

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

Completeness3/5

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

The description is adequate for a destructive operation with strong annotations, but it lacks detail on important parameters like confirmation_token and workspace_id, and the absence of an output schema means the return behavior is not described. The preview/confirm workflow is included, but more context on the confirmation mechanism would improve completeness.

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

Parameters2/5

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

The input schema has zero description coverage, and the tool description does not compensate. It only vaguely hints at the 'preview' and 'confirm' parameters (dry_run and confirm) but does not explain task_id, workspace_id, custom_task_ids, or confirmation_token. An agent would struggle to understand the full parameter semantics from the description alone.

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

Purpose5/5

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

The description clearly states the tool's purpose: permanently deleting a ClickUp task, with a preview option. It uses a specific verb ('delete' implied by 'permanent deletion') and specifies the resource (ClickUp task). It distinguishes from sibling tools as the only task deletion tool.

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

Usage Guidelines4/5

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

The description conveys a clear usage workflow: either preview the deletion or explicitly confirm it. This implies that the tool can be used in a dry-run mode before committing to deletion, offering guidance on the intended two-step process. It doesn't explicitly mention alternatives, but the context is clear enough for an agent.

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

find_member_by_nameFind Member by NameB
Read-onlyIdempotent

Find ClickUp Workspace members by ID, name, or email without guessing ambiguity.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
workspace_idNo

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare read-only and idempotent behavior, lowering the bar for additional disclosure. However, the description adds only the vague promise of 'without guessing ambiguity' and does not explain return format, matching rules, or any constraints like workspace_id requirements.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant words. It efficiently conveys the core purpose and scope, making it easy to parse.

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

Completeness2/5

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

For a tool with no output schema and no parameter descriptions, the description is too sparse. It fails to clarify when to prefer this over sibling tools like search_workspace or resolve_assignees and does not indicate what the tool returns, leaving the agent without sufficient context for correct invocation.

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

Parameters2/5

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

Schema descriptions are absent (0% coverage), so the description must compensate. It mentions searching by ID/name/email, which maps to the 'query' parameter, but does not clarify expected input format or the optional 'workspace_id' parameter. This is insufficient compensation for the missing schema documentation.

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

Purpose5/5

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

The description clearly identifies the action (Find), the resource (ClickUp Workspace members), and the scope (by ID, name, or email). The phrase 'without guessing ambiguity' distinguishes it from broader search tools, making the purpose explicit and specific.

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

Usage Guidelines2/5

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

The description does not explicitly state when to use this tool versus alternatives such as search_workspace or resolve_assignees. It implies a need for unambiguous member lookup but offers no direct comparison or exclusionary guidance.

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

get_folderGet FolderB
Read-onlyIdempotent

Get a ClickUp Folder and its Lists.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds value by specifying that the response includes the folder and its lists, but does not elaborate on any other behavioral traits like pagination or data volume.

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

Conciseness5/5

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

The description is a single, compact sentence that is front-loaded with the verb and resource. Every word earns its place, and there is no unnecessary verbosity.

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

Completeness3/5

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

Given the tool's simplicity (one parameter) and comprehensive annotations, the description is somewhat complete. It states the primary output (Folder and Lists) but omits details about response structure or how to obtain the folder_id. For a read-by-id tool, this is acceptable but not fully complete.

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

Parameters2/5

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

The only parameter folder_id has zero schema description coverage, and the tool description does not provide additional context about the parameter, such as how to obtain it or expected format. Since the description does not compensate for the schema gap, the parameter semantics are weak.

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

Purpose4/5

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

The description 'Get a ClickUp Folder and its Lists' clearly identifies the verb (Get) and resource (Folder and its Lists), and implicitly distinguishes from sibling get_list by including Lists. However, it doesn't explicitly differentiate from get_workspace_hierarchy or search_workspace, so it falls 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.

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like get_list or get_workspace_hierarchy. There is no mention of prerequisites, typical use cases, or when to avoid it.

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

get_listGet ListA
Read-onlyIdempotent

Get the details and settings of one ClickUp List.

ParametersJSON Schema
NameRequiredDescriptionDefault
list_idYes

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that it retrieves 'details and settings,' which is useful but doesn't disclose any caveats, return format, or auth requirements. It is consistent with annotations.

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

Conciseness5/5

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

The description is a single, focused sentence with no redundant words. It conveys the core purpose efficiently.

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

Completeness3/5

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

For a one-parameter read-only tool with strong annotations, the description is adequate but leaves gaps. It doesn't describe the return structure or what 'settings' includes, and there's no output schema to cover that. However, the tool's simplicity means the agent can likely infer the behavior.

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

Parameters2/5

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

The input schema has 0% description coverage, and the description does not explicitly explain the list_id parameter. However, the parameter name 'list_id' is self-descriptive, and the description implies it identifies the list. This is minimal compensation; it adds no additional meaning beyond the schema.

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

Purpose5/5

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

The description clearly states the verb ('Get') and the resource ('details and settings of one ClickUp List'), which is specific and distinguishes from siblings like get_task or update_list. It is not a tautology and includes the scope of 'one' list.

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

Usage Guidelines3/5

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

No usage guidance is provided. There are no mentions of when to use this tool versus alternatives like search_workspace or get_folder, nor any exclusions. The intended use is only implied by the tool name and description.

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

get_taskGet taskA
Read-onlyIdempotent

Get one ClickUp task by task ID or Custom Task ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
workspace_idNo
custom_task_idsNo
include_subtasksNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint: false, covering safety. The description adds minimal behavioral context by clarifying it returns a single task ('Get one') and supports both task ID and Custom Task ID. It does not disclose other behaviors like authorization requirements, rate limits, or error handling, but the annotation coverage lowers the burden.

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

Conciseness5/5

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

The description is a single concise sentence with no filler. It front-loads the core purpose and does not waste words, making it easy for an agent to parse quickly.

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

Completeness3/5

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

For a simple retrieval tool with good annotations and no output schema, the description covers the core use case adequately. However, it omits context around optional parameters like workspace_id and include_subtasks, and does not mention any response shape, leaving some gaps for an agent trying to invoke the tool for edge cases.

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

Parameters3/5

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

With 0% schema description coverage, the description must compensate. It clarifies that task_id can be either a standard task ID or a Custom Task ID, giving meaning to the primary parameter and the custom_task_ids flag. However, it does not explain workspace_id or include_subtasks, leaving these parameters semantically unexplained.

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

Purpose5/5

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

The description uses a specific verb 'Get' with a clear resource 'ClickUp task' and specifies the identification method 'by task ID or Custom Task ID.' This clearly distinguishes it from sibling search tools and mutation tools, making the purpose unambiguous.

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

Usage Guidelines3/5

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

The description implies usage when a task ID is already known ('by task ID or Custom Task ID'), which suggests it is for direct retrieval rather than search. However, it does not explicitly state when to use this tool versus alternatives like search_tasks_by_task_type or search_tasks_by_tag, nor does it provide exclusion criteria.

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

get_task_commentsGet Task CommentsA
Read-onlyIdempotent

Get one reverse-chronological page of comments from a ClickUp Task.

ParametersJSON Schema
NameRequiredDescriptionDefault
startNo
task_idYes
start_idNo
workspace_idNo
custom_task_idsNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds the behavioral detail that results are one page in reverse-chronological order, which is useful. However, it does not disclose how to navigate pages or what the response structure looks like.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the core purpose without extraneous words. Every word earns its place, making it appropriately concise.

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

Completeness3/5

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

The description gives the essential purpose and useful ordering/pagination information, but lacks details on pagination parameters (start vs start_id), response format, and possible filters. Given the absence of an output schema and zero parameter descriptions, the description leaves meaningful gaps for effective invocation.

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

Parameters2/5

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

Schema has zero descriptions for its parameters, and the description only implies task_id via 'from a ClickUp Task'. It does not explain start, start_id, workspace_id, or custom_task_ids, leaving the agent to guess their semantics. This is insufficient compensation for 0% schema coverage.

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

Purpose5/5

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

The description precisely states the action ('get'), resource ('comments'), source ('from a ClickUp Task'), and scope ('one reverse-chronological page'). It differentiates from siblings like create_task_comment and get_threaded_replies by focusing on listing comments with specific ordering and pagination.

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

Usage Guidelines3/5

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

The description implies the tool is used to fetch comments on a task, but it doesn't explicitly state when to prefer this over alternatives like get_threaded_replies or when not to use it. No guidance is provided on pagination or filtering scenarios.

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

get_threaded_repliesGet Threaded RepliesA
Read-onlyIdempotent

Get all replies beneath a ClickUp parent comment.

ParametersJSON Schema
NameRequiredDescriptionDefault
comment_idYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the behavioral context that it retrieves 'all replies' (indicating a list operation) and specifically for 'parent comments' (implying hierarchy). It doesn't contradict annotations and adds value by clarifying the scope of the returned data.

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

Conciseness5/5

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

The description is a single, concise sentence that conveys the tool's purpose without unnecessary detail. It's front-loaded with the action verb and resource, and every word earns its place.

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

Completeness4/5

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

For a simple read-only tool with one parameter and strong annotations, the description is largely complete. It could benefit from mentioning the return format (e.g., list of reply objects) or any pagination behavior, but the output schema is absent and annotations cover the read-only and idempotent aspects. The description sufficiently explains the core behavior.

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

Parameters3/5

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

Schema description coverage is 0%, and the only parameter, comment_id, is minimally described by its name and constraints (string, max 256). The description adds value by indicating that comment_id should be a parent comment's ID, but it doesn't elaborate on formatting or how to obtain the ID. With only one parameter, baseline is 4, but the lack of explicit parameter documentation in the description brings it to 3.

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

Purpose5/5

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

The description 'Get all replies beneath a ClickUp parent comment' uses a specific verb and resource, and clarifies that it operates on a parent comment. It distinguishes from sibling tools by focusing on threaded replies, which is unique among the listed tools.

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

Usage Guidelines4/5

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

The description clearly indicates the tool is for fetching replies under a parent comment, which implies a read-only usage scenario. It doesn't explicitly state when not to use it or name alternatives, but the context of sibling tools (e.g., get_task_comments) makes the use case clear. The 'parent comment' qualifier provides implicit guidance that this is for comment threads, not top-level comments.

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

get_workspace_hierarchyGet Workspace HierarchyB
Read-onlyIdempotent

Get accessible Spaces, Folders, and Lists in a ClickUp Workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
refreshNo
workspace_idNo
include_archivedNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare it as read-only, idempotent, and non-destructive. The description adds the 'accessible' qualifier and the hierarchy types, but it does not disclose behaviors like refresh semantics, include_archived default behavior, or pagination. This is minimal value beyond annotations.

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

Conciseness5/5

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

The description is a single, clear sentence with no filler. It is front-loaded and every word contributes meaning, making it highly efficient for its purpose.

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

Completeness2/5

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

Given the tool has three parameters, no output schema, and no parameter descriptions, this one-sentence description is insufficient. It omits parameter semantics, return value expectations, and usage guidance, leaving significant gaps for the agent.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention any of the three parameters (refresh, workspace_id, include_archived). An agent cannot infer what these parameters do from the description or schema, so the description fails to compensate.

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

Purpose5/5

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

The description uses a specific verb ('Get') and clearly defines the resource ('accessible Spaces, Folders, and Lists in a ClickUp Workspace'). It distinguishes from sibling tools like get_folder or get_list by referring to the full hierarchy scope.

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

Usage Guidelines3/5

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

The description implies this is for retrieving the full workspace hierarchy, but it does not explicitly state when to use it versus alternatives like search_workspace or get_folder. No exclusions or alternative recommendations are provided.

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

get_workspace_membersGet Workspace MembersB
Read-onlyIdempotent

List members and guests available in a ClickUp Workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the description adds the fact that the tool returns both members and guests, but it does not disclose additional behavioral traits such as default workspace behavior, permissions, or return format. With annotations covering safety, this is adequate but not rich.

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

Conciseness5/5

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

The description is a single clear sentence that immediately states the action and resource, with no wasted words.

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

Completeness2/5

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

For a tool with one parameter and no output schema, the description fails to clarify the workspace_id parameter and does not describe the return structure beyond 'List members and guests.' This leaves the agent guessing about required inputs and expected output.

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

Parameters1/5

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

The only parameter, workspace_id, is not described in the schema or the description, and it is marked optional with no explanation of its role or what happens if omitted. Since schema coverage is 0%, the description's lack of any parameter semantics is a significant gap.

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

Purpose5/5

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

The description uses the specific verb 'List' and identifies the resource as 'members and guests available in a ClickUp Workspace,' clearly distinguishing it from sibling tools like search_workspace or find_member_by_name.

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

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention exclusions. It merely implies usage for listing workspace members, so it relies on the reader to infer context.

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

move_task_to_listMove Task to ListC
Destructive

Move a ClickUp Task to a new home List using the v3 API.

ParametersJSON Schema
NameRequiredDescriptionDefault
list_idYes
task_idYes
workspace_idNo
status_mappingsNo
move_custom_fieldsNo
custom_fields_to_moveNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already indicate destructive behavior (destructiveHint=true), but the description does not elaborate on the consequences of moving a task (e.g., removal from the old list, potential status changes). It adds minimal context beyond the annotations, and no details about status mappings or custom field handling are provided.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that clearly states the primary action. It avoids fluff, though the phrase 'using the v3 API' is mildly redundant filler. Overall, it is efficiently structured but under-informative.

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

Completeness1/5

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

The tool has six parameters, two required, and no output schema, but the description provides only a one-line summary. It fails to explain the effect on the task's current list, the meaning of status mappings, or the purpose of custom field options. The description is far too minimal for a tool with this complexity.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate by explaining parameter meaning. It does not mention any of the six parameters or clarify ambiguous ones like 'status_mappings' or 'move_custom_fields.' The description adds no semantic value beyond what the raw schema already exposes.

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

Purpose5/5

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

The description clearly states the tool's action: 'Move a ClickUp Task to a new home List.' It uses a specific verb (Move) and names the resource (Task) and destination (List). It implicitly distinguishes from sibling 'add_task_to_list' by conveying relocation rather than mere addition.

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

Usage Guidelines2/5

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

The description offers no explicit guidance on when to use this tool versus alternatives. It does not mention when moving is preferable to adding, nor any prerequisites or caveats. The phrase 'new home List' hints at the intended scenario, but that is implied rather than stated.

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

remove_dependencyRemove DependencyB
Destructive

Remove an explicit waiting-on or blocking dependency between two ClickUp Tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
directionYes
workspace_idNo
custom_task_idsNo
related_task_idYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructive and read-only false. The description adds that only explicit dependencies are removed, which is useful context, but does not describe side effects, reversibility, or behavior when the dependency doesn't exist.

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

Conciseness5/5

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

One sentence, efficient, front-loaded with verb and object. No unnecessary words.

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

Completeness2/5

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

Despite having 5 parameters and no output schema, the description provides only a single sentence. It omits behavior for missing dependencies, workspace scope, and return values, leaving agents without enough context for a destructive operation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It clarifies direction ('waiting-on or blocking') and implies two task IDs, but leaves workspace_id and custom_task_ids unexplained and doesn't clarify which task_id plays which role in the dependency direction.

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

Purpose5/5

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

Clearly states the action (remove), the resource (explicit waiting-on or blocking dependency between two ClickUp Tasks), and distinguishes from siblings like add_dependency. The qualifier 'explicit' adds precision about scope.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., add_dependency, delete_task). It doesn't mention prerequisites, scenarios, or when not to use it.

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

remove_tag_from_taskRemove Tag from TaskA
Destructive

Remove a ClickUp Tag from a Task without deleting the Tag itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
tag_nameYes
workspace_idNo
custom_task_idsNo

TDQS

A3.8/5.0
Behavior4/5

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

The description adds useful context beyond annotations by specifying that the tag itself is preserved, which is not captured by destructiveHint=true. This is a non-obvious behavioral detail that helps the agent understand side effects. It does not contradict the annotations.

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

Conciseness5/5

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

The description is a single sentence with no unnecessary words. It front-loads the action and resource, then adds a valuable caveat about preserving the tag. Every word earns its place.

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

Completeness3/5

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

For a simple mutation with annotations present, the description is minimally viable but lacks coverage of optional parameters and any mention of return values or error behavior. It could be more complete for full autonomous use, especially without an output schema.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It implicitly references task_id and tag_name ('Remove a Tag from a Task') but provides no explanation for workspace_id or custom_task_ids. The description does not fully cover the parameter semantics needed for correct invocation.

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

Purpose5/5

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

The description clearly states the action ('Remove'), the resource ('ClickUp Tag from a Task'), and explicitly clarifies that the tag itself is not deleted. This distinguishes it from sibling tools like add_tag_to_task and prevents confusion with tag deletion.

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

Usage Guidelines3/5

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

The description implies when to use the tool (when removing a tag from a task) but provides no explicit guidance on alternatives or exclusions. It does not mention add_tag_to_task as the reverse operation or any conditions for use.

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

resolve_assigneesResolve AssigneesA
Read-onlyIdempotent

Resolve several proposed assignees to member IDs and expose ambiguous matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
assigneesYes
workspace_idNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar is lower. The description adds the behavioral detail that ambiguous matches are exposed, which is a meaningful disclosure about how the tool handles multiple possible matches.

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

Conciseness5/5

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

The description is a single sentence that is front-loaded with the action verb and avoids redundant phrasing. It conveys the core purpose without waste.

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

Completeness3/5

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

For a tool with minimal schema and no output schema, the description leaves key questions unanswered: how ambiguous matches are represented in the response, what constitutes a valid assignee, and the role of workspace_id. Given the tool's 2-parameter complexity and good annotations, more detail would improve completeness, but the core purpose is covered.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it doesn't explain the format or semantics of the 'assignees' parameter beyond 'proposed assignees', nor does it mention the optional 'workspace_id' parameter at all. The array items are not described whether they are names, emails, or something else.

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

Purpose5/5

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

The description uses the specific verb 'resolve' with resource 'proposed assignees' to member IDs, which clearly defines the operation. It also mentions exposing ambiguous matches, distinguishing it from simple member lookup tools like find_member_by_name.

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

Usage Guidelines3/5

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

The description implies usage when there are multiple proposed assignees needing conversion to member IDs, but it doesn't explicitly state when to prefer this over alternatives such as find_member_by_name or get_workspace_members. No exclusion criteria or alternative tools are mentioned.

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

search_tasks_by_tagSearch Tasks by TagA
Read-onlyIdempotent

Retrieve accessible ClickUp Tasks with an exact tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
limitNo
cursorNo
max_pagesNo
workspace_idNo
include_closedNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds that only 'accessible' tasks are returned and matching is 'exact', which provides useful context. However, it doesn't disclose pagination behavior, return format, or workspace scoping, so it only partially compensates.

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

Conciseness5/5

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

The description is a single sentence that directly states the tool's purpose without redundant wording, making it appropriately concise and front-loaded.

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

Completeness2/5

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

Given the tool's 6 parameters, lack of output schema, and zero schema descriptions, the one-line description is insufficient. It doesn't explain how pagination works, what include_closed does, or what the response structure looks like, leaving substantial ambiguity for the agent.

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

Parameters2/5

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

Schema description coverage is 0%, but the description only clarifies the 'tag' parameter (exact match). Other parameters such as limit, cursor, max_pages, workspace_id, and include_closed are left unexplained, requiring the agent to infer from names and constraints.

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

Purpose5/5

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

The description uses the specific verb 'Retrieve' and identifies the resource as 'ClickUp Tasks' with the qualifier 'with an exact tag', clearly distinguishing it from siblings like search_tasks_by_task_type or search_workspace.

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

Usage Guidelines4/5

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

The description implies the tool is for finding tasks by tag, but does not explicitly state when to use it over alternatives like search_tasks_by_task_type or how it relates to other search tools. The context is clear, but no exclusions or alternatives are mentioned.

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

search_tasks_by_task_typeSearch Tasks by Task TypeA
Read-onlyIdempotent

Retrieve accessible ClickUp Tasks matching one custom task type.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNo
max_pagesNo
task_typeYes
workspace_idNo
include_closedNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds the 'accessible' scope limitation, which is useful, but it does not disclose pagination behavior, rate limits, or consequences of including closed tasks. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It immediately communicates the core function and filter, which is exemplary for conciseness.

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

Completeness2/5

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

With no output schema and six parameters, the description is too sparse. It fails to mention pagination, filtering by workspace, or the include_closed flag, leaving significant operational context missing for a search tool.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It clarifies 'task_type' by calling it 'custom', but the other five parameters (limit, cursor, max_pages, workspace_id, include_closed) are left entirely unexplained in both schema and description.

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

Purpose5/5

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

The description clearly states the verb 'Retrieve', the resource 'ClickUp Tasks', and the filter 'matching one custom task type'. It distinctly differentiates from sibling tools like search_tasks_by_tag by specifying the type-based filtering.

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

Usage Guidelines3/5

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

The description implies usage for retrieving tasks by type but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention exclusions. The phrase 'accessible' hints at scope but does not offer decision-making context.

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

search_workspaceSearch WorkspaceA
Read-onlyIdempotent

Sweep accessible Tasks, Spaces, Folders, and Lists for normalized text matches.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
cursorNo
max_pagesNo
entity_typesNo
workspace_idNo
include_closedNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context: it searches only 'accessible' items and applies 'normalized text matches'. However, it does not disclose pagination behavior, what counts as a match, or how limits/cursors work. Given the strong annotations, a score of 3 is appropriate.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It conveys the action, scope, and nature of the search efficiently.

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

Completeness2/5

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

Given 7 parameters, no output schema, and no parameter descriptions, one sentence is not enough. The description fails to mention return values, pagination mechanics, the meaning of 'normalized', or how closed items are treated. Annotations cover safety but not the behavioral details needed for effective use.

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

Parameters2/5

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

Schema description coverage is 0%, and there are 7 parameters. The description does not explain the meaning or format of most parameters (limit, cursor, max_pages, workspace_id, include_closed). It does imply that 'query' is a text match and that entity_types cover Tasks/Spaces/Folders/Lists, but this is insufficient to compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description uses the specific verb 'Sweep' and clearly identifies the resources searched (Tasks, Spaces, Folders, Lists) and the nature of the search ('normalized text matches'). This strongly differentiates it from sibling tools like search_tasks_by_task_type and search_tasks_by_tag, which are narrower and type-specific.

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

Usage Guidelines3/5

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

The description implies when to use it: when you need to search across multiple workspace entity types for normalized text. However, it does not explicitly state when not to use it or mention alternative tools such as search_tasks_by_tag. The usage context is reasonably clear but lacks explicit exclusions or comparisons.

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

set_task_custom_fieldsSet task custom fieldsB
Destructive

Discover, validate, set, or remove custom field values on a task.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYes
confirmNo
dry_runNo
task_idYes
workspace_idNo
custom_task_idsNo
confirmation_tokenNo

TDQS

B3.1/5.0
Behavior3/5

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

The description mentions 'set, or remove' which aligns with the destructiveHint and readOnlyHint annotations, adding a small amount of context. However, it does not explain the dry_run/confirm workflow or any side effects of removal, missing an opportunity to disclose behavior beyond annotations.

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

Conciseness4/5

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

The description is a single sentence and easy to scan. It packs several verbs which could be clearer, but it is appropriately concise without unnecessary filler.

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

Completeness2/5

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

With 7 parameters, including a confirmation workflow and a destructive hint, no output schema, and no parameter descriptions, this description is too sparse to guide correct invocation. It omits critical details about the dry-run/confirm flow and how custom field removal works.

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

Parameters2/5

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

Schema description coverage is 0%, so the description needed to compensate by explaining parameters like dry_run, confirm, unset, and fields. It provides only a high-level action list ('Discover, validate, set, or remove') and does not map any parameters to their behavior, leaving the agent to infer from names alone.

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

Purpose4/5

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

The description identifies the tool as working with custom field values on a task, which distinguishes it from general task update tools. However, the verbs 'discover' and 'validate' are ambiguous and not clearly reflected in the input schema, making the purpose slightly less crisp.

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

Usage Guidelines3/5

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

The tool name and title imply it is for custom field operations, but the description itself does not explicitly state when to use it instead of alternatives like update_task. There is no mention of exclusions or prerequisite conditions.

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

update_bulk_tasksUpdate tasks in bulkA
Destructive

Preview or update multiple tasks with bounded concurrency and per-item results.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
confirmNo
dry_runNo
confirmation_tokenNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructive/read-only traits. The description adds useful behavioral context: it supports preview mode (dry-run), bounded concurrency, and per-item results. However, it does not describe confirmation flow or failure behavior.

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

Conciseness5/5

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

A single concise sentence that front-loads the action and packs in three behavioral modifiers (preview, bounded concurrency, per-item results) with no wasted words.

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

Completeness2/5

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

This is a complex bulk tool with no output schema, yet the description omits important context: confirmation flow, default parameter values, return format, and error handling. The one-liner is too sparse for effective use.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only hints at 'preview' for the dry_run parameter. The confirm, confirmation_token, and items parameters are not explained beyond their schema names.

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

Purpose5/5

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

The description clearly identifies the action ('preview or update'), the resource ('multiple tasks'), and differentiates from siblings like update_task (single task) and create_bulk_tasks (creation). It is specific and not a tautology.

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

Usage Guidelines3/5

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

The phrase 'multiple tasks' implies batch usage, and 'preview' suggests a dry-run capability, but it does not explicitly state when to use this tool over alternatives or mention exclusions. No sibling tools are named as alternatives.

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

update_folderUpdate FolderB
Destructive

Rename a ClickUp Folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
folder_idYes

TDQS

B3.1/5.0
Behavior2/5

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

The description adds no behavioral context beyond the annotations. It does not disclose potential side effects, whether the rename is irreversible, or any impact on related resources, despite the destructiveHint being true.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that is efficient and easily parsed. However, it is slightly under-specified, lacking additional context that could make it more informative without becoming verbose.

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

Completeness3/5

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

Given the simplicity of the tool (two parameters, no output schema) and existing annotations, the description provides the core action. However, it lacks details about the operation's effects and return behavior, making it minimally viable but not fully complete.

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

Parameters2/5

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

With 0% schema coverage, the description must compensate by explaining parameter meanings, but it only implies the 'name' parameter through 'Rename' and omits explicit clarification of 'folder_id'. The schema property names are self-explanatory, but the description adds little value.

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

Purpose5/5

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

The description 'Rename a ClickUp Folder' uses a specific verb and resource, clearly distinguishing it from sibling tools like create_folder and get_folder. It accurately reflects the schema, which only includes folder_id and name.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor are any exclusions or prerequisites mentioned. The description offers no contextual signals for tool selection.

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

update_listUpdate ListC
Destructive

Update the supplied settings of a ClickUp List.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
statusNo
contentNo
list_idYes
assigneeNo
due_dateNo
priorityNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=true, but the description adds no behavioral context. It does not explain what 'destructive' means here (e.g., whether unspecified fields are cleared, whether existing tasks are affected, or any permission requirements). With no extra disclosure, the description relies entirely on annotations and fails to enrich the agent's mental model.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no filler. It is appropriately short for a simple update operation, though the brevity sacrifices some behavioral detail. It earns its place but does not go beyond the bare minimum.

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

Completeness2/5

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

For a 7-parameter mutation tool with no output schema and no schema descriptions, this description is severely lacking. It does not explain which settings can be updated, whether fields are optional, the meaning of null values, or what the response contains. The agent is left to guess at critical details for safe invocation.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not enumerate or explain any parameters beyond 'supplied settings.' Although parameter names like status, content, and assignee are somewhat self-explanatory, required list_id, the accepted formats, and the effect of null values are left undocumented. The description adds minimal value over the schema.

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

Purpose4/5

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

The description states a clear verb ('Update') and resource ('a ClickUp List'), and specifies that it updates 'supplied settings,' which conveys partial updates. However, it does not differentiate from sibling update tools like update_task or update_folder beyond the resource type, so it stops short of a full 5.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool vs. alternatives. It does not mention that this tool is for modifying an existing list, nor does it contrast with create_list_in_space or update_folder. The intended use is only implicitly clear from the name.

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

update_taskUpdate taskB
Destructive

Update only the provided fields of a ClickUp task.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
statusNo
task_idYes
archivedNo
due_dateNo
priorityNo
assigneesNo
start_dateNo
descriptionNo
workspace_idNo
due_date_timeNo
custom_task_idsNo
start_date_timeNo
time_estimate_msNo
markdown_descriptionNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already provide readOnly=false and destructiveHint=true. The description adds the partial-update behavior ('only the provided fields'), which clarifies that unspecified fields are preserved. However, it does not disclose side effects such as null handling, status validation, or output behavior. No contradiction with annotations.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant content. It is concise and to the point, though it could be more informative without losing brevity.

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

Completeness2/5

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

Given the complexity of the schema (15 parameters, nested objects) and the absence of an output schema, the description is insufficient. It only states the core action and partial-update behavior, but does not explain how to use the parameters, when to provide workspace_id, or what the response looks like. The agent would need additional external knowledge to invoke this tool correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no explanation of any of the 15 parameters, including the nested assignees object, date-time formats, or boolean flags. The description does not compensate at all for the lack of schema descriptions, leaving parameter meanings entirely unclear.

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

Purpose5/5

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

The description clearly states the verb 'Update', the resource 'ClickUp task', and the scope 'only the provided fields', which distinguishes it from create_task, delete_task, and update_bulk_tasks. This is a specific and useful purpose statement.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool vs alternatives. It does not mention update_bulk_tasks for bulk operations, nor does it describe any prerequisites or exclusions. The description only states what it does, not when to choose it.

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

TDQS

B3.3/5.0
Disambiguation5/5

Each tool has a distinct purpose: searches are differentiated by target or filter, task lifecycle operations are separate from list/folder and member operations, and even similar actions (create vs. bulk create, add vs. move) are clearly scoped. No two tools appear to do the same thing.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (e.g., create_task, get_list, add_tag_to_task, resolve_assignees). Search, find, and resolve variations are still consistent in structure, with no mixing of camelCase or other styles.

Tool Count2/5

With 32 tools, this server is well above the typical 3-15 well-scoped range and even beyond the 16-25 'heavy' threshold. While each tool has a distinct purpose, the sheer number is excessive for an MCP integration and may overwhelm agents.

Completeness4/5

The toolset covers task CRUD, bulk operations, comments, tags, links, dependencies, list/folder management, and member resolution. Minor gaps exist, such as no delete_list or delete_folder, and no explicit task listing by list, but search and bulk tools fill most needs.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Blackklegend/custom-clickup-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server