CCM
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Claude Code Marketplaces

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Skill index
  • MCP index
  • Marketplace index
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by mertbuilds.com

Independent project, not affiliated with Anthropic
cvrt-jh avatar

Clickup Mcp

cvrt-jh/clickup-mcp
351 toolsauthSTDIOregistry active
Summary

Connects Claude to the ClickUp v2 API with 37 tools spanning task CRUD, checklists, dependencies, comments, tags, and workspace navigation. The headline feature is aggressive response slimming: API responses that normally return 3,500+ characters get trimmed to under 200 by stripping feature flags, permission blobs, profile pictures, and other metadata that LLMs don't need. You get 95-97% token reductions on most operations. Reach for this when you're building task management workflows in Claude and want to avoid burning context window on verbose JSON. Requires a ClickUp Personal API Token and runs over stdio via npx.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →

Tools

Public tool metadata for what this MCP can expose to an agent.

51 tools
clickup_searchUniversal search across your entire ClickUp workspace. This is a powerful global search tool that finds ANY type of content - tasks, documents, dashboards, attachments, whiteboards, chat messages, and forms. Use this tool when: - You need to find something but don't know exact...6 params

Universal search across your entire ClickUp workspace. This is a powerful global search tool that finds ANY type of content - tasks, documents, dashboards, attachments, whiteboards, chat messages, and forms. Use this tool when: - You need to find something but don't know exact...

Parameters* required
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_workspace_hierarchyGet workspace hierarchy (spaces, folders, lists) from your authenticated workspace with pagination support. Workspace ID is automatically detected from your session. Returns tree structure with names and IDs for navigation. Supports pagination for large workspaces and depth co...5 params

Get workspace hierarchy (spaces, folders, lists) from your authenticated workspace with pagination support. Workspace ID is automatically detected from your session. Returns tree structure with names and IDs for navigation. Supports pagination for large workspaces and depth co...

Parameters* required
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_depthnumber
Maximum depth of hierarchy to return: 0=spaces only, 1=spaces+folders, 2=spaces+folders+lists (default: 2)one of 0 · 1 · 2
space_idsarray
Filter to return only specific spaces by ID.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_create_taskCreate task in a ClickUp list. Requires task name and list_id. ALWAYS ask user which list to use - never guess. Use clickup_get_list to resolve list names to IDs. Supports assignees as array of user IDs, emails, usernames, or "me". Supports task_type to specify the task type b...15 params

Create task in a ClickUp list. Requires task name and list_id. ALWAYS ask user which list to use - never guess. Use clickup_get_list to resolve list names to IDs. Supports assignees as array of user IDs, emails, usernames, or "me". Supports task_type to specify the task type b...

Parameters* required
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.
descriptionstring
Plain text description for the task.
due_datestring
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')
list_idstring
ID of the list where the task should be created. Use clickup_get_list to find the list ID from a list name if needed.
markdown_descriptionstring
Markdown formatted description for the task. If provided, this takes precedence over description.
namestring
Task name. Ask the user what they want to name the task.
parentstring
ID of the parent task. When specified, this task will be created as a subtask of the specified parent task.
prioritystring
Task priority: 'urgent', 'high', 'normal', or 'low'. If not provided, task will have no priority assigned.one of urgent · high · normal · low
start_datestring
Start 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')
statusstring
Override the default ClickUp status. In most cases, omit this to use ClickUp defaults.
tagsarray
Array of tag names to assign to the task. The tags 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.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_taskGet task details by task_id (works with regular/custom IDs). Set subtasks=true to include all subtask details. Response Size Optimization: - Use detail_level='summary' for lightweight responses when full details aren't needed - Responses exceeding 50,000 tokens automatically s...4 params

Get task details by task_id (works with regular/custom IDs). Set subtasks=true to include all subtask details. Response Size Optimization: - Use detail_level='summary' for lightweight responses when full details aren't needed - Responses exceeding 50,000 tokens automatically s...

