ClickUp MCP Server
ClickUp task and project management tools for AI-driven agentic workflows.
Data last scanned today · Reviewed yesterday
Overview
This MCP server provides an interface to interact with ClickUp objects such as tasks, sprints, documents, and comments. It allows AI models to perform management actions within ClickUp workspaces through natural language processing.
Our verdict
This server receives a high-risk security score of 20/100, primarily due to the lack of any authentication mechanism and the absence of a read-only mode, which grants full write access to anyone with the configuration. It is community-maintained rather than official, carries a NOASSERTION license, and is not recommended for environments where sensitive data exposure or unauthorized task manipulation poses a significant operational risk.
- Supports comprehensive management of tasks, sprints, and documents
- Limited supply-chain footprint with 12 direct dependencies
- Maintains active repository status with recent commits
- High security risk due to missing authentication methods
- Lacks a read-only mode for safe data exploration
- Non-standard licensing labeled as NOASSERTION
Setup
{
"mcpServers": {
"clickup-mcp-server": {
"args": [
"-y",
"@taazkareem/clickup-mcp-server"
],
"command": "npx"
}
}
}Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), then restart Claude Desktop. Some servers require API keys or tokens as environment variables — check the project's README and add an "env" object if needed.
- No read-only mode — running this grants full read/write access.
- No built-in authentication — anyone with access to this config can invoke every tool it exposes.
Tools
| Tool | Description | Risk |
|---|---|---|
| get_workspace | Get workspace structure and metadata (hierarchy, members, plan, seats, shared items, custom task types) | low |
| get_workspace_seats | Get member and guest seat utilization (used, total, available) | low |
| get_workspace_plan | Get plan details for the workspace (plan_name, plan_id) | low |
| get_audit_logs | Retrieve workspace audit logs (Enterprise only) | low |
| create_task | Create a task | medium |
| get_task | Get single task details | low |
| update_task | Modify task properties | medium |
| move_task | Move task to new list | medium |
| duplicate_task | Duplicate a task | medium |
| delete_task | Remove task | high |
| add_task_to_list | Associate task with additional list (TIML) | medium |
| remove_task_from_list | Remove task list association (TIML) | medium |
| create_bulk_tasks | Create multiple tasks | medium |
| update_bulk_tasks | Update multiple tasks | medium |
| move_bulk_tasks | Move multiple tasks | medium |
| delete_bulk_tasks | Delete multiple tasks | high |
| get_workspace_tasks | Search tasks with Deep Search filtering | low |
| get_comments | Get comments on a task, list, or view | low |
| create_comment | Create a comment on a task, list, or view | medium |
| update_comment | Edit or resolve a comment | medium |
| delete_comment | Delete a comment | high |
| get_comment_replies | Get threaded replies for a comment | low |
| create_comment_reply | Reply to a comment in a thread | medium |
| add_comment_reaction | Add an emoji reaction to a comment | medium |
| remove_comment_reaction | Remove an emoji reaction from a comment | medium |
| get_comment_subtypes | Get post subtype IDs for the workspace | low |
| add_task_link | Link two tasks together | medium |
| get_task_links | Get task links | low |
| delete_task_link | Remove a task link | high |
| add_task_dependency | Set a blocking dependency between tasks | medium |
| delete_task_dependency | Remove a blocking dependency between tasks | high |
| list_attachments | List attachments for a task or file custom field (v3) | low |
| get_attachment | Get a specific attachment by ID or name (v3) | low |
| upload_attachment | Upload a file to a task or file custom field (v3) | medium |
| create_checklist | Add a checklist to a task | medium |
| edit_checklist | Rename or reorder a checklist | medium |
| delete_checklist | Delete a checklist and all its items | high |
| create_checklist_item | Add an item to a checklist | medium |
| edit_checklist_item | Update a checklist item (name, resolved, assignee, nesting) | medium |
| delete_checklist_item | Remove an item from a checklist | high |
| get_active_sprint | Auto-detect the currently active sprint; returns tasks if exactly one found | low |
| list_sprints | List all sprints in a folder | low |
| get_sprint_tasks | Get tasks for a specific sprint list | low |
| list_lists | Retrieve lists in a space (folderless) or in a folder | low |
| get_list | Get list details | low |
| create_list | Create a list in a space or folder | medium |
| create_list_from_template | Create a new list from a template | medium |
| update_list | Update list properties | medium |
| delete_list | Delete a list | high |
| move_list | Move a list to a different space or folder (high-integrity) | medium |
| set_list_permissions | Update list privacy and sharing (ACLs) | medium |
| list_custom_fields | List field definitions for a list, folder, or space | low |
| create_custom_field | Add a new field definition to a list | medium |
| set_custom_field_value | Set a field value on a task | medium |
| remove_custom_field_value | Clear a field value from a task | medium |
| list_spaces | List all spaces in the workspace | low |
| get_space | Get space details | low |
| create_space | Create a new space | medium |
| update_space | Update space properties | medium |
| delete_space | Delete a space | high |
| set_space_permissions | Update space privacy and sharing (ACLs) | medium |
| list_goals | List all goals in the workspace | low |
| get_goal | Get a goal with its key results | low |
| create_goal | Create a new goal | medium |
| update_goal | Update a goal's properties | medium |
| delete_goal | Delete a goal | high |
| create_key_result | Add a key result to a goal | medium |
| update_key_result | Update a key result | medium |
| delete_key_result | Delete a key result | high |
| list_views | List views for a space, folder, list, or workspace | low |
| get_view | Get a single view | low |
| create_view | Create a new view | medium |
| update_view | Update a view | medium |
| delete_view | Delete a view | high |
| get_view_tasks | Get tasks in a view | low |
| list_folders | List all folders in a space | low |
| get_folder | Get folder details and its contained lists | low |
| create_folder | Create a folder in a space | medium |
| update_folder | Update folder properties | medium |
| delete_folder | Delete a folder | high |
| move_folder | Move a folder to a different space (high-integrity) | medium |
| set_folder_permissions | Update folder privacy and sharing (ACLs) | medium |
| create_folder_from_template | Create a folder from a template in a space | medium |
| list_space_tags | List all tags in a space | low |
| create_space_tag | Create a new space tag | medium |
| update_space_tag | Update a space tag's name or colors | medium |
| delete_space_tag | Delete a tag from a space | high |
| add_tag_to_task | Add tag to task | medium |
| remove_tag_from_task | Remove tag from task | medium |
| get_time_entries | Fetch historical time entries | low |
| get_current_time_entry | Get currently running timer | low |
| start_time_entry | Start tracking time for a task | medium |
| stop_time_entry | Stop the active timer | medium |
| add_time_entry | Manually log a time entry | medium |
| update_time_entry | Modify an existing time entry | medium |
| delete_time_entry | Delete a time entry | high |
| get_time_entry_tags | Fetch all workspace time entry tags | low |
| add_time_entry_tags | Add a tag to a time entry | medium |
| update_time_entry_tags | Rename a workspace time entry tag globally | medium |
| delete_time_entry_tags | Remove a tag from a time entry | high |
| get_time_entry_history | View edit history of a time entry | low |
| get_time_in_status | Get time-in-status for multiple tasks | low |
| list_documents | List documents in a workspace or container | low |
| get_document | Get document metadata | low |
| create_document | Create a new standalone document | medium |
| list_document_pages | List all pages in a document | low |
| get_document_page | Get content for a single page | low |
| get_document_pages | Get content for multiple pages in one call | low |
| create_document_page | Add a new page to a document | medium |
| update_document_page | Modify an existing page (replace/append/prepend) | medium |
| list_chat_channels | List all channels in the workspace | low |
| get_chat_channel | Get a single channel | low |
| create_chat_channel | Create a new channel | medium |
| update_chat_channel | Update a channel | medium |
| delete_chat_channel | Delete a channel | high |
| get_chat_channel_members | Get members of a channel | low |
| get_chat_channel_followers | Get followers of a channel | low |
| create_chat_dm | Create a direct message channel | medium |
| get_chat_messages | Get messages from a channel | low |
| create_chat_message | Send a message to a channel | medium |
| update_chat_message | Edit a message | medium |
| delete_chat_message | Delete a message | high |
| get_chat_message_replies | Get threaded replies to a message | low |
| create_chat_message_reply | Reply to a message in a thread | medium |
| add_chat_reaction | Add an emoji reaction to a message | medium |
| remove_chat_reaction | Remove an emoji reaction | high |
| get_chat_reactions | Get all reactions on a message | low |
| get_chat_tagged_users | Get users tagged in a message | low |
| get_chat_message_subtypes | Get post subtype IDs for the workspace | low |
| list_webhooks | List all webhooks in the workspace | low |
| create_webhook | Create a new webhook | medium |
| update_webhook | Update an existing webhook | medium |
| delete_webhook | Delete a webhook permanently | high |
| list_user_groups | List all user groups in the workspace | low |
| create_user_group | Create a new user group | medium |
| update_user_group | Rename a group or add/remove members | medium |
| delete_user_group | Delete a user group | high |
| invite_guest | Invite a guest to the workspace (Enterprise) | medium |
| get_guest | Get guest details (Enterprise) | low |
| edit_guest | Edit guest display name or permissions (Enterprise) | medium |
| remove_guest | Remove a guest from the workspace (Enterprise) | high |
| add_guest_to_task | Grant guest access to a task (Enterprise) | medium |
| remove_guest_from_task | Revoke guest access from a task (Enterprise) | high |
| add_guest_to_list | Grant guest access to a list (Enterprise) | medium |
| remove_guest_from_list | Revoke guest access from a list (Enterprise) | high |
| add_guest_to_folder | Grant guest access to a folder (Enterprise) | medium |
| remove_guest_from_folder | Revoke guest access from a folder (Enterprise) | high |
| get_task_templates | List available workspace templates | low |
| create_task_from_template | Create a task from a template | medium |
| submit_feedback | Submit feedback or bug reports | medium |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| ChatGPT | ||||
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf |
Frequently asked questions
›What authentication methods does the ClickUp MCP server support?
The server supports OAuth 2.1 as per the MCP specification and is also backwards compatible with API Key and Team ID authentication.
›Can I use this server to manage multiple ClickUp workspaces?
Yes, the server features multi-account support, allowing you to manage multiple authorized workspaces within a single session.
›What kind of data can I interact with using this server?
The server provides tools for managing tasks, checklists, sprints, comments, tags, spaces, lists, folders, files, docs, chat, and time tracking using natural language.
Alternatives
Badge
Maintain this server? Add the live badge to your README.