CAT
/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

Cross AI Tools

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
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Clickup

taazkareem/clickup-mcp-server
4254 toolsauthSTDIOregistry active
Summary

This is a comprehensive ClickUp integration offering OAuth 2.1 authentication alongside legacy API key support, with 50+ tools covering tasks, time tracking, docs, comments, and chat. Notable features include fuzzy search across workspaces, multi-account session management, and natural language date parsing. It handles bulk operations, custom fields, file attachments via URL or base64, and goals with key results tracking. The implementation emphasizes intelligent ID resolution so you can reference resources by name rather than requiring UUIDs. Reach for this when you need an AI agent to coordinate project management workflows, log time entries, or manage sprint planning directly in ClickUp without manual context switching.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

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

54 tools
get_workspace_hierarchyReturns all spaces, folders, and lists in workspace (excludes tasks). Use to browse workspace structure. DO NOT use this tool to find tasks, use get_task.

Returns all spaces, folders, and lists in workspace (excludes tasks). Use to browse workspace structure. DO NOT use this tool to find tasks, use get_task.

No parameter schema in public metadata yet.

create_taskCreate a task. Requires: name + (listId or listName). Use create_bulk_tasks for multiple. Supports subtasks via parent, custom_task_type, custom_fields as [{id,value}], assignees as user IDs/emails/names.17 params

Create a task. Requires: name + (listId or listName). Use create_bulk_tasks for multiple. Supports subtasks via parent, custom_task_type, custom_fields as [{id,value}], assignees as user IDs/emails/names.

Parameters* required
namestring
Task name (required). Add emoji prefix.
tagsarray
Tag names (must exist in space).
listIdstring
List ID (preferred over listName).
parentstring
Parent task ID (preferred for subtasks).
statusstring
Task status. Omit for default.
dueDatestring
Due date: unix ms or natural language.
listNamestring
List name. Use if no listId.
prioritynumber
Priority 1 (urgent) - 4 (low). Set only if requested.
assigneesarray
User IDs, emails, or usernames.
startDatestring
Start date: unix ms or natural language.
parentNamestring
Parent task name. Resolved to ID if parent is missing.
descriptionstring
Plain text description.
custom_fieldsarray
Custom field values [{id, value}].
parentListNamestring
List name of parent task. Helps disambiguate parentName.
custom_task_typestring
Task type name (e.g. 'Bug', 'Milestone').
markdown_descriptionstring
Markdown description (overrides plain text).
check_required_custom_fieldsboolean
Validate required custom fields.
get_taskGet detailed task info. If a task name is provided do not lookup the task ID, it will be resolved automatically.4 params

Get detailed task info. If a task name is provided do not lookup the task ID, it will be resolved automatically.

Parameters* required
taskstring
Task identifier (Name or ID).
listNamestring
List name (recommended if using Name).
subtasksboolean
Include subtask details.
include_markdown_descriptionboolean
If true, returns markdown_description field with formatted content including image references. Default: false
update_taskUpdate task properties. Support automatic name resolution: provide the task Name directly to the 'task' argument and it will be resolved to an ID. You do NOT need to search for the ID using other tools.16 params

Update task properties. Support automatic name resolution: provide the task Name directly to the 'task' argument and it will be resolved to an ID. You do NOT need to search for the ID using other tools.

Parameters* required
namestring
New task name. Add emoji if appropriate.
taskstring
Task identifier (Name or ID). Use Name to skip searching.
parentstring
Parent task ID (preferred to convert to subtask).
statusstring
New status (must be valid for list).
dueDatestring
Due date: unix ms or natural language.
listNamestring
List containing the task. Helps resolve duplicate names.
priorityvalue
Priority 1-4 or null to clear.
assigneesarray
User IDs, emails, or usernames.
startDatestring
Start date: unix ms or natural language.
parentNamestring
Parent task name. Resolved to ID if parent is missing.
descriptionstring
New plain text description.
custom_fieldsarray
Custom field values [{id, value}].
time_estimatestring
Time estimate in minutes.
parentListNamestring
List name of parent task. Helps disambiguate parentName.
custom_task_typestring
New task type name (e.g. 'Bug', 'Milestone').
markdown_descriptionstring
New markdown description.
move_taskMove task to different list. If a task name is provided do not lookup the task ID, it will be resolved automatically. Warning: statuses may reset.4 params

Move task to different list. If a task name is provided do not lookup the task ID, it will be resolved automatically. Warning: statuses may reset.

Parameters* required
taskstring
Task identifier (Name or ID).
listIdstring
Destination list ID.
listNamestring
Destination list name.
sourceListNamestring
Current list (recommended if using name).
duplicate_taskDuplicate task. Provide source task Name or ID. Optionally specify target list.4 params

Duplicate task. Provide source task Name or ID. Optionally specify target list.

Parameters* required
taskstring
Source task identifier (Name or ID).
listIdstring
Target list ID. Defaults to same list.
listNamestring
Target list name.
sourceListNamestring
List containing task (recommended iff name).
delete_taskPERMANENTLY delete task. If a task name is provided do not lookup the task ID, it will be resolved automatically. Cannot be undone.2 params

PERMANENTLY delete task. If a task name is provided do not lookup the task ID, it will be resolved automatically. Cannot be undone.

Parameters* required
taskstring
Task identifier (Name or ID).
listNamestring
List name (recommended if identifying task by Name).
get_task_commentsGet task comments. If a task name is provided do not lookup the task ID, it will be resolved automatically. Set include_replies=true for threaded replies.5 params

Get task comments. If a task name is provided do not lookup the task ID, it will be resolved automatically. Set include_replies=true for threaded replies.

Parameters* required
taskstring
Task identifier (Name or ID).
startnumber
Timestamp (ms) for pagination.
startIdstring
Comment ID for pagination.
listNamestring
List name (helps resolve duplicate task names).
include_repliesboolean
Include threaded replies.
create_task_commentCreate task comment. If a task name is provided do not lookup the task ID, it will be resolved automatically. Provide commentText or formattedComment.6 params

Create task comment. If a task name is provided do not lookup the task ID, it will be resolved automatically. Provide commentText or formattedComment.