Parameters* required
detail_levelstring
Level of detail to return. Use 'summary' for lightweight responses or 'detailed' for full task data. Defaults to 'detailed' but automatically switches to 'summary' if response would be too large.one of summary · detailed
subtasksboolean
Whether to include subtasks in the response. Set to true to retrieve full details of all subtasks.
task_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_filter_tasksRetrieve tasks with combined filters. Supports filtering by tags, lists, folders, spaces, statuses, assignees, due date range, and completion date range. Within each filter type, multiple values use OR logic (e.g., tags: ["bug", "feature"] returns tasks with either tag). Acros...16 params

Retrieve tasks with combined filters. Supports filtering by tags, lists, folders, spaces, statuses, assignees, due date range, and completion date range. Within each filter type, multiple values use OR logic (e.g., tags: ["bug", "feature"] returns tasks with either tag). Acros...

Parameters* required
assigneesarray
Filter by assignee user IDs. Multiple IDs use OR logic. Use clickup_resolve_assignees to convert names/emails/"me" first.
date_done_fromstring
Filter tasks completed on or after. Format: YYYY-MM-DD
date_done_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 id · created · updated · due_date
pagenumber
Page number for pagination (0-indexed)
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_update_taskUpdate task properties. Requires task_id and at least one update field. Custom fields supported as array of {id, value}. Supports assignees as array of user IDs, emails, usernames, or "me". Supports task_type to change the task type by name (e.g., 'Bug', 'Feature'), or null to...13 params

Update task properties. Requires task_id and at least one update field. Custom fields supported as array of {id, value}. Supports assignees as array of user IDs, emails, usernames, or "me". Supports task_type to change the task type by name (e.g., 'Bug', 'Feature'), or null to...

Parameters* required
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.
descriptionstring
New plain text description. Will be ignored if markdown_description is provided.
due_datevalue
To set a due date, you MUST pass the date as a string value in YYYY-MM-DD format (e.g., '2025-12-31') or YYYY-MM-DD HH:MM format (e.g., '2025-12-31 14:30'). IMPORTANT: Always pass the actual date s...
markdown_descriptionstring
New markdown description. Takes precedence over plain text description.
namestring
New name for the task.
priorityvalue
To set a priority, you MUST pass one of: 'urgent', 'high', 'normal', 'low'. IMPORTANT: Always pass the actual priority value, never null, when setting priority. Only pass null if you explicitly wan...
start_datevalue
To set a start date, you MUST pass the date as a string value in YYYY-MM-DD format (e.g., '2025-01-01') or YYYY-MM-DD HH:MM format (e.g., '2025-01-01 09:00'). IMPORTANT: Always pass the actual date...
statusstring
New status. Must be valid for the task's current list.
task_idstring
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.
task_typestring
To change the task type, you MUST pass the type name as a string (e.g., 'Bug', 'Feature', 'Milestone'). The type must exist in the workspace. IMPORTANT: Always pass the actual type name, never null...
time_estimatestring
Time estimate for the task. For best compatibility with the ClickUp API, use a numeric value in minutes (e.g., '150' for 2h 30m)
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_delete_taskDelete a task from your Workspace by task_id. Works with regular and custom IDs (e.g. 'DEV-1234'). IMPORTANT: before running this tool, ALWAYS confirm with the user the correct task_id to delete.2 params

Delete a task from your Workspace by task_id. Works with regular and custom IDs (e.g. 'DEV-1234'). IMPORTANT: before running this tool, ALWAYS confirm with the user the correct task_id to delete.

Parameters* required
task_idstring
ID of task to delete. 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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_move_taskMove a task to a new home list. The task is removed from its current home list and placed in the destination list. Requires task_id and list_id. Works with regular and custom task IDs (e.g. 'DEV-1234'). Use clickup_get_list to resolve list names to IDs.3 params

Move a task to a new home list. The task is removed from its current home list and placed in the destination list. Requires task_id and list_id. Works with regular and custom task IDs (e.g. 'DEV-1234'). Use clickup_get_list to resolve list names to IDs.

Parameters* required
list_idstring
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_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_add_task_to_listAdd a task to an additional list without removing it from its current home list. Requires the Tasks in Multiple Lists ClickApp to be enabled. Requires task_id and list_id. Use clickup_get_list to resolve list names to IDs.3 params

Add a task to an additional list without removing it from its current home list. Requires the Tasks in Multiple Lists ClickApp to be enabled. Requires task_id and list_id. Use clickup_get_list to resolve list names to IDs.

