amazing-clickup-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLICKUP_API_URL | No | v2 API base URL. Override only for a proxy or testing. | https://api.clickup.com/api/v2 |
| CLICKUP_TEAM_ID | No | Default Workspace (team) id used when a call omits team_id. | |
| CLICKUP_API_TOKEN | Yes | Personal API token (pk_…) or OAuth2 access token. Sent verbatim in the Authorization header. | |
| CLICKUP_API_URL_V3 | No | v3 API base URL (Docs, Chat, entity attachments, ACL). | https://api.clickup.com/api/v3 |
| CLICKUP_REQUEST_TIMEOUT_SECONDS | No | Per-request HTTP timeout, in seconds. | 30 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| clickup_create_task_attachmentA | Upload a local file to a task as an attachment (v2). Reads the file at When to Use:
When NOT to Use:
Returns: A confirmation with the new attachment's id and URL. The file bytes are never echoed back. Examples:
Error Handling: A ValidationError before the request means the path is missing/empty/too large; a 404 means the task ID is wrong. | |||||||||||||||||||||||||||||||||
| clickup_get_entity_attachmentsA | List the attachments of a task or File-type Custom Field (v3). Calls When to Use:
When NOT to Use:
Returns:
Each attachment's title, id, size, and URL. When more results exist, the
response includes the cursor to pass back as Pagination:
Cursor-based and asymmetric — the request takes Examples:
Error Handling:
A 404 means the entity_id was not found — or the v3 attachments surface is
not available on this Workspace at all (verified live on a Business-plan
workspace: even reads 404). If both tools here 404 on ids that definitely
exist, fall back to | |||||||||||||||||||||||||||||||||
| clickup_create_entity_attachmentA | Upload a local file to a task or File-type Custom Field (v3). Reads the file at When to Use:
When NOT to Use:
Returns: A confirmation with the new attachment's id and URL (never the file bytes). Examples:
Error Handling:
A ValidationError before the request means the path is missing/empty/too
large; a 404 means the entity_id was not found — or the v3 attachments
surface is not available on this Workspace (verified live: some plans 404
on this endpoint entirely; use | |||||||||||||||||||||||||||||||||
| clickup_get_chat_channelsA | List the Chat channels in a Workspace, with descriptor filters. Returns Channels, DMs, and Group DMs the authorized user can see. Narrow the
result with When to Use:
When NOT to Use:
Returns:
A list of channels (name, id, type, visibility). When more results exist the
response includes a Pagination:
Cursor-based and asymmetric. Loop: call once, read Examples:
Error Handling:
401 → bad token; 404 → unknown Workspace id. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_create_chat_channelA | Create a Workspace-level Chat channel by name. If a Channel with the given name already exists, ClickUp returns that existing Channel instead of creating a duplicate. When to Use:
When NOT to Use:
Returns: A confirmation with the channel's name, id, and visibility. Examples:
Error Handling:
400 → bad payload; 401 → bad token. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_create_location_chat_channelA | Create a Chat channel bound to a Space, Folder, or List. The channel's name is derived from the location, so there is no When to Use:
When NOT to Use:
Returns: A confirmation with the channel's name, id, and bound location. Examples:
Error Handling:
400 → bad location; 404 → location not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_create_direct_messageA | Create (or return) a direct-message Chat channel with up to 15 users. One recipient id makes a 1:1 DM; two or more make a Group DM. Omit When to Use:
When NOT to Use:
Returns: A confirmation with the DM channel's id and participant count. Examples:
Error Handling:
400 → more than 15 users / bad id; 401 → bad token. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_chat_channelA | Fetch a single Chat channel's metadata by id. When to Use:
When NOT to Use:
Returns: The channel's name, id, type, visibility, topic, description, and location. Examples:
Error Handling:
404 → channel not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_update_chat_channelA | Update a Chat channel's name, description, topic, visibility, or location. Send only the fields you want to change (at least one is required). Text is
interpreted per When to Use:
When NOT to Use:
Returns: A confirmation listing the fields that were updated. Examples:
Error Handling:
400 → bad payload; 404 → channel not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_delete_chat_channelA | Permanently delete a Chat channel (Channel, DM, or location-bound). When to Use:
When NOT to Use:
Returns: A confirmation that the channel was deleted. Examples:
Error Handling:
404 → channel not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_chat_channel_followersA | List the users following a Chat channel. Followers receive notifications for the channel but are not necessarily members. Results are cursor-paginated. When to Use:
When NOT to Use:
Returns:
A list of follower users (name, id, email). When more results exist the
response includes a Pagination:
Cursor-based. Loop with Examples:
Error Handling:
404 → channel not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_chat_channel_membersA | List the users who are members of a Chat channel. Members can access and post to the channel. Results are cursor-paginated. When to Use:
When NOT to Use:
Returns:
A list of member users (name, id, email). When more results exist the
response includes a Pagination:
Cursor-based. Loop with Examples:
Error Handling:
404 → channel not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_chat_messagesA | List the messages in a Chat channel (newest first), cursor-paginated. When to Use:
When NOT to Use:
Returns:
Each message's author, id, timestamp, reply count, and a content snippet. When
more results exist the output includes a Pagination:
Cursor-based. Call once, read Examples:
Error Handling:
404 → unknown channel id; 401 → bad token. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_chat_message_repliesA | List the replies threaded under a Chat message, cursor-paginated. When to Use:
When NOT to Use:
Returns:
Each reply's author, id, timestamp, and content snippet, plus a Pagination:
Cursor-based (see Examples:
Error Handling:
404 → unknown message id. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_chat_message_reactionsA | List the emoji reactions on a Chat message, cursor-paginated. When to Use:
When NOT to Use:
Returns:
Each reaction's emoji name and the user who added it, plus a Pagination:
Cursor-based (see Examples:
Error Handling:
404 → unknown message id. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_chat_message_tagged_usersA | List the users @-tagged (mentioned) in a Chat message, cursor-paginated. When to Use:
When NOT to Use:
Returns:
Each tagged user's name and id, plus a Pagination:
Cursor-based (see Examples:
Error Handling:
404 → unknown message id. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_chat_subtypesA | List a Workspace's post subtype IDs (Announcement, Discussion, Idea, Update). Subtype IDs are unique per Workspace and are required when sending a rich
'post' message: pass the chosen id via When to Use:
When NOT to Use:
Returns: Each subtype's name and id for the requested comment family. Examples:
Error Handling:
404 → unknown Workspace. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_send_chat_messageA | Post a new message to a Chat channel. Defaults to a plain 'message'. For a rich 'post' (Announcement/Discussion/Idea/
Update), set message_type='post' and pass the subtype id in
When to Use:
When NOT to Use:
Returns: A confirmation with the new message's id and channel. Examples:
Error Handling:
400 → bad body (e.g. content too long); 404 → unknown channel. Errors return an
| |||||||||||||||||||||||||||||||||
| clickup_send_chat_replyA | Post a threaded reply under an existing Chat message. When to Use:
When NOT to Use:
Returns: A confirmation with the new reply's id and the parent message id. Examples:
Error Handling:
400 → bad body; 404 → unknown parent message. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_update_chat_messageA | Edit a Chat message's content, assignee, or resolved state. Send only the fields you want to change; When to Use:
When NOT to Use:
Returns: A confirmation naming the message and the fields changed. Examples:
Error Handling:
404 → unknown message id. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_delete_chat_messageA | Permanently delete a Chat message (and its replies). When to Use:
When NOT to Use:
Returns: A confirmation that the message was deleted. Examples:
Error Handling:
404 → already gone / unknown id. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_add_chat_reactionA | Add an emoji reaction to a Chat message.
When to Use:
When NOT to Use:
Returns: A confirmation naming the emoji and message. Examples:
Error Handling:
400 → unknown emoji name; 404 → unknown message. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_delete_chat_reactionA | Remove an emoji reaction from a Chat message.
When to Use:
When NOT to Use:
Returns: A confirmation that the reaction was removed. Examples:
Error Handling:
404 → reaction/message not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_create_checklistA | Add a new (empty) checklist to a task. Checklists group related to-do items on a task; add items afterwards with
When to Use:
When NOT to Use:
Returns: A confirmation string with the new checklist's name and id. Examples: params = {"task_id": "9hz", "name": "Pre-launch checks"} params = {"task_id": "CUST-123", "name": "QA", "custom_task_ids": True, "team_id": "123"} Error Handling: 404 means the task_id does not exist; 403 with custom_task_ids commonly means the team_id does not match the token's Workspace. | |||||||||||||||||||||||||||||||||
| clickup_edit_checklistA | Rename a checklist and/or reposition it among a task's other checklists. When to Use:
When NOT to Use:
Returns: A confirmation string with the updated checklist's name and id. Examples: params = {"checklist_id": "b8a8...", "name": "Launch checklist"} params = {"checklist_id": "b8a8...", "position": 0} Error Handling: 404 means the checklist_id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_delete_checklistA | Permanently remove a checklist (and all of its items) from its task. When to Use:
When NOT to Use:
Returns: A confirmation string naming the deleted checklist id. Error Handling: 404 means the checklist_id does not exist (may already be deleted). | |||||||||||||||||||||||||||||||||
| clickup_create_checklist_itemA | Add a new line item to an existing checklist. When to Use:
When NOT to Use:
Returns: A confirmation string; when the API response includes the new item's id it is included, otherwise only the item name and checklist id are echoed. Examples: params = {"checklist_id": "b8a8...", "name": "Write tests"} params = {"checklist_id": "b8a8...", "name": "Review PR", "assignee": 183} Error Handling: 404 means the checklist_id does not exist; 400 for an invalid assignee id. | |||||||||||||||||||||||||||||||||
| clickup_edit_checklist_itemA | Rename, (un)resolve, reassign, or nest/un-nest a checklist item. Nesting: pass When to Use:
When NOT to Use:
Returns: A confirmation string describing the applied changes. Examples: params = {"checklist_id": "b8a8...", "checklist_item_id": "9f1...", "resolved": True} params = {"checklist_id": "b8a8...", "checklist_item_id": "9f1...", "parent": "aa2..."} params = {"checklist_id": "b8a8...", "checklist_item_id": "9f1...", "clear_assignee": True} Error Handling: 404 means the checklist_id or checklist_item_id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_delete_checklist_itemA | Remove a single line item from a checklist (the checklist itself stays). When to Use:
When NOT to Use:
Returns: A confirmation string naming the deleted item id. Error Handling: 404 means the checklist_id or checklist_item_id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_create_task_commentA | Add a comment to a task. Posts to When to Use:
When NOT to Use:
Returns:
A confirmation string with the new comment's id, hist_id, and timestamp, or
an Examples: params = {"task_id": "abc123", "comment_text": "Blocked on design review.", "notify_all": True} Error Handling: 404 means the task id is wrong; 403 can mean you lack comment access on the task. | |||||||||||||||||||||||||||||||||
| clickup_get_task_commentsA | List comments on a task, newest first. Calls When to Use:
When NOT to Use:
Returns: Markdown (default) or JSON list of comments with id, author, date, resolved state, assignee, and (truncated) text. Pagination:
Cursor-based, NOT limit/offset. Omit Examples: params = {"task_id": "abc123"} params = {"task_id": "abc123", "start": 1508369194377, "start_id": "446750"} Error Handling: 404 means the task id is wrong. | |||||||||||||||||||||||||||||||||
| clickup_create_list_commentA | Add a comment to a List's info panel. Posts to When to Use:
When NOT to Use:
Returns:
A confirmation string with the new comment's id, hist_id, and timestamp, or
an Examples: params = {"list_id": "901234", "comment_text": "Sprint scope finalized.", "notify_all": False} Error Handling: 404 means the list id is wrong; 403 can mean you lack comment access on the list. | |||||||||||||||||||||||||||||||||
| clickup_get_list_commentsA | List comments on a List's info panel, newest first. Calls When to Use:
When NOT to Use:
Returns: Markdown (default) or JSON list of comments with id, author, date, resolved state, assignee, and (truncated) text. Pagination:
Cursor-based ( Examples: params = {"list_id": "901234"} Error Handling: 404 means the list id is wrong. | |||||||||||||||||||||||||||||||||
| clickup_create_chat_view_commentA | Post a comment into a Chat view. Posts to When to Use:
When NOT to Use:
Returns:
A confirmation string with the new comment's id, hist_id, and timestamp, or
an Examples: params = {"view_id": "105", "comment_text": "Standup notes for today."} Error Handling: 404 means the view id is wrong or is not a Chat-type view. | |||||||||||||||||||||||||||||||||
| clickup_get_chat_view_commentsA | List comments in a Chat view, newest first. Calls When to Use:
When NOT to Use:
Returns: Markdown (default) or JSON list of comments with id, author, date, and (truncated) text. Pagination:
Cursor-based ( Examples: params = {"view_id": "105"} Error Handling: 404 means the view id is wrong or is not a Chat-type view. | |||||||||||||||||||||||||||||||||
| clickup_update_commentA | Edit a comment's text, (re)assign it, or toggle its resolved state. Calls When to Use:
When NOT to Use:
Returns:
A confirmation string naming the updated comment, or an Examples: params = {"comment_id": "446750", "comment_text": "Resolved — see PR #42.", "resolved": True} Error Handling: 404 means the comment id is wrong; 403 can mean you don't own the comment and lack edit permission. | |||||||||||||||||||||||||||||||||
| clickup_delete_commentA | Permanently delete a comment. Calls When to Use:
When NOT to Use:
Returns:
A confirmation string, or an Examples: params = {"comment_id": "446750"} Error Handling: 404 means the comment id is wrong or was already deleted. | |||||||||||||||||||||||||||||||||
| clickup_create_threaded_commentA | Reply inside an existing comment's thread. Posts to When to Use:
When NOT to Use:
Returns:
A confirmation string with the new reply's id, hist_id, and timestamp, or
an Examples: params = {"comment_id": "446750", "comment_text": "Agreed, I'll update the estimate."} Error Handling: 404 means the parent comment_id is wrong. | |||||||||||||||||||||||||||||||||
| clickup_get_threaded_commentsA | List the replies in a comment's thread. Calls When to Use:
When NOT to Use:
Returns: Markdown (default) or JSON list of replies with id, author, date, and (truncated) text. Pagination:
Unlike the three top-level comment-listing tools, ClickUp does NOT expose
Examples: params = {"comment_id": "446750"} Error Handling: 404 means the parent comment_id is wrong. | |||||||||||||||||||||||||||||||||
| clickup_get_list_custom_fieldsA | List the Custom Fields accessible from a List. Calls When to Use:
When NOT to Use:
Returns:
A markdown list of fields (name, type, id, and any options) or, with
Examples:
Error Handling: 404 means the List id is wrong; 401/403 point to token or access issues. | |||||||||||||||||||||||||||||||||
| clickup_get_folder_custom_fieldsA | List the Custom Fields available at a Folder scope. Calls When to Use:
When NOT to Use:
Returns:
A markdown list of fields (or raw JSON with Examples:
Error Handling: 404 means the Folder id is wrong; 401/403 point to token or access issues. | |||||||||||||||||||||||||||||||||
| clickup_get_space_custom_fieldsA | List the Custom Fields available at a Space scope. Calls When to Use:
When NOT to Use:
Returns:
A markdown list of fields (or raw JSON with Examples:
Error Handling: 404 means the Space id is wrong; 401/403 point to token or access issues. | |||||||||||||||||||||||||||||||||
| clickup_get_team_custom_fieldsA | List the Workspace-scoped Custom Fields. Calls When to Use:
When NOT to Use:
Returns:
A markdown list of fields (or raw JSON with Examples:
Error Handling: 404 means the Workspace id is wrong; 401/403 point to token or access issues. | |||||||||||||||||||||||||||||||||
| clickup_set_custom_field_valueA | Set a Custom Field's value on a task. Calls Value by field type:
Note: labels differ from tasks/people — labels take a plain array of UUIDs
(the complete desired selection), NOT an When to Use:
When NOT to Use:
Returns: A confirmation string (the endpoint returns an empty body on success). Examples:
Error Handling:
400 usually means the | |||||||||||||||||||||||||||||||||
| clickup_remove_custom_field_valueA | Clear a Custom Field's value on a task. Calls When to Use:
When NOT to Use:
Returns: A confirmation string (the endpoint returns an empty body on success). Examples:
Error Handling:
404 means the task or | |||||||||||||||||||||||||||||||||
| clickup_get_custom_task_typesA | List the Workspace's custom task types (a.k.a. custom items). Calls When to Use:
When NOT to Use:
Returns:
A markdown list of custom task types (id, name, plural, description) or, with
Examples:
Error Handling: 404 means the Workspace id is wrong; 401/403 point to token or access issues. | |||||||||||||||||||||||||||||||||
| clickup_search_docsA | Search the Docs in a Workspace, optionally filtered by parent location. Lists Docs across the Workspace and can narrow by creator, parent container, or archived/deleted state. Results are cursor-paginated. When to Use:
When NOT to Use:
Returns:
A list of Docs (name, id, parent, created date). When more results exist the
response includes a Pagination:
Cursor-based. Loop: call once, read Examples:
Error Handling:
401 → bad token; 404 → unknown Workspace id. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_create_docA | Create a Doc, optionally placed directly in its final location. Set When to Use:
When NOT to Use:
Returns: A confirmation with the new Doc's name, id, and parent location. Examples:
Error Handling:
400 → bad parent id/type pairing; 404 → parent not found. Errors return an
| |||||||||||||||||||||||||||||||||
| clickup_get_docA | Fetch a single Doc's metadata (name, parent, timestamps). When to Use:
When NOT to Use:
Returns: The Doc's name, id, parent, workspace, creator, and created/updated times. Examples:
Error Handling:
404 → Doc not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_doc_page_listingA | List a Doc's page tree (titles and ids only, nested — no content). A lightweight outline of the Doc: the hierarchy of pages and subpages with their ids, without fetching any body text. When to Use:
When NOT to Use:
Returns: An indented tree of page names and ids. Examples:
Error Handling:
404 → Doc not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_doc_pagesA | Fetch a Doc's pages with content (the full readable body of the Doc). When to Use:
When NOT to Use:
Returns: Each page's title, subtitle, and content (markdown by default). Very large Docs are truncated with a note. Examples:
Error Handling:
404 → Doc not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_create_pageA | Add a page to an existing Doc (optionally nested under another page). When to Use:
When NOT to Use:
Returns: A confirmation with the new page's name and id. Examples:
Error Handling:
404 → Doc/parent page not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_get_pageA | Fetch one page of a Doc, including its content. When to Use:
When NOT to Use:
Returns: The page's title, subtitle, and content (markdown by default). Examples:
Error Handling:
404 → page not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_edit_pageA | Update a Doc page's title, subtitle, and/or content.
When to Use:
When NOT to Use:
Returns: A confirmation naming the page, Doc, and edit mode used. Examples:
Error Handling:
404 → page not found. Errors return an | |||||||||||||||||||||||||||||||||
| clickup_create_folderA | Create a Folder inside a Space. Calls When to Use:
When NOT to Use:
Returns:
A confirmation string with the new Folder's name and id, or an
Examples: params = {"space_id": "90130912", "name": "Q3 Launches"} Error Handling:
404 means | |||||||||||||||||||||||||||||||||
| clickup_get_foldersA | List the Folders in a Space. Calls When to Use:
When NOT to Use:
Returns:
A markdown or JSON list of Folders, or an Pagination:
ClickUp returns the full Folder array in one response; this tool slices
it client-side via Examples: params = {"space_id": "90130912", "archived": False, "limit": 20, "offset": 0} Error Handling:
404 means | |||||||||||||||||||||||||||||||||
| clickup_get_folderA | Fetch one Folder, including its Lists and status workflow. Calls When to Use:
When NOT to Use:
Returns:
A markdown detail block or JSON object, or an Examples: params = {"folder_id": "456", "response_format": "markdown"} Error Handling:
404 means | |||||||||||||||||||||||||||||||||
| clickup_update_folderA | Rename a Folder and/or toggle its status-override setting. Calls When to Use:
When NOT to Use:
Returns:
A confirmation string with the Folder's new name, or an Examples: params = {"folder_id": "456", "name": "Q3 Launches (Renamed)", "override_statuses": True} Error Handling:
404 means | |||||||||||||||||||||||||||||||||
| clickup_delete_folderA | Permanently delete a Folder and every List/Task inside it. Calls When to Use:
When NOT to Use:
Returns:
A confirmation string, or an Examples: params = {"folder_id": "456"} Error Handling:
404 means | |||||||||||||||||||||||||||||||||
| clickup_create_folder_from_templateA | Create a new Folder by replaying a Folder template. Calls When to Use:
When NOT to Use:
Returns:
A confirmation string with the new Folder's id, or an Examples: params = { "space_id": "90130912", "template_id": "t-7162342", "name": "Q4 Launch (from template)", "options": {"include_views": True, "old_due_date": True}, } Error Handling:
404 means | |||||||||||||||||||||||||||||||||
| clickup_get_folder_templatesA | List the Folder templates available in a Workspace. Calls When to Use:
When NOT to Use:
Returns:
A markdown or JSON list of templates, or an Pagination:
ClickUp returns the full template array in one response; this tool
slices it client-side via Examples: params = {"team_id": "90130912", "limit": 20, "offset": 0} Error Handling:
404 means | |||||||||||||||||||||||||||||||||
| clickup_create_goalA | Create a new Goal in a Workspace. Goals group one or more Key Results (see When to Use:
When NOT to Use:
Returns: A confirmation string with the new Goal's id and current fields. Examples: params = {"name": "Grow MRR", "due_date": 1735689600000, "color": "#32a852"} Error Handling: 404 usually means the team_id is wrong; 401 means the token is missing/invalid. | |||||||||||||||||||||||||||||||||
| clickup_get_goalsA | List the Goals in a Workspace, including any Goal Folders. When to Use:
When NOT to Use:
Returns: Markdown (default) or JSON listing every Goal, including Goals nested inside Goal Folders. Each Goal's Key Results are summarized inline. Pagination:
This endpoint does not page server-side; display is capped at
MAX_DISPLAY_GOALS (50) with a truncation note if exceeded. Use
Examples: params = {"include_completed": True, "response_format": "json"} Error Handling: 404 usually means the team_id is wrong; 401 means the token is missing/invalid. | |||||||||||||||||||||||||||||||||
| clickup_get_goalA | Get a single Goal's full detail, including its Key Results. When to Use:
When NOT to Use:
Returns: Markdown (default) or JSON with the Goal's fields and every Key Result. Examples: params = {"goal_id": "e53a033c-1146-4b58-b498-7ec39b5661c2"} Error Handling: 404 means the goal_id does not exist or was already deleted. | |||||||||||||||||||||||||||||||||
| clickup_update_goalA | Update an existing Goal's name, due date, description, owners, or color. Owners are changed incrementally via When to Use:
When NOT to Use:
Returns: A confirmation string with the Goal's fields after the update. Examples: params = {"goal_id": "e53a033c-1146-4b58-b498-7ec39b5661c2", "add_owners": [123]} Error Handling: 404 means the goal_id does not exist; 400 means a field value was rejected (e.g. malformed color or due_date). | |||||||||||||||||||||||||||||||||
| clickup_delete_goalA | Permanently delete a Goal and all of its Key Results. When to Use:
When NOT to Use:
Returns: A confirmation string on success. Error Handling: 404 means the goal_id does not exist or was already deleted. | |||||||||||||||||||||||||||||||||
| clickup_create_key_resultA | Add a Key Result (Target) to a Goal.
When to Use:
When NOT to Use:
Returns: A confirmation string with the new Key Result's id and fields. Examples: params = { "goal_id": "e53a033c-1146-4b58-b498-7ec39b5661c2", "name": "Close 10 deals", "type": "number", "steps_start": 0, "steps_end": 10, "unit": "deals", "owners": [123], } Error Handling: 404 means the goal_id does not exist; 400 means the type-specific fields (steps_start/steps_end/task_ids/list_ids) are inconsistent for the chosen type. | |||||||||||||||||||||||||||||||||
| clickup_edit_key_resultA | Update a Key Result's progress, note, name, owners, or task/list links.
When to Use:
When NOT to Use:
Returns: A confirmation string with the Key Result's fields after the update. Examples: params = { "key_result_id": "8480-49bc-8c57-e569747efe93", "steps_current": 4, "note": "Closed another deal this week.", } Error Handling: 404 means the key_result_id does not exist; 400 means steps_current is outside the type's valid range. | |||||||||||||||||||||||||||||||||
| clickup_delete_key_resultA | Permanently delete a Key Result (Target) from its Goal. When to Use:
When NOT to Use:
Returns: A confirmation string on success. Error Handling: 404 means the key_result_id does not exist or was already deleted. | |||||||||||||||||||||||||||||||||
| clickup_invite_guest_to_workspaceA | Invite an external guest to a Workspace by email. Guests are lighter-weight than full Workspace members: they only see the
tasks/lists/folders explicitly shared with them via When to Use:
When NOT to Use:
Returns:
A confirmation string with the invited guest's id and email, or an
Examples: params = {"team_id": "123", "email": "contractor@example.com", "can_create_views": False} Error Handling: 403 means the Workspace is not on the Enterprise plan. 400 usually means the email is malformed or already a member/guest. | |||||||||||||||||||||||||||||||||
| clickup_edit_guest_on_workspaceA | Update an existing guest's permission flags or custom role on a Workspace. Only the fields you pass are sent; omitted fields are left unchanged on ClickUp's side. Note: Enterprise plan only — returns 403 on other plans. When to Use:
When NOT to Use:
Returns:
A confirmation string listing the fields that were updated, or an
Examples: params = {"team_id": "123", "guest_id": "456", "can_see_time_spent": False} Error Handling: 403 means the Workspace is not on the Enterprise plan. 404 means the guest id does not exist on this Workspace. | |||||||||||||||||||||||||||||||||
| clickup_get_guestA | Look up a guest's permission flags and what has been shared with them. Note: Enterprise plan only — returns 403 on other plans. When to Use:
When NOT to Use:
Returns:
Markdown summary (id, username, email, permission flags, and a count of
shared tasks/lists/folders) or the raw JSON payload when
Examples: params = {"team_id": "123", "guest_id": "456"} Error Handling: 403 means the Workspace is not on the Enterprise plan. 404 means the guest id does not exist on this Workspace. | |||||||||||||||||||||||||||||||||
| clickup_remove_guest_from_workspaceA | Revoke a guest's access to an entire Workspace. This removes the guest from every task/list/folder they were shared on — it is not scoped to a single item. Note: Enterprise plan only — returns 403 on other plans. When to Use:
When NOT to Use:
Returns:
A confirmation string, or an Examples: params = {"team_id": "123", "guest_id": "456"} Error Handling: 403 means the Workspace is not on the Enterprise plan. 404 means the guest id does not exist on this Workspace. | |||||||||||||||||||||||||||||||||
| clickup_add_guest_to_taskA | Share a single task with an existing guest at a given permission level. The guest must already exist on the Workspace (see
When to Use:
When NOT to Use:
Returns:
A confirmation string with the task id, guest id, and permission level, or
an Examples: params = {"task_id": "abc123", "guest_id": "456", "permission_level": "edit"} params = {"task_id": "CUSTOM-1", "guest_id": "456", "permission_level": "read", "custom_task_ids": True, "team_id": "123"} Error Handling: 403 means the Workspace is not on the Enterprise plan. 404 means the task or guest id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_remove_guest_from_taskA | Revoke a guest's access to a single task. Note: Enterprise plan only — returns 403 on other plans. When to Use:
When NOT to Use:
Returns:
A confirmation string, or an Examples: params = {"task_id": "abc123", "guest_id": "456"} Error Handling: 403 means the Workspace is not on the Enterprise plan. 404 means the task or guest id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_add_guest_to_listA | Share a List with an existing guest at a given permission level. The guest gains visibility into every task in the List. Note: Enterprise plan only — returns 403 on other plans. When to Use:
When NOT to Use:
Returns:
A confirmation string with the list id, guest id, and permission level, or
an Examples: params = {"list_id": "789", "guest_id": "456", "permission_level": "comment"} Error Handling: 403 means the Workspace is not on the Enterprise plan. 404 means the list or guest id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_remove_guest_from_listA | Revoke a guest's access to a List. Note: Enterprise plan only — returns 403 on other plans. When to Use:
When NOT to Use:
Returns:
A confirmation string, or an Examples: params = {"list_id": "789", "guest_id": "456"} Error Handling: 403 means the Workspace is not on the Enterprise plan. 404 means the list or guest id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_add_guest_to_folderA | Share a Folder with an existing guest at a given permission level. The guest gains visibility into every List and task in the Folder. Note: Enterprise plan only — returns 403 on other plans. When to Use:
When NOT to Use:
Returns:
A confirmation string with the folder id, guest id, and permission level,
or an Examples: params = {"folder_id": "321", "guest_id": "456", "permission_level": "create"} Error Handling: 403 means the Workspace is not on the Enterprise plan. 404 means the folder or guest id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_remove_guest_from_folderA | Revoke a guest's access to a Folder. Note: Enterprise plan only — returns 403 on other plans. When to Use:
When NOT to Use:
Returns:
A confirmation string, or an Examples: params = {"folder_id": "321", "guest_id": "456"} Error Handling: 403 means the Workspace is not on the Enterprise plan. 404 means the folder or guest id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_health_checkA | Verify connectivity and authentication against the ClickUp API. Calls When to Use:
When NOT to Use:
Returns:
A one-line Error Handling: 401 means the token is missing/invalid; connection errors point to network or CLICKUP_API_URL issues. | |||||||||||||||||||||||||||||||||
| clickup_create_listA | Create a new List inside a Folder. Lists inside a Folder normally inherit the Folder's statuses unless the
Folder itself overrides Space statuses. Use
When to Use:
When NOT to Use:
Returns:
A confirmation string with the new List's name and id, or an
Examples: params = {"folder_id": "12345", "name": "Sprint 24", "priority": 2} params = {"folder_id": "12345", "name": "Backlog", "markdown_content": "Unscheduled work"} Error Handling:
404 means folder_id does not exist or is not accessible; 400 usually
means | |||||||||||||||||||||||||||||||||
| clickup_create_folderless_listA | Create a new List directly inside a Space, with no parent Folder. Use this for Spaces that are not organized into Folders. Use
When to Use:
When NOT to Use:
Returns:
A confirmation string with the new List's name and id, or an
Examples: params = {"space_id": "67890", "name": "General"} params = {"space_id": "67890", "name": "Intake", "status": "green"} Error Handling:
404 means space_id does not exist or is not accessible; 400 usually
means | |||||||||||||||||||||||||||||||||
| clickup_get_listsA | List the Lists that belong to a Folder. When to Use:
When NOT to Use:
Returns:
Markdown (default) or JSON per Pagination:
ClickUp returns every List belonging to the Folder in one response; this
tool then windows the result with Examples: params = {"folder_id": "12345"} params = {"folder_id": "12345", "archived": True, "limit": 50} Error Handling: 404 means folder_id does not exist or is not accessible. | |||||||||||||||||||||||||||||||||
| clickup_get_folderless_listsA | List the Lists that live directly inside a Space (no Folder). When to Use:
When NOT to Use:
Returns:
Markdown (default) or JSON per Pagination:
ClickUp returns every folderless List in the Space in one response; this
tool then windows the result with Examples: params = {"space_id": "67890"} params = {"space_id": "67890", "archived": True} Error Handling: 404 means space_id does not exist or is not accessible. | |||||||||||||||||||||||||||||||||
| clickup_get_listA | Fetch full detail for a single List by id. When to Use:
When NOT to Use:
Returns:
Markdown (default) or JSON per Examples: params = {"list_id": "901300123456"} params = {"list_id": "901300123456", "response_format": "json"} Error Handling: 404 means list_id does not exist or is not accessible. | |||||||||||||||||||||||||||||||||
| clickup_update_listA | Update a List's name, description, dates, priority, assignee, or color. Only fields you explicitly set are sent — omitted fields are left
unchanged by ClickUp. Supports When to Use:
When NOT to Use:
Returns:
A confirmation string with the updated List's name and id, or an
Examples: params = {"list_id": "901300123456", "name": "Sprint 25"} params = {"list_id": "901300123456", "markdown_content": "## Updated scope", "priority": 1} params = {"list_id": "901300123456", "unset_status": True} Error Handling: 404 means list_id does not exist; 400 usually means an invalid field value (e.g. an out-of-range priority). | |||||||||||||||||||||||||||||||||
| clickup_delete_listA | Permanently delete a List from the Workspace. This removes the List and all of its Tasks. There is no undo via the API — confirm with the caller before invoking this on production data. When to Use:
When NOT to Use:
Returns:
A confirmation string, or an Examples: params = {"list_id": "901300123456"} Error Handling: 404 means list_id does not exist or was already deleted. | |||||||||||||||||||||||||||||||||
| clickup_add_task_to_listA | Add an existing Task's membership to an additional List. Requires the Tasks in Multiple Lists ClickApp to be enabled for the Workspace; without it ClickUp returns 403. This does not move the Task — it stays in its original (home) List and additionally appears in this one. When to Use:
When NOT to Use:
Returns:
A confirmation string, or an Examples: params = {"list_id": "901300123456", "task_id": "abc123"} Error Handling: 403 means the Tasks in Multiple Lists ClickApp is not enabled for this Workspace. 404 means list_id or task_id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_remove_task_from_listA | Remove a Task's membership from an additional (non-home) List. Requires the Tasks in Multiple Lists ClickApp to be enabled; without
it ClickUp returns 403. You cannot remove a Task from its primary
(home) List this way — only from additional Lists it was added to via
When to Use:
When NOT to Use:
Returns:
A confirmation string, or an Examples: params = {"list_id": "901300123456", "task_id": "abc123"} Error Handling: 403 means the Tasks in Multiple Lists ClickApp is not enabled, or you tried to remove the Task from its home List. 404 means list_id or task_id does not exist. | |||||||||||||||||||||||||||||||||
| clickup_create_list_from_template_in_folderA | Create a new List inside a Folder by instantiating a List template. Use When to Use:
When NOT to Use:
Returns:
A confirmation string with the new List's id, or an Examples: params = {"folder_id": "12345", "template_id": "t-15363293", "name": "Sprint 24"} params = {"folder_id": "12345", "template_id": "t-15363293", "name": "Sprint 24", "return_immediately": False} Error Handling:
400 means | |||||||||||||||||||||||||||||||||
| clickup_create_list_from_template_in_spaceA | Create a new folderless List inside a Space by instantiating a template. Use When to Use:
When NOT to Use:
Returns:
A confirmation string with the new List's id, or an Examples: params = {"space_id": "67890", "template_id": "t-15363293", "name": "General"} Error Handling:
400 means | |||||||||||||||||||||||||||||||||
| clickup_get_list_templatesA | List available List templates for a Workspace. The When to Use:
When NOT to Use:
Returns:
Markdown (default) or JSON per Pagination:
ClickUp returns every template in one response; this tool then windows
the result with Examples: params = {} params = {"team_id": "90130012345", "limit": 50} Error Handling: Raises a configuration error if team_id is omitted and CLICKUP_TEAM_ID is not set; 401/403 indicate a token or plan issue. | |||||||||||||||||||||||||||||||||
| clickup_get_list_membersA | List the Workspace members with direct access to a List. Calls When to Use:
When NOT to Use:
Returns: A markdown (or JSON) list of members with id, username, and email. Examples: params = {"list_id": "901300123456"} params = {"list_id": "901300123456", "response_format": "json"} Error Handling: 404 means the List id doesn't exist or isn't visible to this token; 401 means CLICKUP_API_TOKEN is missing or invalid. | |||||||||||||||||||||||||||||||||
| clickup_get_task_membersA | List the Workspace members with direct access to a Task. Calls When to Use:
When NOT to Use:
Returns: A markdown (or JSON) list of members with id, username, and email. Examples: params = {"task_id": "9hz"} params = {"task_id": "DEV-123", "custom_task_ids": true, "team_id": "123456"} Error Handling: 404 means the Task id doesn't exist or isn't visible to this token; 400 if custom_task_ids=True but team_id is missing. | |||||||||||||||||||||||||||||||||
| clickup_create_user_groupA | Create a User Group (ClickUp's endpoint calls this a "Team") in a Workspace. Calls When to Use:
When NOT to Use:
Returns: A confirmation string with the new group's group_id, name, and member count. Examples: params = {"team_id": "123456", "name": "Product Managers", "members": [183, 812]} Error Handling:
403 if the plan doesn't support User Groups or the token lacks
permission; 400 if | |||||||||||||||||||||||||||||||||
| clickup_get_user_groupsA | List the User Groups in a Workspace (ClickUp's endpoint slug: "getteams1"). Calls When to Use:
When NOT to Use:
Returns: A markdown (or JSON) list of groups with group_id, name, handle, and member count. Examples: params = {"team_id": "123456"} params = {"team_id": "123456", "group_ids": ["4bfdfcec-6f4f-40a7-b0d6-22660d51870d"]} Error Handling: 400/404 if team_id is missing or invalid. | |||||||||||||||||||||||||||||||||
| clickup_update_user_groupA | Rename a User Group and/or add/remove its members. Calls When to Use:
When NOT to Use:
Returns: A confirmation string with the updated group's name, group_id, and resulting member count. Examples: params = {"group_id": "4bfdfcec-6f4f-40a7-b0d6-22660d51870d", "name": "QA Team"} params = { "group_id": "4bfdfcec-6f4f-40a7-b0d6-22660d51870d", "add_member_ids": [123456], "remove_member_ids": [159753], } Error Handling: 404 if group_id doesn't exist; 403 if the token lacks permission. Note: adding a view-only guest to a group can convert them to a paid guest (billing impact) — ClickUp's own docs warn about this. | |||||||||||||||||||||||||||||||||
| clickup_delete_user_groupA | Permanently delete a User Group from a Workspace. Calls When to Use:
When NOT to Use:
Returns: A confirmation string once the group is deleted. Examples: params = {"group_id": "4bfdfcec-6f4f-40a7-b0d6-22660d51870d"} Error Handling: 404 if group_id doesn't exist (it may already be deleted); 403 if the token lacks permission. | |||||||||||||||||||||||||||||||||
| clickup_get_custom_rolesA | List the Custom Roles configured for a Workspace. Calls Note: Custom Roles are an Enterprise plan feature — this endpoint returns 403 on other plans. When to Use:
When NOT to Use:
Returns:
A markdown (or JSON) list of roles with id, name, the base role they
extend, and (when Examples: params = {"team_id": "123456"} params = {"team_id": "123456", "include_members": false} Error Handling: 403 on non-Enterprise plans; 404 if team_id is invalid. | |||||||||||||||||||||||||||||||||
| clickup_get_shared_hierarchyA | List the Tasks, Lists, and Folders individually shared with the caller. Calls When to Use:
When NOT to Use:
Returns: A markdown (or JSON) summary grouped into Tasks / Lists / Folders. Examples: params = {"team_id": "123456"} Error Handling: 404/401 if team_id is invalid or the token can't access the Workspace. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/trustxai/clickup-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server