ClickUp MCP Server
Enables AI integrations with ClickUp tasks, supporting resource management, task operations, workspace organization, and AI-powered task recommendations through a standardized protocol.
TaazKareem
Tools
get_task
Retrieve comprehensive details about a specific ClickUp task. Use this tool when you need in-depth information about a particular task, including its description, custom fields, attachments, and other metadata. Before calling, check if you already have the necessary task ID from previous responses in the conversation, as this avoids redundant lookups.
delete_task
Permanently remove a task from your ClickUp workspace. Use this tool with caution as deletion cannot be undone. Before calling, check if you already have the necessary task ID from previous responses in the conversation, as this avoids redundant lookups. For safety, the task ID is required.
get_folder
Retrieve details about a specific ClickUp folder including its name, status, and other metadata. Before calling, check if you already have the necessary folder ID from previous responses in the conversation history, as this avoids redundant lookups. Helps you understand folder structure before creating or updating lists.
update_folder
Modify an existing ClickUp folder's properties, such as name or status settings. Before calling, check if you already have the necessary folder ID from previous responses in the conversation history, as this avoids redundant lookups. Use when reorganizing or renaming workspace elements.
delete_folder
Permanently remove a folder from your ClickUp workspace. Use with caution as deletion cannot be undone and will remove all lists and tasks within the folder. Before calling, check if you already have the necessary folder ID from previous responses in the conversation history, as this avoids redundant lookups.
get_list
Retrieve details about a specific ClickUp list including its name, content, status options, and other metadata. Before calling, check if you already have the necessary list ID from previous responses in the conversation history, as this avoids redundant lookups. Useful to understand list structure before creating or updating tasks.
update_list
Modify an existing ClickUp list's properties, such as name, content, or status options. Before calling, check if you already have the necessary list ID from previous responses in the conversation history, as this avoids redundant lookups. Use when reorganizing or renaming workspace elements.
delete_list
Permanently remove a list from your ClickUp workspace. Use with caution as deletion cannot be undone and will remove all tasks within the list. Before calling, check if you already have the necessary list ID from previous responses in the conversation history, as this avoids redundant lookups.
get_workspace_hierarchy
Retrieve the complete ClickUp workspace hierarchy, including all spaces, folders, and lists with their IDs, names, and hierarchical paths. Call this tool only when you need to discover the workspace structure and don't already have this information from recent context. Avoid using for repeated lookups of the same information.
create_task
Create a single task in a ClickUp list. Use this tool for individual task creation only. For multiple tasks, use create_bulk_tasks instead. Before calling this tool, check if you already have the necessary list ID from previous responses in the conversation history, as this avoids redundant lookups. When creating a task, you must provide either a listId or listName.
create_bulk_tasks
Create multiple tasks in a ClickUp list simultaneously. Use this tool when you need to add several related tasks in one operation. Before calling, check if you already have the necessary list ID from previous responses in the conversation, as this avoids redundant lookups. More efficient than creating tasks one by one for batch operations.
create_list
Create a new list directly in a ClickUp space. Use this tool when you need a top-level list not nested inside a folder. Before calling, check if you already have the necessary space ID from previous responses in the conversation, as this avoids redundant lookups. For creating lists inside folders, use create_list_in_folder instead.
create_folder
Create a new folder in a ClickUp space for organizing related lists. Use this tool when you need to group multiple lists together. Before calling, check if you already have the necessary space ID from previous responses in the conversation, as this avoids redundant lookups. After creating a folder, you can add lists to it using create_list_in_folder.
create_list_in_folder
Create a new list within a ClickUp folder. Use this tool when you need to add a list to an existing folder structure. Before calling, check if you already have the necessary folder ID and space ID from previous responses in the conversation, as this avoids redundant lookups. For top-level lists not in folders, use create_list instead.
move_task
Move an existing task from its current list to a different list. Use this tool when you need to relocate a task within your workspace hierarchy. Before calling, check if you already have the necessary task ID and list ID from previous responses in the conversation, as this avoids redundant lookups. Task statuses may be reset if the destination list uses different status options.
duplicate_task
Create a copy of an existing task in the same or different list. Use this tool when you need to replicate a task's content and properties. Before calling, check if you already have the necessary task ID and list ID from previous responses in the conversation, as this avoids redundant lookups. The duplicate will preserve name, description, priority, and other attributes from the original task.
update_task
Modify the properties of an existing task. Use this tool when you need to change a task's name, description, status, priority, or due date. Before calling, check if you already have the necessary task ID from previous responses in the conversation, as this avoids redundant lookups. Only the fields you specify will be updated; other fields will remain unchanged.
get_tasks
Retrieve tasks from a ClickUp list with optional filtering capabilities. Use this tool when you need to see existing tasks or analyze your current workload. Before calling, check if you already have the necessary list ID from previous responses in the conversation, as this avoids redundant lookups. Results can be filtered by status, assignees, dates, and more.
README
<img src="assets/images/clickup_mcp_server_social_image.png" alt="ClickUp MCP Server" width="100%">
A Model Context Protocol (MCP) server for integrating ClickUp tasks with AI applications. This server allows AI agents to interact with ClickUp tasks, spaces, lists, and folders through a standardized protocol.
🚧 Status Update: Rolling out v0.6.9 will add Global Task Lookup with smart disambiguation, Start Date Support for tasks with natural language expressions, Complete Tag Support including natural language tag color commands, Subtasks Support, Custom ID Support, and Logging Fixes
Setup
- Get your credentials:
- ClickUp API key from ClickUp Settings
- Team ID from your ClickUp workspace URL
- Choose either hosted installation (sends webhooks) or NPX installation (downloads to local path and installs dependencies)
- Use natural language to manage your workspace!
Smithery Installation (Quick Start)
The server is hosted on Smithery. There, you can preview the available tools or copy the commands to run on your specific client app.
NPX Installation
Add this entry to your client's MCP settings JSON file:
{
"mcpServers": {
"ClickUp": {
"command": "npx",
"args": [
"-y",
"@taazkareem/clickup-mcp-server@latest"
],
"env": {
"CLICKUP_API_KEY": "your-api-key",
"CLICKUP_TEAM_ID": "your-team-id"
}
}
}
}
Or use this npx command:
npx -y @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-api-key --env CLICKUP_TEAM_ID=your-team-id
Features
📝 Task Management | 🏷️ Tag Management |
---|---|
• Create, update, and delete tasks<br>• Move and duplicate tasks anywhere<br>• Support for single and bulk operations<br>• Set start/due dates with natural language<br>• Create and manage subtasks<br>• Add comments and attachments | • Create, update, and delete space tags<br>• Add and remove tags from tasks<br>• Use natural language color commands<br>• Automatic contrasting foreground colors<br>• View all space tags<br>• Tag-based task organization across workspace |
🌳 Workspace Organization | ⚡ Integration Features |
• Navigate spaces, folders, and lists<br>• Create and manage folders<br>• Organize lists within spaces<br>• Create lists in folders<br>• View workspace hierarchy<br>• Efficient path navigation | • Global name or ID-based lookups<br>• Case-insensitive matching<br>• Markdown formatting support<br>• Built-in rate limiting<br>• Error handling and validation<br>• Comprehensive API coverage |
Available Tools
Tool | Description | Required Parameters |
---|---|---|
get_workspace_hierarchy | Get workspace structure | None |
create_task | Create a task | name , (listId /listName ) |
create_bulk_tasks | Create multiple tasks | tasks[] |
update_task | Modify task | taskId /taskName |
update_bulk_tasks | Update multiple tasks | tasks[] with IDs or names |
get_tasks | Get tasks from list | listId /listName |
get_task | Get single task details | taskId /taskName (with smart disambiguation) |
get_workspace_tasks | Get tasks with filtering | At least one filter (tags, list_ids, space_ids, etc.) |
get_task_comments | Get comments on a task | taskId /taskName |
create_task_comment | Add a comment to a task | commentText , (taskId /(taskName +listName )) |
attach_task_file | Attach file to a task | taskId /taskName , (file_data or file_url ) |
delete_task | Remove task | taskId /taskName |
delete_bulk_tasks | Remove multiple tasks | tasks[] with IDs or names |
move_task | Move task | taskId /taskName , listId /listName |
move_bulk_tasks | Move multiple tasks | tasks[] with IDs or names, target list |
duplicate_task | Copy task | taskId /taskName , listId /listName |
create_list | Create list in space | name , spaceId /spaceName |
create_folder | Create folder | name , spaceId /spaceName |
create_list_in_folder | Create list in folder | name , folderId /folderName |
get_folder | Get folder details | folderId /folderName |
update_folder | Update folder properties | folderId /folderName |
delete_folder | Delete folder | folderId /folderName |
get_list | Get list details | listId /listName |
update_list | Update list properties | listId /listName |
delete_list | Delete list | listId /listName |
get_space_tags | Get space tags | spaceId /spaceName |
create_space_tag | Create tag | tagName , spaceId /spaceName |
update_space_tag | Update tag | tagName , spaceId /spaceName |
delete_space_tag | Delete tag | tagName , spaceId /spaceName |
add_tag_to_task | Add tag to task | tagName , taskId /(taskName +listName ) |
remove_tag_from_task | Remove tag from task | tagName , taskId /(taskName +listName ) |
See full documentation for optional parameters and advanced usage.
Prompts
Not yet implemented and not supported by all client apps. Request a feature for a Prompt implementation that would be most beneficial for your workflow (without it being too specific). Examples:
Prompt | Purpose | Features |
---|---|---|
summarize_tasks | Task overview | Status summary, priorities, relationships |
analyze_priorities | Priority optimization | Distribution analysis, sequencing |
generate_description | Task description creation | Objectives, criteria, dependencies |
Error Handling
The server provides clear error messages for:
- Missing required parameters
- Invalid IDs or names
- Items not found
- Permission issues
- API errors
- Rate limiting
The LOG_LEVEL
environment variable can be specified to control the verbosity of server logs. Valid values are trace
, debug
, info
, warn
, and error
(default).
This can be also be specified on the command line as, e.g. --env LOG_LEVEL=info
.
Support the Developer
When using this server, you may occasionally see a small sponsor message with a link to this repository included in tool responses. I hope you can support the project! If you find this project useful, please consider supporting:
<a href="https://buymeacoffee.com/taazkareem"> <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" width="200" alt="Buy Me A Coffee"> </a>
Acknowledgements
Special thanks to ClickUp for their excellent API and services that make this integration possible.
Contributing
Contributions are welcome! Please read our Contributing Guide for details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.