Parameters* required
list_idstring
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_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_remove_task_from_listRemove a task from an additional list. The task remains in its home list and any other lists it belongs to. Cannot remove a task from its home list. Requires the Tasks in Multiple Lists ClickApp to be enabled. Requires task_id and list_id.3 params

Remove a task from an additional list. The task remains in its home list and any other lists it belongs to. Cannot remove a task from its home list. Requires the Tasks in Multiple Lists ClickApp to be enabled. Requires task_id and list_id.

Parameters* required
list_idstring
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_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_task_commentsGet task comments. Each comment includes reply_count indicating the number of threaded replies. Use clickup_get_threaded_comments to fetch replies for comments with reply_count > 0. Use start/start_id params for pagination.4 params

Get task comments. Each comment includes reply_count indicating the number of threaded replies. Use clickup_get_threaded_comments to fetch replies for comments with reply_count > 0. Use start/start_id params for pagination.

Parameters* required
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.
task_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_create_task_commentCreate task comment. Requires task_id and comment_text. Supports notify_all to alert assignees and assignee to assign the comment.5 params

Create task comment. Requires task_id and comment_text. Supports notify_all to alert assignees and assignee to assign the comment.

Parameters* required
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
Text content of the comment to create.
notify_allboolean
Whether to notify all assignees. Default is false.
task_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_threaded_commentsGet threaded replies for a comment. Use clickup_get_task_comments first to find comments with reply_count > 0, then use this tool with the comment_id to fetch the thread replies.2 params

Get threaded replies for a comment. Use clickup_get_task_comments first to find comments with reply_count > 0, then use this tool with the comment_id to fetch the thread replies.

Parameters* required
comment_idstring
ID of the parent comment to get threaded replies for.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_attach_task_fileAttach file to task. Requires task_id. File sources: 1) base64 + filename, 2) URL (http/https).6 params

Attach file to task. Requires task_id. File sources: 1) base64 + filename, 2) URL (http/https).

Parameters* required
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://).
task_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_task_time_entriesGet all time entries for a task with filtering options. Returns all tracked time with user info, descriptions, tags, start/end times, and durations.5 params

Get all time entries for a task with filtering options. Returns all tracked time with user info, descriptions, tags, start/end times, and durations.

Parameters* required
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 to get only billable time entries, false for non-billable entries. Omit to get all entries regardless of billable status.
start_datestring
Start date in YYYY-MM-DD format or date-time in YYYY-MM-DD HH:MM format
task_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_start_time_trackingStart 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.5 params

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.

Parameters* required
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.
task_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_stop_time_trackingStop the currently running time tracker. Supports description and tags. Returns the completed time entry details.3 params

Stop the currently running time tracker. Supports description and tags. Returns the completed time entry details.

Parameters* required
descriptionstring
Description to update or add to the time entry.
tagsarray
Array of tag names to assign to the time entry.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_add_time_entryAdd 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.8 params

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.

Parameters* required
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.
startstring
Start time in YYYY-MM-DD HH:MM format (e.g., '2025-01-15 09:30'). Time is required for time tracking entries.
tagsarray
Array of tag names to assign to the time entry.
task_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_current_time_entryGet the currently running time entry, if any. No parameters needed.1 params

Get the currently running time entry, if any. No parameters needed.