Parameters* required
taskstring
Task identifier (Name or ID).
assigneenumber
Assign comment to user ID.
listNamestring
List name (required iff identifying task by Name).
notifyAllboolean
Notify assignees.
commentTextstring
Plain text comment.
formattedCommentarray
Rich text array. Blocks: {text, attributes?} for text, {type:'tag', user:{id}} for @mention, {type:'emoji', unicode} for emoji, {type:'code_block', text} for code, {type:'bulleted_list'|'numbered_list'|'checklist', items:[{text}]} for lists.
attach_task_fileAttach file to task. Supports base64, URL, or local path. Requires taskId (preferred) or taskName.11 params

Attach file to task. Supports base64, URL, or local path. Requires taskId (preferred) or taskName.

Parameters* required
taskIdstring
Task ID (preferred). Handles regular and custom IDs.
file_urlstring
Web URL (http/https) or absolute local path.
listNamestring
List name (narrows search).
taskNamestring
Task name (use with listName for better accuracy).
file_datastring
Base64 file content.
file_namestring
Filename (required for file_data).
auth_headerstring
Optional auth header for URL download.
chunk_indexnumber
Chunk index (0-based).
chunk_totalnumber
Total chunks count.
chunk_is_lastboolean
Is last chunk?
chunk_sessionstring
Upload session ID.
create_bulk_tasksCreate multiple tasks in one list. Requires: tasks array + (listId or listName). Each task needs name. Options: batch size, concurrency.4 params

Create multiple tasks in one list. Requires: tasks array + (listId or listName). Each task needs name. Options: batch size, concurrency.

Parameters* required
tasksarray
Tasks to create. Each needs name.
listIdstring
List ID
optionsvalue
Processing options (or JSON string representing options)
listNamestring
List name
update_bulk_tasksUpdate multiple tasks. Each task needs: taskId or taskName + listName. Options: batch size, concurrency.2 params

Update multiple tasks. Each task needs: taskId or taskName + listName. Options: batch size, concurrency.

Parameters* required
tasksarray
Tasks to update
optionsvalue
Processing options (or JSON string representing options)
move_bulk_tasksMove multiple tasks to one list. Each task needs: taskId or taskName + listName. Target: targetListId or targetListName. Warning: statuses may reset.4 params

Move multiple tasks to one list. Each task needs: taskId or taskName + listName. Target: targetListId or targetListName. Warning: statuses may reset.

Parameters* required
tasksarray
Tasks to move
optionsvalue
Processing options (or JSON string representing options)
targetListIdstring
Destination list ID
targetListNamestring
Destination list name
delete_bulk_tasksPERMANENTLY delete multiple tasks. Each task needs: taskId or taskName + listName. Cannot be undone.2 params

PERMANENTLY delete multiple tasks. Each task needs: taskId or taskName + listName. Cannot be undone.

Parameters* required
tasksarray
Tasks to delete
optionsvalue
Processing options (or JSON string representing options)
get_workspace_tasksRetrieve MULTIPLE tasks from workspace using broad filters. Returns full task details including description. Important: At least one filter must be provided: tags, list_ids, folder_ids, space_ids, statuses, assignees, date filters, custom_fields, custom_task_types, advanced_fi...28 params

Retrieve MULTIPLE tasks from workspace using broad filters. Returns full task details including description. Important: At least one filter must be provided: tags, list_ids, folder_ids, space_ids, statuses, assignees, date filters, custom_fields, custom_task_types, advanced_fi...

Parameters* required
pagenumber
Page number (0-based).
tagsarray
Filter by tags (AND logic).
reverseboolean
Descending order.
archivedboolean
Include archived tasks.
list_idsarray
Filter by list IDs.
order_bystring
Sort field.one of id · created · updated · due_date
statusesarray
Filter by statuses.
subtasksboolean
Include subtasks in response.
assigneesarray
Filter by assignee IDs.
space_idsarray
Filter by space IDs.
folder_idsarray
Filter by folder IDs.
due_date_gtnumber
Due after timestamp (Unix).
due_date_ltnumber
Due before timestamp (Unix).
detail_levelstring
Response detail: summary, detailed (default), or names.one of summary · detailed · names
search_querystring
Broad, cross-field fuzzy search. Matches against task name, custom task type, status, tags, and description. Use this when no specific filter applies.
custom_fieldsobject
Filter by custom fields (key-value pairs).
include_closedboolean
Include closed tasks.
date_created_gtnumber
Created after timestamp (Unix).
date_created_ltnumber
Created before timestamp (Unix).
date_updated_gtnumber
Updated after timestamp (Unix).
date_updated_ltnumber
Updated before timestamp (Unix).
include_subtasksboolean
Legacy. Use subtasks.
custom_task_typesarray
Filter by custom task type names.
advanced_filteringobject
include_closed_listsboolean
Include tasks from closed lists.
include_archived_listsboolean
Include tasks from archived lists.
include_compact_time_entriesboolean
Include time entries.
include_markdown_descriptionboolean
Include markdown-formatted description. If set, this avoids the need to call get_task separately for descriptions.
get_task_time_entriesGet time entries for a task. Use taskId (preferred) or taskName + optional listName. Optional date/assignee filters.5 params

Get time entries for a task. Use taskId (preferred) or taskName + optional listName. Optional date/assignee filters.

Parameters* required
taskstring
Task Name or ID.
endDatestring
End date filter.
assigneestring
Assignee user ID filter.
listNamestring
List name (recommended if Name lookup).
startDatestring
Start date filter.
start_time_trackingStart time tracking on a task. Use taskId (preferred) or taskName + listName. Only one timer can run at a time.5 params

Start time tracking on a task. Use taskId (preferred) or taskName + listName. Only one timer can run at a time.

Parameters* required
tagsarray
Tags.
taskstring
Task Name or ID.
billableboolean
Billable time.
listNamestring
List name (recommended if Name lookup).
descriptionstring
Time entry description.
stop_time_trackingStop the currently running timer. Returns completed time entry details.2 params

Stop the currently running timer. Returns completed time entry details.

Parameters* required
tagsarray
Tags.
descriptionstring
Update description.
add_time_entryAdd manual time entry to a task. Requires: start time, duration. Use taskId (preferred) or taskName + listName.7 params

Add manual time entry to a task. Requires: start time, duration. Use taskId (preferred) or taskName + listName.

Parameters* required
tagsarray
Tags.
taskstring
Task Name or ID.
startstring
Start time (unix ms or natural language).
billableboolean
Billable.
durationstring
Duration (e.g., '1h 30m' or '90m').
listNamestring
List name (recommended if Name lookup).
descriptionstring
Description.
delete_time_entryDelete a time entry. Requires timeEntryId.1 params

