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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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