Parameters* required
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_time_entriesGet time entries across all tasks within a date range for reporting purposes. Unlike get_task_time_entries which requires a task_id, this tool queries the entire workspace and is ideal for generating time tracking reports (e.g., 'how much time was tracked last month', 'billabl...5 params

Get time entries across all tasks within a date range for reporting purposes. Unlike get_task_time_entries which requires a task_id, this tool queries the entire workspace and is ideal for generating time tracking reports (e.g., 'how much time was tracked last month', 'billabl...

Parameters* required
assignee_idnumber
User ID to filter time entries by assignee. Use clickup_resolve_assignees to convert email, username, or 'me' to user ID if needed.
end_datestring
End date for the reporting period in YYYY-MM-DD or YYYY-MM-DD HH:MM format (e.g., '2025-01-31' or '2025-01-31 17:00')
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 for the reporting period in YYYY-MM-DD or YYYY-MM-DD HH:MM format (e.g., '2025-01-01' or '2025-01-01 09:00')
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_task_time_in_statusGet 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.2 params

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.

Parameters* required
task_idstring
The ID of the task (supports both regular and custom task IDs)
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_bulk_tasks_time_in_statusGet 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.2 params

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.

Parameters* required
task_idsarray
Array of task IDs to get time in status for (1-100 tasks)
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_create_listCreate a list in a ClickUp space efficiently. The system automatically detects workspace ID and resolves space names. Use space_name (preferred for simplicity) or space_id + list name. Name is required. For lists in folders, use clickup_create_list_in_folder. Supports content,...9 params

Create a list in a ClickUp space efficiently. The system automatically detects workspace ID and resolves space names. Use space_name (preferred for simplicity) or space_id + list name. Name is required. For lists in folders, use clickup_create_list_in_folder. Supports content,...

Parameters* required
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
namestring
Name of the list.
prioritystring
Priority value: 'urgent', 'high', 'normal', or 'low'.one of urgent · high · normal · low
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_create_list_in_folderCreate 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.5 params

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.

Parameters* required
contentstring
Description or content of the list.
folder_idstring
ID of the folder to create the list in.
namestring
Name of the list.
statusstring
Status of the list (uses folder default if not specified).
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_listGet details of a ClickUp list by ID or name. Use this tool to lookup a list ID from a list name before calling other list operations. Returns list details including id, name, content, and space info. Accepts either list_id or list_name.3 params

Get details of a ClickUp list by ID or name. Use this tool to lookup a list ID from a list name before calling other list operations. Returns list details including id, name, content, and space info. Accepts either list_id or list_name.

Parameters* required
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_update_listUpdate 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.5 params

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.

Parameters* required
contentstring
New description or content for the list.
list_idstring
ID of the list to update.
namestring
New name for the list.
statusstring
New status for the list.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_create_folderCreate 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.5 params

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.

Parameters* required
namestring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_folderGet details of a ClickUp folder by ID or name. Use this tool to lookup a folder ID from a folder name before calling other folder operations. Returns folder details including id, name, and space info. Accepts either folder_id or folder_name + space info.5 params

Get details of a ClickUp folder by ID or name. Use this tool to lookup a folder ID from a folder name before calling other folder operations. Returns folder details including id, name, and space info. Accepts either folder_id or folder_name + space info.

Parameters* required
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_update_folderUpdate 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.4 params

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.

Parameters* required
folder_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_add_tag_to_taskAdd existing tag to task. Tag must exist in space. Note: Will fail if tag doesn't exist.3 params

Add existing tag to task. Tag must exist in space. Note: Will fail if tag doesn't exist.

Parameters* required
tag_namestring
Name of the tag to add to the task. The tag must already exist in the space.
task_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_remove_tag_from_taskRemove tag from task. Only removes tag-task association, tag remains in space.3 params

Remove tag from task. Only removes tag-task association, tag remains in space.

Parameters* required
tag_namestring
Name of the tag to remove from the task.
task_idstring
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_add_task_dependencySet a dependency between two tasks. Use 'waiting_on' when task_id cannot start until depends_on is done, or 'blocking' when task_id is blocking depends_on.4 params

Set a dependency between two tasks. Use 'waiting_on' when task_id cannot start until depends_on is done, or 'blocking' when task_id is blocking depends_on.

Parameters* required
depends_onstring
ID of the task that task_id depends on or is blocking. Works with regular and custom IDs.
task_idstring
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.
typestring
Type of dependency to add: 'waiting_on' or 'blocking'.one of waiting_on · blocking
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_remove_task_dependencyRemove a dependency between two tasks.4 params

Remove a dependency between two tasks.

Parameters* required
depends_onstring
ID of the task that was in the dependency relationship.
task_idstring
ID of the task to remove the dependency from.
typestring
Type of dependency to remove: 'waiting_on' or 'blocking'.one of waiting_on · blocking
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_add_task_linkLink two tasks together. Creates a bidirectional relationship between the tasks.3 params

Link two tasks together. Creates a bidirectional relationship between the tasks.

Parameters* required
links_tostring
ID of the task to link to. Works with regular and custom IDs.
task_idstring
ID of the task to link from. Works with regular and custom IDs (like 'DEV-1234').
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_remove_task_linkRemove a link between two tasks.3 params

Remove a link between two tasks.

Parameters* required
links_tostring
ID of the task that was linked to.
task_idstring
ID of the task to remove the link from.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_workspace_membersGet all members (users) in the ClickUp workspace/team from your authenticated workspace. No parameters needed - workspace ID is automatically detected. Note: Most tools automatically resolve assignees by name or email without needing this lookup first. Use this ONLY when you n...1 params

Get all members (users) in the ClickUp workspace/team from your authenticated workspace. No parameters needed - workspace ID is automatically detected. Note: Most tools automatically resolve assignees by name or email without needing this lookup first. Use this ONLY when you n...

Parameters* required
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_find_member_by_nameGet a member in the ClickUp workspace by name or email. Returns the member object if found, or null if not found.2 params

Get a member in the ClickUp workspace by name or email. Returns the member object if found, or null if not found.

Parameters* required
name_or_emailstring
The name or email of the member to find.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_resolve_assigneesResolve an array of assignee names, emails, or "me" to ClickUp user IDs. Use "me" to get the currently authenticated user's ID. Returns an array of user IDs, or null for any that cannot be resolved. Note: Most task tools automatically resolve assignees - use this only when you...2 params

Resolve an array of assignee names, emails, or "me" to ClickUp user IDs. Use "me" to get the currently authenticated user's ID. Returns an array of user IDs, or null for any that cannot be resolved. Note: Most task tools automatically resolve assignees - use this only when you...

Parameters* required
assigneesarray
Array of assignee names, emails, or "me" to resolve. Use "me" to refer to the currently authenticated user.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_chat_channelsGet chat channels in a workspace. Allows you to see available chat channels including their members, privacy settings, and creation details. Supports pagination using the cursor parameter.3 params

Get chat channels in a workspace. Allows you to see available chat channels including their members, privacy settings, and creation details. Supports pagination using the cursor parameter.

Parameters* required
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_send_chat_messageSend a message to a specific chat channel in the workspace. Messages can be either simple messages or posts with additional metadata.10 params

Send a message to a specific chat channel in the workspace. Messages can be either simple messages or posts with additional metadata.

Parameters* required
assigneestring
User ID to assign the message to. Use clickup_resolve_assignees to convert email, username, or "me" to user ID if needed.
channel_idstring
ID of the chat channel to send the message to.
contentstring
Message content to send (supports markdown).
content_formatstring
Format of the message content.one of text/md · text/plaindefault: text/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.
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 message · postdefault: message
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_chat_channel_messagesGet messages for a chat channel. Messages where has_replies=true have threaded replies fetchable via clickup_get_chat_message_replies. If you don't have the channel_id, use clickup_get_chat_channels first. Supports pagination.4 params

Get messages for a chat channel. Messages where has_replies=true have threaded replies fetchable via clickup_get_chat_message_replies. If you don't have the channel_id, use clickup_get_chat_channels first. Supports pagination.

Parameters* required
channel_idstring
ID of the chat channel to get messages from.
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_chat_message_repliesGet threaded replies for a chat message. Only messages where has_replies=true have replies. If you don't have the message_id, use clickup_get_chat_channel_messages first. Supports pagination.4 params

Get threaded replies for a chat message. Only messages where has_replies=true have replies. If you don't have the message_id, use clickup_get_chat_channel_messages first. Supports pagination.

Parameters* required
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
message_idstring
ID of the chat message to get replies from.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_create_reminderCreate 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).4 params

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).