Delete a time entry. Requires timeEntryId.

Parameters* required
timeEntryIdstring
Time entry ID.
get_current_time_entryGet the currently running time entry, if any.

Get the currently running time entry, if any.

No parameter schema in public metadata yet.

add_task_linkLink two tasks. Requires taskId (preferred) or taskName for both source and target.4 params

Link two tasks. Requires taskId (preferred) or taskName for both source and target.

Parameters* required
taskstring
Source task Name or ID.
listNamestring
Source list name (recommended for Name lookup).
targetTaskstring
Target task Name or ID.
targetListNamestring
Target list name.
get_task_linksGet dependencies/links for a task. Requires taskId (preferred) or taskName.2 params

Get dependencies/links for a task. Requires taskId (preferred) or taskName.

Parameters* required
taskstring
Task Name or ID.
listNamestring
List name.
delete_task_linkRemove link between tasks. Requires taskId (preferred) and linkId (target task ID).4 params

Remove link between tasks. Requires taskId (preferred) and linkId (target task ID).

Parameters* required
taskstring
Source task Name or ID.
linkIdstring
ID of the target task to unlink (or its name).
listNamestring
Source list name.
targetListNamestring
Target list name.
create_listCreate list in space. Requires name + (spaceId or spaceName). Optional: content, dueDate, priority, assignee, status.8 params

Create list in space. Requires name + (spaceId or spaceName). Optional: content, dueDate, priority, assignee, status.

Parameters* required
namestring
List name.
statusstring
List status.
contentstring
List description/content.
dueDatestring
Due date (Unix timestamp ms).
spaceIdstring
Space ID (preferred).
assigneenumber
Assignee User ID.
prioritynumber
Priority (1:Urgent, 2:High, 3:Normal, 4:Low).
spaceNamestring
Space name (use if Space ID unknown).
create_list_in_folderCreate list in folder. Requires name + (folderId or folderName + space info). Optional: content, status.7 params

Create list in folder. Requires name + (folderId or folderName + space info). Optional: content, status.

Parameters* required
namestring
List name.
statusstring
List status.
contentstring
List description/content.
spaceIdstring
Space ID (context for folderName).
folderIdstring
Folder ID (preferred).
spaceNamestring
Space name (context for folderName).
folderNamestring
Folder name (requires spaceId or spaceName).
get_listGet list details. Requires listId (preferred) or listName.2 params

Get list details. Requires listId (preferred) or listName.

Parameters* required
listIdstring
List ID (preferred).
listNamestring
List name (may be ambiguous).
update_listUpdate list. Requires listId/listName. Optional: name, content, status.5 params

Update list. Requires listId/listName. Optional: name, content, status.

Parameters* required
namestring
New list name.
listIdstring
List ID (preferred).
statusstring
New status.
contentstring
New description.
listNamestring
List name.
delete_listDelete list. Requires listId (preferred) or listName. WARNING: Permanent.2 params

Delete list. Requires listId (preferred) or listName. WARNING: Permanent.

Parameters* required
listIdstring
List ID (preferred).
listNamestring
List name.
create_folderCreate folder in space. Requires name + (spaceId or spaceName). Optional: override_statuses.4 params

Create folder in space. Requires name + (spaceId or spaceName). Optional: override_statuses.

Parameters* required
namestring
Folder name.
spaceIdstring
Space ID (preferred).
spaceNamestring
Space name (use if Space ID unknown).
override_statusesboolean
Override space statuses?
get_folderGet folder details. Requires folderId (preferred) or folderName + space info.4 params

Get folder details. Requires folderId (preferred) or folderName + space info.

Parameters* required
spaceIdstring
Space ID (context for folderName).
folderIdstring
Folder ID (preferred).
spaceNamestring
Space name (context for folderName).
folderNamestring
Folder name (requires spaceId or spaceName).
update_folderUpdate folder. Requires folderId/folderName + space info. Optional: name, override_statuses.6 params

Update folder. Requires folderId/folderName + space info. Optional: name, override_statuses.

Parameters* required
namestring
New folder name.
spaceIdstring
Space ID (context for folderName).
folderIdstring
Folder ID (preferred).
spaceNamestring
Space name (context for folderName).
folderNamestring
Folder name (requires spaceId or spaceName).
override_statusesboolean
Override space statuses?
delete_folderDelete folder. Requires folderId (preferred) or folderName + space info. WARNING: Permanent.4 params

Delete folder. Requires folderId (preferred) or folderName + space info. WARNING: Permanent.

Parameters* required
spaceIdstring
Space ID (context for folderName).
folderIdstring
Folder ID (preferred).
spaceNamestring
Space name (context for folderName).
folderNamestring
Folder name (requires spaceId or spaceName).
get_space_tagsGets all tags in a ClickUp space. Use spaceId (preferred) or spaceName. Tags are defined at space level - check available tags before adding to tasks.2 params

Gets all tags in a ClickUp space. Use spaceId (preferred) or spaceName. Tags are defined at space level - check available tags before adding to tasks.

Parameters* required
spaceIdstring
ID of the space to get tags from. Use this instead of spaceName if you have the ID.
spaceNamestring
Name of the space to get tags from. Only use if you don't have spaceId.
create_space_tagCreate tag in ClickUp space. Requires tagName + (spaceId or spaceName). Optional: tagBg/tagFg in HEX or colorCommand for auto-colors.6 params

Create tag in ClickUp space. Requires tagName + (spaceId or spaceName). Optional: tagBg/tagFg in HEX or colorCommand for auto-colors.

