The ClickUp MCP connector routes your AI agent's tool calls to ClickUp's own MCP server through Scalekit. Each user signs in to ClickUp once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 57 tools.
- Tools
- 57
- What they doRead · write · destructive
- 23 · 25 · 923 read25 write9 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the ClickUp MCP connection
In AgentKit > Connections, create a ClickUp MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for ClickUp, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'clickupmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize ClickUp MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'clickupmcp_clickup_filter_tasks',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "clickupmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize ClickUp MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="clickupmcp_clickup_filter_tasks",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolclickupmcp_clickup_download_task_attachmentDownload a ClickUp task attachment (get attachment IDs from clickup_get_task with include: ["attachments"]).Read-onlyDownload Task Attachment
Download a ClickUp task attachment (get attachment IDs from clickup_get_task with include: ["attachments"]). Returns a short-lived download URL plus attachment metadata. IMPORTANT: the URL is short-lived and, on workspaces with private attachments enabled, single-use â it expires within ~5 minutes. Fetch it immediately and exactly once; do not preview, HEAD-request, retry, or store it. If a download fails or the URL expired, call this tool again for a fresh URL.
Inputs
attachment_idstringrequired- Attachment ID. List a task's attachments with clickup_get_task using include: ["attachments"].
task_idstringrequired- Task ID (supports custom IDs like 'DEV-1234')
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_filter_tasksRetrieve tasks with combined filters (tags, lists, folders, spaces, statuses, assignees, due date range, completion date range).Read-onlyFilter Tasks
Retrieve tasks with combined filters (tags, lists, folders, spaces, statuses, assignees, due date range, completion date range). Multiple values within a filter use OR logic; across filters, AND logic applies. Best for filtering tasks by structured field values. For text/keyword search across all workspace content, use search instead. Results are paginated at 100 tasks per page: the response includes has_more and next_page, and when has_more is true you MUST call again with page set to next_page (repeating until has_more is false) to retrieve every matching task — a single call is not guaranteed to be complete. Assignees must be numeric user IDs — use clickup_resolve_assignees to convert names/emails/"me". Date filters use YYYY-MM-DD. For a single task by ID, use clickup_get_task.
Inputs
assigneesarray- Filter by assignee user IDs. Multiple IDs use OR logic. Use clickup_resolve_assignees to convert names/emails/"me" first.
date_closed_fromstring- Filter tasks completed on or after. Format: YYYY-MM-DD
date_closed_tostring- Filter tasks completed on or before. Format: YYYY-MM-DD
due_date_fromstring- Filter tasks with due date on or after. Format: YYYY-MM-DD
due_date_tostring- Filter tasks with due date on or before. Format: YYYY-MM-DD
folder_idsarray- Filter by Folder IDs. Multiple IDs use OR logic (matches tasks in ANY of the specified folders).
include_closedboolean- Include closed tasks in results
list_idsarray- Filter by List IDs. Multiple IDs use OR logic (matches tasks in ANY of the specified lists).
order_bystring- Sort results by fieldone of
idcreatedupdateddue_date pagenumber- 0-indexed page number. Each page returns up to 100 tasks. When a response has has_more=true, request the next page using its next_page value, and keep going until has_more=false to retrieve every matching task.
reverseboolean- Reverse sort order
space_idsarray- Filter by Space IDs. Multiple IDs use OR logic (matches tasks in ANY of the specified spaces).
statusesarray- Filter by task status names. Multiple statuses use OR logic (matches tasks with ANY of the specified statuses).
subtasksboolean- Include subtasks in results (default: true)default
true tagsarray- Filter by tag names. Multiple tags use OR logic (matches tasks with ANY of the specified tags).
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_find_member_by_nameGet a member in the ClickUp workspace by name or email.Read-onlyFind Member By Name
Get a member in the ClickUp workspace by name or email. Returns the member object if found, or null if not found.
Inputs
name_or_emailstringrequired- The name or email of the member to find.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_bulk_tasks_time_in_statusGet the time multiple tasks have spent in each status (bulk operation, up to 100 tasks).Read-onlyGet Bulk Tasks Time In Status
Get the time multiple tasks have spent in each status (bulk operation, up to 100 tasks). Returns a map of task IDs to their status history and current status time data. Requires the "Total time in Status" ClickApp to be enabled in the workspace.
Inputs
task_idsarrayrequired- Array of task IDs to get time in status for (1-100 tasks). Works with both regular task IDs and custom IDs (like 'DEV-1234').
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_chat_channel_messagesGet messages for a chat channel.Read-onlyGet Chat Channel Messages
Get messages for a chat channel. Messages with has_replies=true have threads fetchable via clickup_get_chat_message_replies. Supports pagination.
Inputs
channel_idstringrequired- ID of the chat channel to get messages from.
content_formatstring- Response content format.one of
text/plaintext/mddefaulttext/plain cursorstring- Cursor for pagination. Use the next_cursor value from the previous response to fetch the next page of results.
limitnumber- Maximum number of messages to return (1-100).default
100 workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_chat_channelsList chat channels in the workspace with pagination support.Read-onlyGet Chat Channels
List chat channels in the workspace with pagination support.
Inputs
cursorstring- Cursor for pagination. Use the next_cursor value from the previous response to fetch the next page of results.
limitnumber- Maximum number of channels to return (1-100).default
100 workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_chat_message_repliesGet threaded replies for a chat message by message_id.Read-onlyGet Chat Message Replies
Get threaded replies for a chat message by message_id. Supports pagination.
Inputs
message_idstringrequired- ID of the chat message to get replies from.
content_formatstring- Response content format.one of
text/plaintext/mddefaulttext/plain cursorstring- Cursor for pagination. Use the next_cursor value from the previous response to fetch the next page of results.
limitnumber- Maximum number of replies to return (1-100).default
100 workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_current_time_entryGet the currently running time entry, if any.Read-onlyGet Current Time Entry
Get the currently running time entry, if any. No parameters needed.
Inputs
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_custom_fieldsGet custom field definitions at any hierarchy level (list, folder, space, or workspace).Read-onlyGetCustomFields
Get custom field definitions at any hierarchy level (list, folder, space, or workspace). Returns field IDs, types, and options for dropdowns/labels. Use this to discover available custom fields before setting values on tasks. Multiple scopes can be queried in a single call.
Inputs
folder_idstring- Folder ID. Returns custom fields defined on this folder.
include_workspaceboolean- If true, returns workspace-level custom fields.
list_idstring- List ID. Returns custom fields defined on this list.
space_idstring- Space ID. Returns custom fields defined on this space.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_document_pagesGet the full content of specific pages by page ID.Read-onlyGetDocumentPages
Get the full content of specific pages by page ID. Use list_document_pages first to discover available page IDs.
Inputs
document_idstringrequired- ID of the document (e.g. 'ad-909705'). In ClickUp doc URLs the path is either /{workspace_id}/docs/{document_id}/{page_id} or /{workspace_id}/v/dc/{document_id}/{page_id}. The document_id is always the first ID after /docs/ or /v/dc/.
page_idsarrayrequired- Array of page IDs to retrieve (e.g. ['ad-2675877']). In ClickUp doc URLs, the page_id is the second ID after /docs/ or /v/dc/. If the URL contains only one ID (e.g. /{workspace_id}/docs/{document_id}), that is the document_id — use list_document_pages to discover page IDs.
content_formatstring- Response content format.one of
text/plaintext/mddefaulttext/plain workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_folderGet folder details by folder_id or folder_name (+ space info).Read-onlyGetFolder
Get folder details by folder_id or folder_name (+ space info). Use to resolve folder names to IDs.
Inputs
folder_idstring- ID of the folder to retrieve.
folder_namestring- Name of the folder to retrieve. When using this, you must also provide space_id or space_name.
space_idstring- ID of the space containing the folder (required with folder_name).
space_namestring- Name of the space containing the folder (required with folder_name).
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_listGet list details by list_id or list_name.Read-onlyGet List
Get list details by list_id or list_name. Returns id, name, content, space info, and configured statuses. Use to resolve list names to IDs.
Inputs
list_idstring- ID of the list to retrieve.
list_namestring- Name of the list to retrieve. The tool will search for a list with this name.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_taskRetrieve a ClickUp task by ID (supports custom IDs like 'DEV-1234').Read-onlyGet Task
Retrieve a ClickUp task by ID (supports custom IDs like 'DEV-1234'). Returns a compact summary by default — core fields are always included, large sections appear as counts only (e.g. custom_fields_count: 3). Use include to fetch full data for specific sections: include: ["custom_fields", "description"]. Set expand_statuses=true to list valid statuses for update_task.
Inputs
task_idstringrequired- Task ID (supports custom IDs like 'DEV-1234')
expand_statusesboolean- When true, returns the full set of statuses configured on the task's list (including any inherited from the parent folder or space) under `available_statuses`. Use to discover which status values can be assigned via update_task. Off by default to keep responses lean.
includearray- Sections to return in full. Without this, large sections appear as counts (e.g. custom_fields_count: 3). Available: attachments (metadata only — id, title, extension, mimetype, size, date, source; use clickup_download_task_attachment to get a download URL), checklists (items + completion), custom_fields (field values), dependencies (blocking/waiting-on relationships), description (full text — summary truncates at 10k chars), linked_tasks (linked task IDs), subtasks (triggers subtask fetch from API), watchers (watching users).
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_task_commentsGet task comments with reply_count per comment.Read-onlyGet Task Comments
Get task comments with reply_count per comment. Use clickup_get_threaded_comments for replies when reply_count > 0. Supports pagination via start/start_id.
Inputs
task_idstringrequired- Task ID (supports custom IDs like 'DEV-1234')
startnumber- Timestamp (in milliseconds) to start retrieving comments from. Used for pagination.
start_idstring- Comment ID to start from. Used together with start for pagination.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_task_time_in_statusGet the time a task has spent in each status.Read-onlyGet Task Time In Status
Get the time a task has spent in each status. Returns the current status with elapsed time and the full status history with time spent in each status. Requires the "Total time in Status" ClickApp to be enabled in the workspace.
Inputs
task_idstringrequired- ID of task. Works with both regular task IDs and custom IDs (like 'DEV-1234'). Use clickup_search to find task ID by name if needed.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_threaded_commentsGet threaded replies for a comment by comment_id.Read-onlyGetThreadedComments
Get threaded replies for a comment by comment_id. Use clickup_get_task_comments first to find comments with reply_count > 0.
Inputs
comment_idstringrequired- ID of the parent comment to get threaded replies for.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_time_entriesGet time entries with optional filtering by task, date range, assignee, and billable status.Read-onlyGet Time Entries
Get time entries with optional filtering by task, date range, assignee, and billable status. Pass task_id to scope to a single task, or omit for workspace-wide results. IMPORTANT: without assignee, only the authenticated user's entries are returned — pass 'any' to get all users' entries, or specific user IDs (comma-separated) for targeted queries.
Inputs
assigneearray- Filter by assignee user IDs. Pass numeric user IDs (e.g. ['123', '456']) or include 'any' to get ALL users' entries. IMPORTANT: when omitted, the API returns only the authenticated user's entries. Use get_workspace_members to look up user IDs.
end_datestring- End date in YYYY-MM-DD format or date-time in YYYY-MM-DD HH:MM format
is_billableboolean- Filter by billable status. Set to true for only billable entries, false for non-billable. Omit to get all entries.
start_datestring- Start date in YYYY-MM-DD format or date-time in YYYY-MM-DD HH:MM format
task_idstring- Task ID to scope entries to (supports custom IDs like 'DEV-1234'). Omit to query workspace-wide.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_workspace_hierarchyGet workspace hierarchy (spaces, folders, lists) with pagination and depth control.Read-onlyGet Workspace Hierarchy
Get workspace hierarchy (spaces, folders, lists) with pagination and depth control. Use only when you need the workspace structure — most tools resolve names automatically.
Inputs
cursorstring- Pagination cursor from previous response. Use to fetch next page of spaces
limitnumber- Maximum number of spaces to return per page (default: 10, max: 50)
max_depthstring- Maximum depth of hierarchy to return: 0=spaces only, 1=spaces+folders, 2=spaces+folders+lists (default: 2)one of
012 space_idsarray- Filter to return only specific spaces by ID.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_get_workspace_membersList all members in the workspace.Read-onlyGet Workspace Members
List all members in the workspace. Most tools resolve assignees automatically — use only when you need the full member list.
Inputs
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_list_document_pagesList page names and structure of a document (no content).Read-onlyListDocumentPages
List page names and structure of a document (no content). Use get_document_pages to fetch full page content by page ID.
Inputs
document_idstringrequired- ID of the document (e.g. 'ad-909705'). In ClickUp doc URLs the path is either /{workspace_id}/docs/{document_id} or /{workspace_id}/v/dc/{document_id}. The document_id is always the first ID after /docs/ or /v/dc/.
max_page_depthnumber- Maximum depth of pages to retrieve (-1 for unlimited)
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_resolve_assigneesConvert names, emails, or "me" to numeric ClickUp user IDs.Read-onlyResolve Assignees
Convert names, emails, or "me" to numeric ClickUp user IDs. Use when you need IDs for filters (e.g., search, filter_tasks). Most task tools resolve assignees automatically.
Inputs
assigneesarrayrequired- Array of assignee names, emails, or "me" to resolve. Use "me" to refer to the currently authenticated user.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_searchSearch across all workspace content (tasks, docs, dashboards, attachments, whiteboards, chats, forms).Read-onlySearch
Search across all workspace content (tasks, docs, dashboards, attachments, whiteboards, chats, forms). Best for keyword/text matching across all content types. For filtering tasks by field values (status, priority, tags, dates), use filter_tasks instead. Supports filtering by assignees, creators, status, location, asset types, and date ranges. Date filters use YYYY-MM-DD or YYYY-MM-DD HH:MM format in your timezone. Results are paginated: the response includes next_cursor whenever more results exist. When next_cursor is present you MUST call search again with that value in the cursor field (repeating until next_cursor is absent) to retrieve every match — a single call is not guaranteed to be complete.
Inputs
countnumber- Maximum number of results to return per page (for pagination)
cursorstring- Pagination cursor from previous response. Use to fetch next page of results
filtersobject- Filters to refine search results by various criteria
keywordsstring- Search query string. Use specific keywords to find items
sortarray- Sort criteria for results. Can specify multiple sort fields in priority order
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_search_remindersSearch and list your reminders.Read-onlySearch Reminders
Search and list your reminders. Supports filtering by type, status, completion, and since date. Date filters use YYYY-MM-DD or YYYY-MM-DD HH:MM format (e.g., '2025-01-01') in your timezone. Paginated via cursor.
Inputs
cursorstring- Cursor for pagination. Use the next_cursor value from the previous response to fetch the next page of results
due_date_statusstring- Filter reminders by due date status (TODO, LATER, DELETED)one of
TODOLATERDELETED is_completedboolean- Filter to show only completed or incomplete reminders
is_overdueboolean- Filter to show only overdue reminders
limitnumber- Maximum number of reminders to return per page (default: 25, max: 100)
reminder_typestring- Filter by type of reminder (ASSIGNED_COMMENT, UNANSWERED_MENTION, APPROVAL, SAVED, REMINDER)one of
ASSIGNED_COMMENTUNANSWERED_MENTIONAPPROVALSAVEDREMINDER sincestring- Filter reminders updated since this date in YYYY-MM-DD format or date-time in YYYY-MM-DD HH:MM format (e.g., '2025-01-01' or '2025-01-01 09:00')
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_add_tag_to_taskAdd existing tag to task.WriteAdd Tag To Task
Add existing tag to task. Tag must exist in space. Note: Will fail if tag doesn't exist.
Inputs
tag_namestringrequired- Name of the tag to add to the task. The tag must already exist in the space.
task_idstringrequired- ID of task. Works with both regular task IDs and custom IDs (like 'DEV-1234'). Use clickup_search to find task ID by name if needed.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_add_task_dependencySet a directional dependency where one task blocks the other.WriteAdd Task Dependency
Set a directional dependency where one task blocks the other. Use 'waiting_on' when task_id cannot start until depends_on is done, or 'blocking' when task_id is blocking depends_on. For non-blocking associations, use add_task_link instead.
- Idempotent
Inputs
depends_onstringrequired- ID of the task that task_id depends on or is blocking. Works with regular and custom IDs.
task_idstringrequired- ID of the task to set the dependency on. Works with regular and custom IDs (like 'DEV-1234'). Use clickup_search to find task ID by name if needed.
typestringrequired- Type of dependency to add: 'waiting_on' or 'blocking'.one of
waiting_onblocking workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_add_task_linkLink two tasks together.WriteAdd Task Link
Link two tasks together. Creates a bidirectional association with no ordering or blocking. For blocking/dependency relationships, use add_task_dependency instead.
- Idempotent
Inputs
links_tostringrequired- ID of the task to link to. Works with regular and custom IDs.
task_idstringrequired- ID of the task to link from. Works with regular and custom IDs (like 'DEV-1234').
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_add_task_to_listAdd a task to an additional list (keeps current home list).WriteAdd Task To List
Add a task to an additional list (keeps current home list). Requires the Tasks in Multiple Lists ClickApp to be enabled.
- Idempotent
Inputs
list_idstringrequired- ID of the additional list to add the task to. The task remains in its original list. Use clickup_get_list to find the list ID from a list name if needed.
task_idstringrequired- ID of the task to add. Works with regular and custom IDs (like 'DEV-1234'). Use clickup_search to find task ID by name if needed.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_add_time_entryAdd a manual time entry to a task.WriteAdd Time Entry
Add a manual time entry to a task. You can provide either (start + duration) OR (start + end). The tool will calculate missing values. Requires task_id, start time, and either duration or end time. Supports description, billable flag, and tags.
Inputs
startstringrequired- Start time in YYYY-MM-DD HH:MM format (e.g., '2025-01-15 09:30'). Time is required for time tracking entries.
task_idstringrequired- Task ID (supports custom IDs like 'DEV-1234')
billableboolean- Whether this time is billable. Default is workspace setting.
descriptionstring- Description for the time entry. Keep short and simple, or omit for best compatibility.
durationstring- Duration of the time entry. Format as 'Xh Ym' (e.g., '1h 30m') or just minutes (e.g., '90m'). Either duration or end_time is required.
end_timestring- End time in YYYY-MM-DD HH:MM format (e.g., '2025-01-15 11:00'). Time is required for time tracking entries.
tagsarray- Array of tag names to assign to the time entry.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_attach_task_fileAttach file to task.WriteAttach Task File
Attach file to task. Requires task_id. File sources: 1) base64 + filename (small files under ~200KB only), 2) URL (http/https). For files on the local machine, use request_attachment_upload instead.
Inputs
task_idstringrequired- Task ID (supports custom IDs like 'DEV-1234')
auth_headerstring- Authorization header to use when downloading from the web URL.
file_datastring- Base64-encoded content of the file (without the data URL prefix).
file_namestring- Name of the file to be attached (include the extension). Required when using file_data.
file_urlstring- URL to download the file from (must start with http:// or https://).
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_create_commentCreate a comment or threaded reply on a task, list, or view.WriteCreate Comment
Create a comment or threaded reply on a task, list, or view. Supports Markdown (headings, bold, code blocks, tables). Use entity_type + entity_id for the target entity. Provide reply_to_id for a threaded reply.
Inputs
comment_textstringrequired- Comment content. Supports Markdown formatting. To @mention a user, write @[Name](user_id) inline, e.g. 'Hey @[Jane](81344), please review' â user_id MUST be a numeric ClickUp user id from clickup_resolve_assignees. Comments with mentions post as plain text (no Markdown).
assigneenumber- User ID to assign the comment to. Use clickup_resolve_assignees to convert email, username, or "me" to user ID if needed.
entity_idstring- ID of the entity to comment on.
entity_typestring- Entity type to comment on. Use with entity_id.one of
tasklistviewdefaulttask notify_allboolean- Whether to notify all assignees. Default is false.
reply_to_idstring- ID of a parent comment to reply to. When provided, the comment is posted as a threaded reply instead of a top-level comment.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_create_documentCreate a document in a ClickUp space, folder, or list.WriteCreateDocument
Create a document in a ClickUp space, folder, or list. Requires name, parent info, visibility and create_page flag.
Inputs
create_pagebooleanrequired- Whether to create an initial blank page
namestringrequired- Name and Title of the document
parentobjectrequired- Parent container information
visibilitystringrequired- Document visibility settingone of
PUBLICPRIVATEPERSONALHIDDEN workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_create_document_pageCreate a new page in a ClickUp document.WriteCreateDocumentPage
Create a new page in a ClickUp document.
Inputs
contentstringrequired- Content of the page
document_idstringrequired- ID of the document to create the page in (e.g. 'ad-909705'). In ClickUp doc URLs, the document_id is always the first ID after /docs/ or /v/dc/.
namestringrequired- Name and title of the page
content_formatstring- The format of the page contentone of
text/mdtext/plaindefaulttext/md parent_page_idstring- ID of the parent page (if this is a sub-page)
sub_titlestring- Subtitle of the page
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_create_folderCreate folder in ClickUp space.WriteCreateFolder
Create folder in ClickUp space. Use space_id (preferred) or space_name + folder name. Supports override_statuses for folder-specific statuses. Use clickup_create_list_in_folder to add lists after creation.
Inputs
namestringrequired- Name of the folder.
override_statusesboolean- Whether to override space statuses with folder-specific statuses.
space_idstring- ID of the space to create the folder in (preferred). Provide this instead of space_name if you already have it.
space_namestring- Name of the space to create the folder in. Use this when space_id is not available.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_create_listCreate a list in a ClickUp space.WriteCreate List
Create a list in a ClickUp space. Requires name and space_name or space_id. For lists in folders, use clickup_create_list_in_folder.
Inputs
namestringrequired- Name of the list.
assigneenumber- User ID to assign the list to. Use clickup_resolve_assignees to convert email, username, or "me" to user ID if needed.
contentstring- Description or content of the list.
due_datestring- Due date in YYYY-MM-DD format or date-time in YYYY-MM-DD HH:MM format
prioritystring- Priority value: 'urgent', 'high', 'normal', or 'low'.one of
urgenthighnormallow space_idstring- ID of the space to create the list in. Provide this instead of space_name if you already have the ID.
space_namestring- Name of the space to create the list in. Alternative to space_id; one of them must be provided.
statusstring- Status of the list.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_create_list_in_folderCreate a list in a ClickUp folder.WriteCreate List In Folder
Create a list in a ClickUp folder. Requires folder_id and list name. Supports content and status. If you need to get a folder ID from a folder name, use clickup_get_folder first.
Inputs
folder_idstringrequired- ID of the folder to create the list in.
namestringrequired- Name of the list.
contentstring- Description or content of the list.
statusstring- Status of the list (uses folder default if not specified).
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_create_reminderCreate a personal reminder in your ClickUp workspace.WriteCreate Reminder
Create a personal reminder in your ClickUp workspace. Requires title and due_date (YYYY-MM-DD or YYYY-MM-DD HH:MM format, uses your timezone).
Inputs
due_datestringrequired- Due date in YYYY-MM-DD format or date-time in YYYY-MM-DD HH:MM format (e.g., '2025-12-31' or '2025-12-31 14:30'). Uses your user timezone.
titlestringrequired- Title for the reminder. Ask the user what they want to be reminded about.
descriptionstring- Optional description with additional details for the reminder.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_create_taskCreate a task in a ClickUp list.WriteCreate Task
Create a task in a ClickUp list. Requires name and list_id — always ask the user which list. Supports assignees (user IDs, emails, usernames, or "me") and task_type by name.
Inputs
list_idstringrequired- List ID. Use clickup_get_list to resolve names.
namestringrequired- Task name. Ask the user what they want to name the task.
assigneesarray- Array of assignee user IDs. Use clickup_resolve_assignees to convert emails, usernames, or "me" to user IDs if needed.
check_required_custom_fieldsboolean- Flag to check if all required custom fields are set before saving the task.
custom_fieldsarray- Array of custom field values to set on the task. Each object must have an 'id' and 'value' property.
due_datestring- Due date in YYYY-MM-DD or YYYY-MM-DD HH:MM format
markdown_descriptionstring- Task description in markdown format.
parentstring- Parent task ID to create as subtask.
prioritystring- Task priority.one of
urgenthighnormallow start_datestring- Start date in YYYY-MM-DD or YYYY-MM-DD HH:MM format
statusstring- Override default status. Omit to use list defaults.
tagsarray- Tag names (must already exist in the space).
task_typestring- Name of the task type (e.g., 'Bug', 'Feature', 'Milestone'). The type must exist in the workspace. If not specified, the default task type will be used.
time_estimatestring- Time estimate in minutes (e.g., '150' for 2h 30m).
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_move_taskMove a task to a new home list.WriteMove Task
Move a task to a new home list. Requires task_id and list_id (supports custom IDs). Use clickup_get_list to resolve list names.
- Idempotent
Inputs
list_idstringrequired- ID of the destination list to move the task into. Use clickup_get_list to find the list ID from a list name if needed.
task_idstringrequired- ID of the task to move. Works with regular and custom IDs (like 'DEV-1234'). Use clickup_search to find task ID by name if needed.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_request_attachment_uploadGet short-lived, structured upload details (upload URL, ticket, HTTP method, and multipart field name) to attach a LOCAL file (any size) to a task; follow the returned instructions to upload it with a native HTTP client.WriteRequest Attachment Upload
Get short-lived, structured upload details (upload URL, ticket, HTTP method, and multipart field name) to attach a LOCAL file (any size) to a task; follow the returned instructions to upload it with a native HTTP client. For small base64 payloads or web URLs, use attach_task_file instead.
Inputs
task_idstringrequired- Task ID (supports custom IDs like 'DEV-1234')
file_namestring- Optional file name override (include the extension). Defaults to the local file's own name.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_send_chat_messageSend a message or threaded reply to a chat channel.WriteSend Chat Message
Send a message or threaded reply to a chat channel. Provide parent_message_id for threaded replies. Supports markdown and post types.
Inputs
channel_idstringrequired- ID of the chat channel to send the message to. Ignored when parent_message_id is set â a reply's channel is derived from its parent message.
contentstringrequired- Message content to send (supports markdown).
assigneestring- User ID to assign the message to. Use clickup_resolve_assignees to convert email, username, or "me" to user ID if needed.
content_formatstring- Format of the message content.one of
text/mdtext/plaindefaulttext/md followersarray- Array of user IDs to add as followers of the message. Use clickup_resolve_assignees to convert emails, usernames, or "me" to user IDs if needed.
group_assigneestring- Group ID to assign the message to.
parent_message_idstring- ID of the parent message to reply to. When provided, the message is sent as a threaded reply instead of a top-level channel message. Use clickup_get_chat_channel_messages to find the message ID.
post_subtype_idstring- Subtype ID for the post (required if type is 'post').
post_titlestring- Title for the post (required if type is 'post').
typestring- Type of message to send.one of
messagepostdefaultmessage workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_start_time_trackingStart time tracking on a task.WriteStart Time Tracking
Start time tracking on a task. Supports description, billable status, and tags. Only one timer can be running at a time. For best results, omit extra parameters unless specifically needed.
Inputs
task_idstringrequired- Task ID (supports custom IDs like 'DEV-1234')
billableboolean- Whether this time is billable. Default is workspace setting.
descriptionstring- Description for the time entry. Keep short and simple, or omit for best compatibility.
tagsarray- Array of tag names to assign to the time entry.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_stop_time_trackingStop the currently running time tracker.WriteStop Time Tracking
Stop the currently running time tracker. Supports description and tags. Returns the completed time entry details.
Inputs
descriptionstring- Description to update or add to the time entry.
tagsarray- Array of tag names to assign to the time entry.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_update_commentEdit an existing comment in place by comment_id.WriteUpdate Comment
Edit an existing comment in place by comment_id. Replaces the comment text (supports Markdown), and can mark it resolved or reassign it. Use clickup_get_task_comments or clickup_get_threaded_comments to find the comment ID.
- Idempotent
Inputs
comment_idstringrequired- ID of the comment to update. Use clickup_get_task_comments or clickup_get_threaded_comments to find the comment ID.
assigneenumber- User ID to assign the comment to. Use clickup_resolve_assignees to convert email, username, or "me" to user ID if needed.
comment_textstring- New comment content that replaces the existing text. Supports Markdown formatting. To @mention a user, write @[Name](user_id) inline â user_id MUST be a numeric ClickUp user id from clickup_resolve_assignees. Comments with mentions post as plain text (no Markdown).
resolvedboolean- Mark the comment as resolved (true) or unresolved (false).
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_update_document_pageUpdate a page in a ClickUp document.WriteUpdateDocumentPage
Update a page in a ClickUp document. Use content_edit_mode to control how content is applied: append/prepend merge with the existing page server-side and preserve it exactly — no need to read the page first. The default is 'replace', which overwrites the whole page. If appended content should start on its own line, include a leading newline; if prepended content should end on its own line, include a trailing newline.
- Idempotent
Inputs
document_idstringrequired- ID of the document containing the page (e.g. 'ad-909705'). In ClickUp doc URLs, the document_id is always the first ID after /docs/ or /v/dc/.
page_idstringrequired- ID of the page to update (e.g. 'ad-2675877'). In ClickUp doc URLs, this is the second ID after /docs/ or /v/dc/.
contentstring- New content for the page (must be non-empty; clearing a page is not supported). By default this REPLACES the entire existing page content — set content_edit_mode to 'append' or 'prepend' to add to the page instead of overwriting it.
content_edit_modestring- How to apply `content`: 'append' adds it at the end of the existing page, 'prepend' inserts it before the existing content, 'replace' (default) OVERWRITES the entire page — existing content is lost. Ignored when `content` is not provided.one of
replaceappendprependdefaultreplace content_formatstring- The format of the page contentone of
text/mdtext/plaindefaulttext/md namestring- New name for the page
sub_titlestring- New subtitle for the page
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_update_folderUpdate a ClickUp folder.WriteUpdateFolder
Update a ClickUp folder. Requires folder_id + at least one update field (name/override_statuses). Only specified fields updated. Changes apply to all lists in folder. If you need to get a folder ID from a folder name, use clickup_get_folder first.
- Idempotent
Inputs
folder_idstringrequired- ID of the folder to update.
namestring- New name for the folder.
override_statusesboolean- Whether to override space statuses with folder-specific statuses.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_update_listUpdate a ClickUp list.WriteUpdate List
Update a ClickUp list. Requires list_id + at least one update field (name/content/status). Only specified fields updated. If you need to get a list ID from a list name, use clickup_get_list first.
- Idempotent
Inputs
list_idstringrequired- ID of the list to update.
contentstring- New description or content for the list.
namestring- New name for the list.
statusstring- New status for the list.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_update_reminderUpdate a reminder by reminder_id.WriteUpdate Reminder
Update a reminder by reminder_id. Supports title, description, due_date (YYYY-MM-DD or YYYY-MM-DD HH:MM, e.g. '2025-12-31'), and is_completed.
- Idempotent
Inputs
reminder_idstringrequired- The unique identifier (KSUID) of the reminder to update.
descriptionstring- New description for the reminder.
due_datestring- New due date in YYYY-MM-DD format or date-time in YYYY-MM-DD HH:MM format (e.g., '2025-12-31' or '2025-12-31 14:30'). Uses your user timezone.
is_completedboolean- Set to true to mark the reminder as completed, false to mark as incomplete.
titlestring- New title for the reminder.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_update_taskUpdate task properties.WriteUpdate Task
Update task properties. Requires task_id and at least one field to change. Supports assignees (user IDs, emails, usernames, or "me"), custom fields as [{id, value}], and task_type by name (or 'none' to reset).
- Idempotent
Inputs
task_idstringrequired- Task ID (supports custom IDs like 'DEV-1234')
assigneesarray- Array of assignee user IDs. Use clickup_resolve_assignees to convert emails, usernames, or "me" to user IDs if needed.
custom_fieldsarray- Array of custom field values to set on the task. Each object must have an 'id' and 'value' property.
due_datestring- YYYY-MM-DD or YYYY-MM-DD HH:MM format. Pass 'none' to clear. Omit to leave unchanged.
markdown_descriptionstring- Task description in markdown format.
namestring- New task name.
prioritystring- Set priority, or 'none' to clear. Omit to leave unchanged.one of
urgenthighnormallownone start_datestring- YYYY-MM-DD or YYYY-MM-DD HH:MM format. Pass 'none' to clear. Omit to leave unchanged.
statusstring- New status (must be valid for the task's list).
task_typestring- To change the task type, pass the type name as a string (e.g., 'Bug', 'Feature', 'Milestone'). The type must exist in the workspace. To revert to the default 'Task' type, pass 'none'. Omit entirely to leave unchanged.
time_estimatestring- Time estimate in minutes (e.g., '150' for 2h 30m).
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_delete_commentDelete a comment by comment_id.DestructiveDelete Comment
Delete a comment by comment_id. This cannot be undone. Use clickup_get_task_comments or clickup_get_threaded_comments to find the comment ID.
- Idempotent
Inputs
comment_idstringrequired- ID of the comment to delete. Use clickup_get_task_comments or clickup_get_threaded_comments to find the comment ID.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_delete_taskDelete a task by task_id (supports custom IDs like 'DEV-1234').DestructiveDelete Task
Delete a task by task_id (supports custom IDs like 'DEV-1234'). Always confirm the task_id with the user before deleting.
- Idempotent
Inputs
task_idstringrequired- Task ID to delete (supports custom IDs like 'DEV-1234')
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_merge_documentMerge one ClickUp document into another.DestructiveMergeDocument
Merge one ClickUp document into another. The source document's pages are folded into the target document, then the SOURCE document is permanently DELETED — this is destructive and cannot be undone. `target_doc_id` survives; `source_doc_id` is consumed.
Inputs
source_doc_idstringrequired- ID of the source document whose pages are folded into the target. The source document is DELETED after the merge — this cannot be undone.
target_doc_idstringrequired- ID of the target document that survives the merge and receives the source's pages (e.g. 'ad-909705'). In ClickUp doc URLs, the document_id is the first ID after /docs/ or /v/dc/.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_merge_document_pageMerge one document page into another.DestructiveMergeDocumentPage
Merge one document page into another. The source page's content is appended to the target page and its child pages are reparented under the target, then the SOURCE page is permanently DELETED — this is destructive and cannot be undone. By default the source page is taken from the same document as the target; set source_doc_id to merge a page from a different document in the same workspace.
Inputs
source_page_idstringrequired- ID of the source page to merge into the target. Its content is appended to the target and its child pages are reparented, then it is DELETED — this cannot be undone.
target_doc_idstringrequired- ID of the document containing the target page (e.g. 'ad-909705'). In ClickUp doc URLs, the document_id is the first ID after /docs/ or /v/dc/.
target_page_idstringrequired- ID of the target page that survives and receives the source page's content (e.g. 'ad-2675877').
source_doc_idstring- ID of the document the source page lives in. Defaults to target_doc_id. Set this to merge a page from a different document in the same workspace.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_merge_tasksMerge one or more source tasks into a target task.DestructiveMerge Tasks
Merge one or more source tasks into a target task. The target task survives and absorbs content from the source tasks, which are consumed. Destination field values take precedence on conflicts. Works with both regular task IDs and custom IDs (like 'DEV-1234').
Inputs
source_task_idsarrayrequired- Array of task IDs to merge into the target task. These tasks will be consumed/deleted after merging. Works with both regular task IDs and custom IDs (like 'DEV-1234').
task_idstringrequired- ID of the target/destination task that will survive the merge. Source tasks will be merged into this task. Works with both regular task IDs and custom IDs (like 'DEV-1234').
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_remove_tag_from_taskRemove tag from task.DestructiveRemove Tag From Task
Remove tag from task. Only removes tag-task association, tag remains in space.
- Idempotent
Inputs
tag_namestringrequired- Name of the tag to remove from the task.
task_idstringrequired- ID of task. Works with both regular task IDs and custom IDs (like 'DEV-1234'). Use clickup_search to find task ID by name if needed.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_remove_task_dependencyRemove a dependency between two tasks.DestructiveRemove Task Dependency
Remove a dependency between two tasks.
- Idempotent
Inputs
depends_onstringrequired- ID of the task that was in the dependency relationship. Works with both regular task IDs and custom IDs (like 'DEV-1234').
task_idstringrequired- ID of the task to remove the dependency from. Works with both regular task IDs and custom IDs (like 'DEV-1234'). Use clickup_search to find task ID by name if needed.
typestringrequired- Type of dependency to remove: 'waiting_on' or 'blocking'.one of
waiting_onblocking workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_remove_task_from_listRemove a task from an additional list (cannot remove from home list).DestructiveRemove Task From List
Remove a task from an additional list (cannot remove from home list). Requires the Tasks in Multiple Lists ClickApp to be enabled.
- Idempotent
Inputs
list_idstringrequired- ID of the additional list to remove the task from. Use clickup_get_list to find the list ID from a list name if needed.
task_idstringrequired- ID of the task to remove from the additional list. Works with regular and custom IDs (like 'DEV-1234'). Note: a task cannot be removed from its home list.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
clickupmcp_clickup_remove_task_linkRemove a link between two tasks.DestructiveRemove Task Link
Remove a link between two tasks.
- Idempotent
Inputs
links_tostringrequired- ID of the task that was linked to. Works with both regular task IDs and custom IDs (like 'DEV-1234').
task_idstringrequired- ID of the task to remove the link from. Works with both regular task IDs and custom IDs (like 'DEV-1234'). Use clickup_search to find task ID by name if needed.
workspace_idstring- Workspace ID (digits only). Only needed when you have multiple workspaces.
No tools match.