Parameters* required
descriptionstring
Optional description with additional details for the reminder.
due_datestring
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.
titlestring
Title for the reminder. Ask the user what they want to be reminded about.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_search_remindersSearch and list reminders in your ClickUp workspace. Returns reminders for the authenticated user with various filtering options. Use this tool when you need to: - Find all your upcoming or overdue reminders - Check reminder status and due dates - Filter reminders by type (ASS...8 params

Search and list reminders in your ClickUp workspace. Returns reminders for the authenticated user with various filtering options. Use this tool when you need to: - Find all your upcoming or overdue reminders - Check reminder status and due dates - Filter reminders by type (ASS...

Parameters* required
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 TODO · LATER · DELETED
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_COMMENT · UNANSWERED_MENTION · APPROVAL · SAVED · REMINDER
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_update_reminderUpdate an existing reminder in your ClickUp workspace. Requires the reminder_id. All other fields are optional - only provide the fields you want to update. Use this tool to: - Change the title or description of a reminder - Update the due date (in YYYY-MM-DD or YYYY-MM-DD HH:...6 params

Update an existing reminder in your ClickUp workspace. Requires the reminder_id. All other fields are optional - only provide the fields you want to update. Use this tool to: - Change the title or description of a reminder - Update the due date (in YYYY-MM-DD or YYYY-MM-DD HH:...

Parameters* required
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.
reminder_idstring
The unique identifier (KSUID) of the reminder to update.
titlestring
New title for the reminder.
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_custom_fieldsGet 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.5 params

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.

Parameters* required
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
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_create_documentCreate a document in a ClickUp space, folder, or list. Requires name, parent info, visibility and create_page flag.5 params

Create a document in a ClickUp space, folder, or list. Requires name, parent info, visibility and create_page flag.

Parameters* required
create_pageboolean
Whether to create an initial blank page
namestring
Name and Title of the document
parentobject
Parent container information
visibilitystring
Document visibility settingone of PUBLIC · PRIVATE · PERSONAL · HIDDEN
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_list_document_pagesGet all pages in a document with optional depth control.3 params

Get all pages in a document with optional depth control.

Parameters* required
document_idstring
ID of the document to list pages from
max_page_depthnumber
Maximum depth of pages to retrieve (-1 for unlimited)
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_get_document_pagesGet the content of specific pages from a document.4 params

Get the content of specific pages from a document.

Parameters* required
content_formatstring
Format of the content to retrieveone of text/md · text/html
document_idstring
ID of the document to get pages from
page_idsarray
Array of page IDs to retrieve
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_create_document_pageCreate a new page in a ClickUp document.7 params

Create a new page in a ClickUp document.

Parameters* required
contentstring
Content of the page
content_formatstring
The format of the page contentone of text/md · text/plaindefault: text/md
document_idstring
ID of the document to create the page in
namestring
Name and title of the page
parent_page_idstring
ID of the parent page (if this is a sub-page)
sub_titlestring
Subtitle of the page
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...
clickup_update_document_pageUpdate an existing page in a ClickUp document. WARNING: When content is provided, it fully REPLACES the existing page content. To preserve existing content, first read the page, then include the original content along with your changes.7 params

Update an existing page in a ClickUp document. WARNING: When content is provided, it fully REPLACES the existing page content. To preserve existing content, first read the page, then include the original content along with your changes.

Parameters* required
contentstring
New content that will REPLACE the entire existing page content
content_formatstring
The format of the page contentone of text/md · text/plaindefault: text/md
document_idstring
ID of the document containing the page
namestring
New name for the page
page_idstring
ID of the page to update
sub_titlestring
New subtitle for the page
workspace_idstring
The unique identifier for the ClickUp workspace. When not provided, this will be automatically populated with your authenticated workspace ID. Only provide this parameter to override the detected w...

clickup-mcp

npm version License: MIT MCP SDK

Lightweight ClickUp MCP server focused on task management. 39 tools with token-optimized responses - API responses automatically slimmed from thousands of characters to essentials.

Why This Server?

ClickUp's API returns extremely verbose JSON. This server strips it down:

ResponseBeforeAfterReduction
clickup_whoami~3,500 chars~160 chars95%
clickup_create_comment~1,500 chars~38 chars97%

Less tokens = faster responses, lower costs, more context for your AI.

Installation

npm install -g @cavort-it-systems/clickup-mcp

Or run directly:

npx @cavort-it-systems/clickup-mcp

Configuration

Claude Code CLI

claude mcp add clickup -e CLICKUP_API_TOKEN=your-token -- npx @cavort-it-systems/clickup-mcp

Claude Desktop / Manual

Add to your MCP config (~/.claude.json or Claude Desktop settings):

{
  "mcpServers": {
    "clickup": {
      "command": "npx",
      "args": ["@cavort-it-systems/clickup-mcp"],
      "env": {
        "CLICKUP_API_TOKEN": "your-token"
      }
    }
  }
}

From Source

git clone https://github.com/cvrt-jh/clickup-mcp.git
cd clickup-mcp
npm install && npm run build

Then configure with the built path:

claude mcp add clickup -e CLICKUP_API_TOKEN=your-token -- node /path/to/clickup-mcp/build/index.js

Get Your API Token

  1. Go to ClickUp Settings > Apps
  2. Generate a Personal API Token
  3. Set as CLICKUP_API_TOKEN

Response Slimming

All responses are automatically trimmed to save tokens. The ClickUp API returns extremely verbose JSON - this server strips it down to what matters.

clickup_whoami - from ~3,500 chars to ~160:

// Before (ClickUp API raw)
{"user":{"id":12345678,"username":"Jane Doe","email":"jane@example.com","color":"#0388d1",
"profilePicture":"https://attachments.clickup.com/...","initials":"JD",
"week_start_day":1,"global_font_support":true,"timezone":"Europe/Berlin"},
"teams":{"teams":[{"id":"99999999","name":"My Workspace","color":"#40BC86",
"avatar":"https://attachments2.clickup.com/...?Expires=...&Key-Pair-Id=...&Signature=...",
"members":[{"user":{"id":11111111,"username":"Bob Smith","email":"bob@example.com",
"color":"#aa2fff","profilePicture":null,"initials":"BS","role":4,"role_subtype":2,
"role_key":"guest","custom_role":null,"last_active":"...","date_joined":"...",
"date_invited":"..."},"invited_by":{"id":22222222,...},
"can_see_time_spent":true,...}, ...]}]}}

// After (slimmed)
{"id":12345678,"username":"Jane Doe","email":"jane@example.com",
"timezone":"Europe/Berlin","workspaces":[{"id":"99999999",
"name":"My Workspace","member_count":4}]}

clickup_create_comment - from ~1,500 chars to 38:

// Before
{"id":90150191300876,"hist_id":"...","date":1770053982842,
"version":{"object_type":"comment","object_id":"...","workspace_id":99999999,
"operation":"c","data":{"context":{"root_parent_type":1,"is_chat":false,
"audit_context":{"userid":12345678,"current_time":...,"route":"*"},...},...},...}}

// After
{"id":90150191300876,"date":1770053982842}

What gets stripped:

FieldWhereWhy
features{}spaces~50 lines of boolean flags per space
sharing{}, permission_leveltasksInternal access config, not useful
watchers[]tasksUsually same as assignees
Full user objectseverywhereReduced to {id, username, email}
profilePicture, initials, colorusersVisual metadata, not useful for LLMs
version{} blobscomment/reply createsInternal versioning data
invited_by, profileInfomembersInvitation metadata
Pretty-print JSONall responsesCompact single-line output
Empty arraystaskschecklists, dependencies, custom_fields omitted when empty

Tools (37)

Navigation (7)

  • clickup_whoami - Current user + workspaces
  • clickup_get_spaces - Spaces in workspace
  • clickup_get_folders - Folders in space
  • clickup_get_lists - Lists in folder or space
  • clickup_get_list - Single list details
  • clickup_create_list - Create list in folder or space
  • clickup_delete_list - Delete a list (permanent)

Task CRUD (5)

  • clickup_get_task - Get task by ID
  • clickup_create_task - Create task with all fields
  • clickup_update_task - Update any task field
  • clickup_get_tasks - List tasks in a list
  • clickup_search_tasks - Search tasks across workspace

Custom Fields (1)

  • clickup_set_custom_field - Set custom field value

Tags (6)

  • clickup_get_space_tags - List space tags
  • clickup_create_space_tag - Create tag
  • clickup_edit_space_tag - Edit tag
  • clickup_delete_space_tag - Delete tag
  • clickup_add_tag_to_task - Tag a task
  • clickup_remove_tag_from_task - Untag a task

Checklists (6)

  • clickup_create_checklist - Create checklist
  • clickup_edit_checklist - Edit checklist
  • clickup_delete_checklist - Delete checklist
  • clickup_create_checklist_item - Add item
  • clickup_edit_checklist_item - Edit item
  • clickup_delete_checklist_item - Delete item

Dependencies (4)

  • clickup_add_dependency - Add dependency
  • clickup_delete_dependency - Remove dependency
  • clickup_add_task_link - Link tasks
  • clickup_delete_task_link - Unlink tasks

Comments (5)

  • clickup_create_comment - Add comment
  • clickup_get_comments - Get comments
  • clickup_update_comment - Edit/resolve comment
  • clickup_create_reply - Threaded reply
  • clickup_get_replies - Get replies

Delete Task (1)

  • clickup_delete_task - Delete a task

Multi-List Membership (2)

  • clickup_add_task_to_list - Add a task to an additional list (multi-homing)
  • clickup_remove_task_from_list - Remove a task from an additional list

These do not move a task. The ClickUp v2 API has no move-between-lists endpoint. Verified against the live API 2026-08-12: POST /list/{list}/task/{task} adds a secondary location and leaves the home list unchanged, while a list_id in PUT /task/{id} returns HTTP 200 and is silently ignored. To genuinely move a task and keep its custom ID and history, use the ClickUp web UI (right-click -> Move). Multi-list membership also requires the paid Tasks-in-Multiple-Lists feature.

Workspace Members (2)

  • clickup_get_workspace_members - All workspace members
  • clickup_get_list_members - List-specific members

Architecture

src/
  index.ts          # Entry: McpServer + StdioServerTransport
  client.ts         # ClickUp API v2 fetch wrapper
  types.ts          # Shared Zod schemas + jsonResult helper
  slim.ts           # Response slimming transformers
  tools/
    navigation.ts   # 7 tools
    tasks.ts        # 9 tools (CRUD + custom fields + delete + multi-list)
    tags.ts         # 6 tools
    checklists.ts   # 6 tools
    dependencies.ts # 4 tools
    comments.ts     # 5 tools
    members.ts      # 2 tools

License

MIT

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
ego lite browserego lite browser
ego lite browser
Fastest browser for AI agents to run web automation tasks, always free.
Download Free life-time →
Granola, the best AI meeting recorder
Granola, the best AI meeting recorder
Notes, actions and memory. Without a meeting bot. First month 100% off.
Download for free →
CodeHealth MCP ServerCodeHealth MCP Server
CodeHealth MCP Server
Protect your code quality, stop the AI slop.
Try For Free →
belt - the only tool your agent needs
belt - the only tool your agent needs
belt cli automatically finds the best tools and skills for your agent. image, video, music, tts...
one prompt install →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Agent, connect blockchain
Agent, connect blockchain
Connect your Claude agent to live crypto prices and trading routes via 1inch
Get the MCP →
Block distraction from your iPhone for freeBlock distraction from your iPhone for free
Block distraction from your iPhone for free
Block distracting apps from your iPhone permanently without a 3rd party app. Free and open source.
Block now (100% free) →

Configuration

CLICKUP_API_TOKEN*secret

ClickUp Personal API Token (Settings > Apps)

Categories
Productivity & Office
Registryactive
Package@cavort-it-systems/clickup-mcp
TransportSTDIO
AuthRequired
UpdatedFeb 2, 2026
View on GitHub

More from cvrt-jh

  • Wordpress Mcp2

Related Productivity & Office MCP Servers

View all →
expertvagabond avatar
Raycast

io.github.expertvagabond/raycast

Raycast workflow automation MCP server with 9 tools
3
tlennon-ie avatar
NeuroDock Task Fractionator

io.github.tlennon-ie/neurodock-mcp-task-fractionator

Decompose a vague goal into atomic 5-90 minute tasks and surface the next safe action.
3
mag-cie avatar
Mcp Microsoft Todo

mag-cie/mcp-microsoft-todo

MCP server for Microsoft To Do via Microsoft Graph. MSAL device code flow, no client secret needed.
3
dsbissett avatar
Excel Webview2 Mcp

dsbissett/excel-webview2-mcp

MCP server for Excel add-ins via WebView2 CDP
2
stayce avatar
Shortcut Mcp

io.github.stayce/shortcut-mcp

Shortcut project management. Create, update, search stories and manage workflows.
2
jimdrews avatar
Trello MCP Server

jimdrews/fastmcp-trello

Manage Trello boards, lists, and cards from any MCP-compatible AI assistant
2