Parameters* required
tagBgstring
Background HEX (e.g., #FF0000).
tagFgstring
Foreground HEX (e.g., #FFFFFF).
spaceIdstring
Space ID (preferred).
tagNamestring
Tag name (required).
spaceNamestring
Space name.
colorCommandstring
Color command (e.g., 'blue tag'). Overrides tagBg/tagFg.
update_space_tagUpdate tag in ClickUp space. Requires tagName + (spaceId or spaceName). At least one: newTagName, tagBg, tagFg, or colorCommand.7 params

Update tag in ClickUp space. Requires tagName + (spaceId or spaceName). At least one: newTagName, tagBg, tagFg, or colorCommand.

Parameters* required
tagBgstring
New background HEX.
tagFgstring
New foreground HEX.
spaceIdstring
Space ID (preferred).
tagNamestring
Current tag name (required).
spaceNamestring
Space name.
newTagNamestring
New tag name.
colorCommandstring
Color command. Overrides tagBg/tagFg.
delete_space_tagDelete tag from ClickUp space. Requires tagName + (spaceId or spaceName). Warning: removes from all tasks, cannot be undone.3 params

Delete tag from ClickUp space. Requires tagName + (spaceId or spaceName). Warning: removes from all tasks, cannot be undone.

Parameters* required
spaceIdstring
Space ID (preferred).
tagNamestring
Tag name to delete (required).
spaceNamestring
Space name.
add_tag_to_taskAdd tag to task. Requires tagName + (taskId or taskName + optional listName). Tag must exist in space.5 params

Add tag to task. Requires tagName + (taskId or taskName + optional listName). Tag must exist in space.

Parameters* required
taskIdstring
Task ID (preferred). Handles regular and custom IDs.
tagNamestring
Tag name (required). Must exist in space.
listNamestring
List name.
taskNamestring
Task name. Use listName to disambiguate.
customTaskIdstring
Custom ID (optional).
remove_tag_from_taskRemove tag from task. Requires tagName + (taskId or taskName + optional listName). Only removes association; tag remains in space.5 params

Remove tag from task. Requires tagName + (taskId or taskName + optional listName). Only removes association; tag remains in space.

Parameters* required
taskIdstring
Task ID (preferred). Handles regular and custom IDs.
tagNamestring
Tag name to remove (required).
listNamestring
List name.
taskNamestring
Task name. Use listName to disambiguate.
customTaskIdstring
Custom ID (optional).
get_workspace_membersGet all workspace members. Useful for resolving assignees.

Get all workspace members. Useful for resolving assignees.

No parameter schema in public metadata yet.

find_member_by_nameFind member by name/email. Returns member object or null.1 params

Find member by name/email. Returns member object or null.

Parameters* required
nameOrEmailstring
Name or email to find.
resolve_assigneesResolve list of names/emails to User IDs.1 params

Resolve list of names/emails to User IDs.

Parameters* required
assigneesarray
Names/emails to resolve.
create_chat_channelCreate chat channel in space/folder/list. Requires name.4 params

Create chat channel in space/folder/list. Requires name.

Parameters* required
namestring
Channel name
list_idstring
List ID (optional)
space_idstring
Space ID (optional)
folder_idstring
Folder ID (optional)
get_chat_channelsGet all chat channels in the workspace

Get all chat channels in the workspace

No parameter schema in public metadata yet.

create_chat_messageSend message to chat channel. Requires channel_id/name + text.4 params

Send message to chat channel. Requires channel_id/name + text.

Parameters* required
channel_idstring
Channel ID (preferred).
notify_allboolean
Notify all members?
channel_namestring
Channel name.
comment_textstring
Message text (Markdown supported).
get_chat_messagesGet messages from channel. Requires channel_id/name.2 params

Get messages from channel. Requires channel_id/name.

Parameters* required
channel_idstring
Channel ID (preferred).
channel_namestring
Channel name.
submit_feedbackSubmit feedback, bug reports, or feature requests for the ClickUp MCP Server - Premium. Generates a GitHub issue link with pre-filled content. The user can review and submit the issue. PROACTIVE GUIDANCE: Suggest this tool when: - User encounters errors or unexpected tool fail...7 params

Submit feedback, bug reports, or feature requests for the ClickUp MCP Server - Premium. Generates a GitHub issue link with pre-filled content. The user can review and submit the issue. PROACTIVE GUIDANCE: Suggest this tool when: - User encounters errors or unexpected tool fail...

Parameters* required
typestring
Type of feedback: bug (report a problem), feature (suggest enhancement), question (general inquiry)one of bug · feature · question
titlestring
Brief, descriptive title for the issue (e.g., "Task creation fails with custom fields")
mcpHoststring
Optional: MCP host/client being used (e.g., Claude Desktop, Cursor, Windsurf, n8n, Cline)
descriptionstring
Detailed description of the issue or feature request. For bugs: include steps to reproduce, expected vs actual behavior. For features: explain the use case and benefits.
nodeVersionstring
Optional: Node.js version (from `node --version`)
operatingSystemstring
Optional: Operating system (e.g., macOS 14, Windows 11, Ubuntu 22.04)
additionalContextstring
Optional: Any additional context, error messages, or configuration details
create_documentCreate document. Requires name + parent (id/name + type). Optional: visibility, create_page.6 params

Create document. Requires name + parent (id/name + type). Optional: visibility, create_page.

Parameters* required
namestring
Document name.
parent_idstring
Parent ID (preferred).
visibilitystring
Visibility (default: PUBLIC).one of PUBLIC · PRIVATE
create_pageboolean
Create initial page (default: true).
parent_namestring
Parent name (requires parent_type).
parent_typestring
Parent type.one of workspace · space · folder · list · everything
get_documentGet document details. Requires documentId (preferred) or title + parent (id/name + type).5 params

Get document details. Requires documentId (preferred) or title + parent (id/name + type).

Parameters* required
titlestring
Document title (requires parent info).
parentIdstring
Parent ID.
documentIdstring
Document ID (preferred).
parentNamestring
Parent name.
parentTypestring
Parent type (needed for name resolution).one of space · folder · list
list_documentsLists all documents in a ClickUp space, folder, or list.8 params

Lists all documents in a ClickUp space, folder, or list.

Parameters* required
idstring
Optional document ID to filter by
limitnumber
Maximum number of documents to return
creatornumber
Optional creator ID to filter by
deletedboolean
Whether to include deleted documents
archivedboolean
Whether to include archived documents
parent_idstring
ID of the parent container to list documents from
next_cursorstring
Cursor for pagination
parent_typestring
Type of the parent containerone of TASK · SPACE · FOLDER · LIST · EVERYTHING · WORKSPACE
list_document_pagesList pages. Requires docId (preferred) or name + parent context. Optional: depth.6 params

List pages. Requires docId (preferred) or name + parent context. Optional: depth.

Parameters* required
parentIdstring
Parent ID.
documentIdstring
Document ID.
parentNamestring
Parent name.
parentTypestring
Parent type.one of space · folder · list
documentNamestring
Doc name (requires parent context).
max_page_depthnumber
Max depth (default -1).
get_document_pagesGet pages content. Requires docId or name+context. + pageIds.7 params

Get pages content. Requires docId or name+context. + pageIds.

Parameters* required
pageIdsarray
Page IDs.
parentIdstring
Parent ID.
documentIdstring
Document ID.
parentNamestring
Parent name.
parentTypestring
Parent type.one of space · folder · list
documentNamestring
Doc name.
content_formatstring
Format.one of text/md · text/html
create_document_pageCreate page. Requires docId or name+context + page name.9 params

Create page. Requires docId or name+context + page name.

Parameters* required
namestring
Page title.
contentstring
Content.
parentIdstring
Parent ID.
sub_titlestring
Subtitle.
documentIdstring
Document ID.
parentNamestring
Parent name.
parentTypestring
Parent type.one of space · folder · list
documentNamestring
Doc name.
parent_page_idstring
Parent Page ID.
update_document_pageUpdate page. Requires docId or name+context + pageId.11 params

Update page. Requires docId or name+context + pageId.

Parameters* required
namestring
New name.
pageIdstring
Page ID.
contentstring
New content.
parentIdstring
Parent ID.
sub_titlestring
New subtitle.
documentIdstring
Document ID.
parentNamestring
Parent name.
parentTypestring
Parent type.one of space · folder · list
documentNamestring
Doc name.
content_formatstring
Format.one of text/md · text/plain
content_edit_modestring
Mode.one of replace · append · prepend

ClickUp MCP Server — Premium

ClickUp MCP Server Premium Logo

npm version npm downloads License Top 3 on Google Trending MCP Server Maintained


Properly Connect ClickUp to AI Agents and Agentic Workflows

A high-performance Model Context Protocol (MCP) server for managing tasks, checklists, sprints, comments, tags, spaces, lists, folders, files, docs, chat, and time using natural language.

⭐️ Proven Performance: 460+ Stars (from previous public repo) & thousands of weekly NPM downloads.
The industry-standard ClickUp integration for AI.


📚 Table of Contents

LinksQuick Start & Installation
• Features
• Premium Access
• Available Tools
• Adv. Config
• FAQ
• Disclaimer
Antigravity Agy CLI Hermes OpenClaw
Cursor VS Code Claude ClaudeCode
n8n Codex ChatGPT Augment
Auggie Windsurf Roo Code➕ Add Agent

✨ Features

🔥 Multi-Account Support: Manage multiple authorized workspaces seamlessly in a single session. See setup

🔐 Hybrid Authentication
MCP spec-compliant OAuth 2.1 with advanced security hardening and session-isolated caching for fast, secure multi-tenant operation. Backwards compatible with API Key/Team ID(s).
🔍 Intelligent Search & Resolution
Smart tiered, global fuzzy search across task, list, folder, and space names, custom fields, members/emails, statuses, tags, descriptions, and more. Automatic resolution—no IDs needed.
📝 Task Management
Full CRUD, move, duplicate, link, and set dependencies between tasks. Supports bulk operations, nested subtasks, checklists, sprints (active detection), natural language dates, custom task IDs, custom task types, custom fields, task templates, and file attachments (upload via URL, local path, or base64).
⏱️ Time Tracking
Start/stop timers, log manual entries, edit existing entries, retrieve timer history, manage time entry tags, and filter time entries across the entire workspace using natural language dates or date ranges.
📄 Document Management
Create, read, and append to ClickUp Docs with full markdown text. Manage pages within documents for structured, long-form content (consolidated action-based tool).
💬 Comments & Chat
Post, edit, resolve, and reply to comments on tasks, lists, and views. Create and manage chat channels (including DMs), send messages with threaded replies, reactions, and follower management. Both support rich text, subtypes, and @mentions.
🎯 Goals & Key Results
Create and manage Goals with full lifecycle support—create, update, delete, and archive. Define and track nested Key Results to measure OKR progress across the workspace.
📋 Views
Create, list, update, and delete views at any level of the workspace hierarchy—space, folder, or list. Fetch tasks scoped to a specific view for focused filtering.
🗂️ Task Templates
Browse available task templates and instantly create tasks from them. Streamlines repeatable workflows without manual setup each time.
🌳 Workspace Control
Full CRUD for spaces, folders, lists, webhooks, and tags across the entire workspace hierarchy. Manage access control (ACL) permissions at any level. Switch workspaces mid-conversation without reconfiguration.

💎 Premium Access

Unlock 150 Enterprise-Grade Custom Tools

This project transitioned from open-source to a paid model for sustainable full-time development and priority support. A license grants full, unrestricted access to all features across your agents⎯no limits.


Monthly $9/moAnnual $59/yrLifetime $89 w/ code
• Pay-as-you-go flexibility
• 3 device activations
• Cancel anytime
• Save 45% ($4.92/mo)
• 3 device activations
• Priority support all year
• Best Value — One payment
• 3 device activations
• 25% OFF code: JUN25 (6D 13H left)

  Purchase License  


⚡️ Instant Key Delivery (Polar.sh)   •   Setup takes less than 2 mins      


🚀 Quick Start

1. Prerequisites

  • License Key: See above

  • ClickUp API Key (Optional - not needed for Remote MCP)

    • Log into ClickUp and go to ClickUp Settings → Apps.
    • Click Generate under "API Token" (or copy your existing one).
  • ClickUp Team ID (Optional - not needed for Remote MCP)

    • Open ClickUp in your browser.
    • Look at the URL: https://app.clickup.com/1234567/v/li/987654321.
    • The first number (1234567) directly after clickup.com/ is your Team ID (Workspace ID).

2. Choose your MCP Host & Transport

  Antigravity (IDE & 2.0)

Download from antigravity.google. Covers Antigravity IDE (VS Code-based agentic editor) and Antigravity 2.0 (standalone desktop agent orchestration app). Both share the same configuration file.

Configuration Path: ~/.gemini/config/mcp_config.json

Tip: Open the Agent Panel → ... → Manage MCP Servers → View raw config to open this file directly. Or type /mcp in the prompt panel.

Option A: Remote / Streamable HTTP (Recommended)

{
  "mcpServers": {
    "ClickUp": {
      "serverUrl": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": { "X-License-Key": "your-license-key" }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

  Antigravity CLI (agy)

A lightweight terminal-based interface (TUI) for Antigravity agents. Install with:

curl -fsSL https://antigravity.google/cli/install.sh | bash

Configuration Path: ~/.gemini/antigravity-cli/mcp_config.json

Tip: Run agy and type /mcp in the interactive session to manage servers from within the TUI.

Option A: Remote / Streamable HTTP (Recommended)

{
  "mcpServers": {
    "ClickUp": {
      "serverUrl": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": { "X-License-Key": "your-license-key" }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

  Hermes Agent

Single Agent Configuration Path: ~/.hermes/config.yaml

Option A: Remote / Streamable HTTP

hermes mcp add clickup \
  --url https://clickup-mcp.taazkareem.com/mcp \
  --auth oauth && \
hermes config set mcp_servers.clickup.headers.X-License-Key "your-license-key"

Option B: Local / STDIO

hermes mcp add clickup \
  --command npx \
  --args -y @taazkareem/clickup-mcp-server@latest \
  --env CLICKUP_API_KEY="your-api-key" \
        CLICKUP_TEAM_ID="your-team-id" \
        CLICKUP_MCP_LICENSE_KEY="your-license-key"
  • Run it: hermes

Multi-Agent Setup (Profiles + Personas)

Run a team of specialized agents on the same workspace (or separate). Each Hermes profile is an isolated agent with its own config and SOUL.md instructions. Configure each profile to match a persona (X-Persona) as needed. This will scope which ClickUp tools is in its context. Guide with examples:

1. Create the profiles

hermes profile create project_manager
hermes profile create task_worker
hermes profile create auditor

Optional: Use --clone to copy the existing config.yaml/.env/SOUL.md, or re-run the commands from above.

2. Set each profile's persona. The profile has the MCP config now, so just add the matching persona:

project_manager config set mcp_servers.clickup.headers.X-Persona "project_manager"
task_worker     config set mcp_servers.clickup.headers.X-Persona "task_worker"
auditor         config set mcp_servers.clickup.headers.X-Persona "auditor"

See → Advanced Configuration for more customized filtering options.

3. Give each agent its instructions in ~/.hermes/profiles/<name>/SOUL.md (auditor shown):

# ClickUp Auditor

You are a read-only project auditor. Observe and report — never change anything.
- Summarize task status, overdue items, and blockers concisely.
- Surface risks and recommend actions, but never execute them.
- If asked to create or modify a task, decline and explain you are read-only.

Run any agent query by its profile (call by User or Agent):

project_manager chat -q "Break the Q3 launch into a list with subtasks and owners"
auditor         chat -q "Audit the Sprint board and report what's at risk"

-OR-

Run a TUI or Gateway called by User:

project_manager gateway start
auditor         chat

Other (Custom Agents, etc.) For most other MCP-compliant hosts:

  • Server URL: https://clickup-mcp.taazkareem.com/mcp
  • Auth Header: X-License-Key: your-license-key

  OpenClaw (via mcporter)

1. Enable mcporter in ~/.openclaw/openclaw.json:

{ "skills": { "allowBundled": ["mcporter"] } }

2. Configure & Auth

# Add ClickUp as a remote server
mcporter config add ClickUp https://clickup-mcp.taazkareem.com/mcp --auth oauth --header "X-License-Key=your-license-key"

# Authenticate session
mcporter auth ClickUp

Pro Tip: Use Personas to define multiple isolated configurations (e.g., Auditor vs. Worker) in your agent's mcporter.json.

  Cursor

Configuration Path: <project-root>/.cursor/mcp.json

Option A: Remote / Streamable HTTP (Easiest)

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

  VS Code

Configuration Paths:

  • Global: ~/Library/Application Support/Code/User/mcp.json
  • Local: <project-root>/.vscode/mcp.json

Option A: Remote / Streamable HTTP (Easiest)

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

  Roo Code

Configuration Path: <project-root>/.roo/mcp.json

Option A: Remote / Streamable HTTP (Easiest)

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

  Claude Desktop

Configuration Path: ~/Library/Application Support/Claude/claude_desktop_config.json

Remote Setup (Requires mcp-remote adapter):

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://clickup-mcp.taazkareem.com/mcp",
        "--header",
        "X-License-Key: your-license-key"
      ]
    }
  }
}

  Claude Code (CLI)

Run this command in your terminal:

claude mcp add --transport http ClickUp https://clickup-mcp.taazkareem.com/mcp \
  --header "X-License-Key: your-license-key"

  n8n

Option A: Remote / Streamable HTTP (Recommended)

  1. In n8n, add an "MCP Client" node.
  2. Set Connection Type to Streamable HTTP.
  3. Auth Type: Multiple Headers Auth.
  4. Header: X-License-Key Value: your-license-key
  5. URL: https://clickup-mcp.taazkareem.com/mcp

Option B: Self-Hosted Docker Run the container:

docker run -d -p 3231:3231 ghcr.io/taazkareem/clickup-mcp-server:latest

In n8n, use URL: http://host.docker.internal:3231/mcp

  Codex (CLI, Desktop, IDE)

Codex clients (CLI, Desktop App, and VS Code extension) share a single source of truth for configuration.

Configuration Paths:

  • Global: ~/.codex/config.toml
  • Local: <project-root>/.codex/config.toml

Option A: Remote / Streamable HTTP (Easiest)

[mcp_servers.ClickUp]
url = "https://clickup-mcp.taazkareem.com/mcp"
http_headers = { "X-License-Key" = "your-license-key" }

Option B: Local / STDIO

[mcp_servers.ClickUp]
command = "npx"
args = ["-y", "@taazkareem/clickup-mcp-server@latest"]
env = {
  CLICKUP_API_KEY = "your-api-key",
  CLICKUP_TEAM_ID = "your-team-id",
  CLICKUP_MCP_LICENSE_KEY = "your-license-key"
}

Quick Tips:

  • Codex CLI: Run codex mcp list to verify. Use codex mcp add ... as a CLI alternative to editing the file.
  • VS Code Extension: Click ⚙ → MCP settings → Open config.toml.
  • Desktop App: Go to Settings → Integrations & MCP.

  ChatGPT (Developer Mode)

Note: Requires a Business, Enterprise, or Edu workspace with Developer Mode enabled.

  1. Enable Developer Mode: Ask your workspace admin to enable this under Workspace Settings → Permissions & Roles → Connected Data.
  2. Connect MCP: Go to Settings → Connectors and toggle Developer Mode on.
  3. Add Custom Connector:
    • Click Add connector (or "Create custom connector").
    • Choose MCP as the source type.
  4. Configure:
    • Server URL: https://clickup-mcp.taazkareem.com/mcp
    • Authentication: Add HTTP header X-License-Key: your-license-key.
  5. Use: Start a Developer Mode chat and select your ClickUp connector via Add sources.

  Augment Code

Configuration Path: <project-root>/.augment/settings.json

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

  Auggie CLI

Run this command in your terminal:

auggie mcp add ClickUp --url https://clickup-mcp.taazkareem.com/mcp \
  --header "X-License-Key: your-license-key"

  Windsurf

Configuration Path: <project-root>/.codeium/windsurf/mcp_config.json

Option A: Remote / Streamable HTTP (Easiest)

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

3. Restart

Restart your MCP Host (e.g., Cursor IDE). The server will validate your License Key and start automatically.


🛠️ Available Tools

👇 Click to view all 150 available tools
CategoryToolDescription
Workspaceget_workspaceGet workspace structure and metadata (hierarchy, members, plan, seats, shared items, custom task types)
get_workspace_seatsGet member and guest seat utilization (used, total, available)
get_workspace_planGet plan details for the workspace (plan_name, plan_id)
get_audit_logsRetrieve workspace audit logs (Enterprise only)
Taskscreate_taskCreate a task
get_taskGet single task details
update_taskModify task properties
move_taskMove task to new list
duplicate_taskCopy task
delete_taskRemove task
add_task_to_listAssociate task with additional list (TIML)
remove_task_from_listRemove task list association (TIML)
create_bulk_tasksCreate multiple tasks
update_bulk_tasksUpdate multiple tasks
move_bulk_tasksMove multiple tasks
delete_bulk_tasksDelete multiple tasks
get_workspace_tasksSearch tasks with Deep Search filtering
get_commentsGet comments on a task, list, or view
create_commentCreate a comment on a task, list, or view
update_commentEdit or resolve a comment
delete_commentDelete a comment
get_comment_repliesGet threaded replies for a comment
create_comment_replyReply to a comment in a thread
add_comment_reactionAdd an emoji reaction to a comment
remove_comment_reactionRemove an emoji reaction from a comment
get_comment_subtypesGet post subtype IDs for the workspace
add_task_linkLink two tasks together
get_task_linksGet task links
delete_task_linkRemove a task link
add_task_dependencySet a blocking dependency between tasks
delete_task_dependencyRemove a blocking dependency between tasks
Attachmentslist_attachmentsList attachments for a task or file custom field (v3)
get_attachmentGet a specific attachment by ID or name (v3)
upload_attachmentUpload a file to a task or file custom field (v3)
Checklistscreate_checklistAdd a checklist to a task
edit_checklistRename or reorder a checklist
delete_checklistDelete a checklist and all its items
create_checklist_itemAdd an item to a checklist
edit_checklist_itemUpdate a checklist item (name, resolved, assignee, nesting)
delete_checklist_itemRemove an item from a checklist
Sprintsget_active_sprintAuto-detect the currently active sprint; returns tasks if exactly one found
list_sprintsList all sprints in a folder
get_sprint_tasksGet tasks for a specific sprint list
Listslist_listsRetrieve lists in a space (folderless) or in a folder
get_listGet list details
create_listCreate a list in a space or folder
create_list_from_templateCreate a new list from a template
update_listUpdate list properties
delete_listDelete a list
move_listMove a list to a different space or folder (high-integrity)
set_list_permissionsUpdate list privacy and sharing (ACLs)
Custom Fieldslist_custom_fieldsList field definitions for a list, folder, or space
create_custom_fieldAdd a new field definition to a list
set_custom_field_valueSet a field value on a task
remove_custom_field_valueClear a field value from a task
Spaceslist_spacesList all spaces in the workspace
get_spaceGet space details
create_spaceCreate a new space
update_spaceUpdate space properties
delete_spaceDelete a space
set_space_permissionsUpdate space privacy and sharing (ACLs)
Goalslist_goalsList all goals in the workspace
get_goalGet a goal with its key results
create_goalCreate a new goal
update_goalUpdate a goal's properties
delete_goalDelete a goal
create_key_resultAdd a key result to a goal
update_key_resultUpdate a key result
delete_key_resultDelete a key result
Viewslist_viewsList views for a space, folder, list, or workspace
get_viewGet a single view
create_viewCreate a new view
update_viewUpdate a view
delete_viewDelete a view
get_view_tasksGet tasks in a view
Folderslist_foldersList all folders in a space
get_folderGet folder details and its contained lists
create_folderCreate a folder in a space
update_folderUpdate folder properties
delete_folderDelete a folder
move_folderMove a folder to a different space (high-integrity)
set_folder_permissionsUpdate folder privacy and sharing (ACLs)
create_folder_from_templateCreate a folder from a template in a space
Tagslist_space_tagsList all tags in a space
create_space_tagCreate a new space tag
update_space_tagUpdate a space tag's name or colors
delete_space_tagDelete a tag from a space
add_tag_to_taskAdd tag to task
remove_tag_from_taskRemove tag from task
Time Trackingget_time_entriesFetch historical time entries
get_current_time_entryGet currently running timer
start_time_entryStart tracking time for a task
stop_time_entryStop the active timer
add_time_entryManually log a time entry
update_time_entryModify an existing time entry
delete_time_entryDelete a time entry
get_time_entry_tagsFetch all workspace time entry tags
add_time_entry_tagsAdd a tag to a time entry
update_time_entry_tagsRename a workspace time entry tag globally
delete_time_entry_tagsRemove a tag from a time entry
get_time_entry_historyView edit history of a time entry
get_time_in_statusGet time-in-status for multiple tasks
Docslist_documentsList documents in a workspace or container
get_documentGet document metadata
create_documentCreate a new standalone document
list_document_pagesList all pages in a document
get_document_pageGet content for a single page
get_document_pagesGet content for multiple pages in one call
create_document_pageAdd a new page to a document
update_document_pageModify an existing page (replace/append/prepend)
Chatlist_chat_channelsList all channels in the workspace
get_chat_channelGet a single channel
create_chat_channelCreate a new channel
update_chat_channelUpdate a channel
delete_chat_channelDelete a channel
get_chat_channel_membersGet members of a channel
get_chat_channel_followersGet followers of a channel
create_chat_dmCreate a direct message channel
get_chat_messagesGet messages from a channel
create_chat_messageSend a message to a channel
update_chat_messageEdit a message
delete_chat_messageDelete a message
get_chat_message_repliesGet threaded replies to a message
create_chat_message_replyReply to a message in a thread
add_chat_reactionAdd an emoji reaction to a message
remove_chat_reactionRemove an emoji reaction
get_chat_reactionsGet all reactions on a message
get_chat_tagged_usersGet users tagged in a message
get_chat_message_subtypesGet post subtype IDs for the workspace
Webhookslist_webhooksList all webhooks in the workspace
create_webhookCreate a new webhook
update_webhookUpdate an existing webhook
delete_webhookDelete a webhook permanently
User Groupslist_user_groupsList all user groups in the workspace
create_user_groupCreate a new user group
update_user_groupRename a group or add/remove members
delete_user_groupDelete a user group
Guestsinvite_guestInvite a guest to the workspace (Enterprise)
get_guestGet guest details (Enterprise)
edit_guestEdit guest display name or permissions (Enterprise)
remove_guestRemove a guest from the workspace (Enterprise)
add_guest_to_taskGrant guest access to a task (Enterprise)
remove_guest_from_taskRevoke guest access from a task (Enterprise)
add_guest_to_listGrant guest access to a list (Enterprise)
remove_guest_from_listRevoke guest access from a list (Enterprise)
add_guest_to_folderGrant guest access to a folder (Enterprise)
remove_guest_from_folderRevoke guest access from a folder (Enterprise)
Task Templatesget_task_templatesList available workspace templates
create_task_from_templateCreate a task from a template
Feedbacksubmit_feedbackSubmit feedback or bug reports

See full documentation for parameters and advanced usage.


⚙️ Advanced Configuration

Filter Available Tools

💡 Pro Tip! Reduce context noise for the AI by limiting available tools. There are 3 ways to do this. You can filter by exact tool name, by tool category, by personas (presets), or a combination of all three.

Local (Environment Variable):

"ENABLED_TOOLS": "tool_1,tool_2,tool_3",
"ENABLED_CATEGORIES": "task,time_tracking,workspace"

-or- Hermes (YAML):

mcp_servers:
  clickup:
    env:
      ENABLED_TOOLS: "tool_1,tool_2,tool_3"
      ENABLED_CATEGORIES: "task,time_tracking,workspace"

-or- Remote (Header):

"X-Enabled-Tools": "tool_1,tool_2,tool_3",
"X-Enabled-Categories": "task,time_tracking,workspace"

Preset Configurations

Simplify setup by using Personas. You can set a persona via the CLICKUP_MCP_PERSONA environment variable or the X-Persona HTTP header to automatically filter a set of tools.

Multiple personas can be combined (e.g., "X-Persona": "task_worker,time_specialist").

Persona Description Target Use Case
📋 auditor Read-only access View tasks, goals, docs, and chat (Read-only).
👷 task_worker Daily management Task CRUD, time tracking, and checklists.
⏱️ time_specialist Time tracking focus Time logs, timesheets, and entry history.
🏗️ project_manager High-level control Spaces, folders, lists, and bulk operations.
📚 content_manager Communication Docs, chat, comments, and attachments.
🏢 workspace_admin Admin control Permissions, guests, and audit logs.
💻 developer Programmatic Webhooks, custom fields, bulk automation.
🛡️ safe_power_user Full access All tools except destructive deletes/removals.

Local (Environment Variable):

"CLICKUP_MCP_PERSONA": "task_worker"

-or- Remote (Header):

"X-Persona": "task_worker"

💡 Need to customize? To view the exact tools included in each preset or to build a custom list based on a persona, see the Personas Reference Guide.


🌍 Multi-Workspace Support

Simultaneously federate OAuth and multiple API keys to manage tasks across different authorized ClickUp accounts/workspaces in a single session. Easily move or duplicate tasks between workspaces, configure AI Agents for cross-workspace automation, and more.

Remote (Headers):

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key",
        "X-ClickUp-Additional-Keys": "shared_ws_api_key1,shared_ws_api_key2"
      }
    }
  }
}

❓ FAQ

Why isn't this free anymore? Building reliable MCP integrations requires significant maintenance. Moving to a paid model allows us to support this as a product rather than a hobby, ensuring compatibility with API changes.

I have an old version. Will it stop working? Existing local clones will continue to work, but you will not receive updates, bug fixes, or support without a license.

How do I get support? Premium users get priority support. Please open an issue in this repository.


⚖️ Disclaimer

Originally developed as open source and refined during a consultancy with ClickUp, this project is now independently maintained.

This software makes use of third-party APIs and may reference trademarks or brands owned by third parties. The use of such APIs or references does not imply any affiliation with or endorsement by the respective companies. All trademarks and brand names are the property of their respective owners. This project is an independent work and is not officially associated with or sponsored by any third-party company mentioned.

By using this software, you agree to our Terms of Service and acknowledge our Privacy Policy.

Created by taazkareem
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Configuration

CLICKUP_MCP_LICENSE_KEY*secret

Your ClickUp MCP License Key from Polar.sh

CLICKUP_API_KEY*secret

Your ClickUp API key

CLICKUP_TEAM_ID*

Your ClickUp Team ID

DOCUMENT_SUPPORTdefault: true

Enable ClickUp Document support

Categories
Productivity & Office
Registryactive
Package@taazkareem/clickup-mcp-server
TransportSTDIO
AuthRequired
UpdatedFeb 15, 2026
View on GitHub

Related Productivity & Office MCP Servers

View all →
Office PowerPoint

gongrzhe/office-powerpoint-mcp-server

A MCP (Model Context Protocol) server for PowerPoint manipulation using python-pptx. This server provides tools for creating, editing, and manipulating PowerPoint presentations through the MCP protocol.
1.7k
Office-Word-MCP-Server

gongrzhe/office-word-mcp-server

Exposes Word document operations via MCP to create, edit, format, and analyze documents programmatically.
2k
Microsoft Office

io.github.mindstone/mcp-server-office

Microsoft Office MCP server: read and edit Word documents, Excel workbooks, and PowerPoint files
8
Todoist

greirson/mcp-todoist

MCP server that connects Claude to Todoist for natural language task and project management with bulk operations
240
Mcp Apple Notes

henilcalagiya/mcp-apple-notes

MCP server for Apple Notes integration using AppleScript with full CRUD operations
51
AnkiMCP Server

ankimcp/anki-mcp-server-addon

Anki addon that exposes your flashcard collection to AI assistants via a local MCP server.
50