MCP Server
About
MCP Server is a Model Context Protocol (MCP) server for integrating ClickUp tasks with AI applications, allowing AI agents to interact with ClickUp tasks, spaces, lists, and folders through a standardized protocol.
Details
- Transport
- SSE
- License
- MIT license
Explore
- 🎯 Task Management
- Create, update, and delete individual tasks
- Move and duplicate tasks between lists, spaces, and folders
- Create, update, move,and delete multiple tasks in bulk
- View and modify task details and properties
- Set due dates using natural language and relative time expressions
- 📂 Workspace Organization
- Complete workspace hierarchy (spaces, folders, lists)
- Tree structure with clear relationships
- Full CRUD operations for workspace components
- Efficient path-based navigation
- 🔄 Integration Features
- Name or ID-based item lookup
- Case-insensitive name matching
- Markdown formatting support
- Built-in API rate limiting
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Directions for use with Cursor Composer Agent:
1. Get your credentials:
- ClickUp API key from ClickUp Settings
- Team ID from your ClickUp workspace URL
2. Go to Features in settings (or MCP Servers depending on version)
3. Add under MCP Servers:
npx -y @taazkareem/clickup-mcp-server@latest \
--env CLICKUP_API_KEY=your_api_key_here \
--env CLICKUP_TEAM_ID=your_team_id_here
4. Replace the credentials and click Save
5. Use Natural Language to interact with your ClickUp Workspace!
The server is also hosted on Smithery. There, you can preview the available tools or copy the commands to run on your specific client app.
get_workspace_hierarchy
Get the complete workspace hierarchy including spaces, folders, and lists.
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.
get_task
Retrieve detailed information about a specific task. Valid parameter combinations: 1. Use taskId alone (preferred) 2. Use taskName + optional listName (to disambiguate if multiple tasks have the same name)
get_tasks
Retrieve tasks from a list with optional filtering. You MUST provide either: 1. listId (preferred) 2. listName Use filters to narrow down results by status, dates, etc.
update_task
Modify an existing task's properties. Valid parameter combinations: 1. Use taskId alone (preferred if you have it) 2. Use taskName + optional listName (to disambiguate if multiple tasks have the same name) At least one update field (name, description, status, priority) must be provided. Only specified fields will be updated.
move_task
Move a task to a different list. Valid parameter combinations: 1. Use taskId + (listId or listName) - preferred 2. Use taskName + sourceListName + (listId or listName) WARNING: Task statuses may reset if destination list has different status options.
duplicate_task
Create a copy of a task in the same or different list. Valid parameter combinations: 1. Use taskId + optional (listId or listName) - preferred 2. Use taskName + sourceListName + optional (listId or listName) The duplicate preserves the original task's properties.
delete_task
⚠️ PERMANENTLY DELETE a task. This action cannot be undone. Valid parameter combinations: 1. Use taskId alone (preferred and safest) 2. Use taskName + optional listName (use with caution)
create_bulk_tasks
Create multiple tasks in a list efficiently. You MUST provide: 1. An array of tasks with required properties 2. Either listId or listName to specify the target list Optional: Configure batch size and concurrency for performance.
update_bulk_tasks
Update multiple tasks efficiently. For each task, you MUST provide either: 1. taskId alone (preferred) 2. taskName + listName Only specified fields will be updated for each task.
move_bulk_tasks
Move multiple tasks to a different list efficiently. For each task, you MUST provide either: 1. taskId alone (preferred) 2. taskName + listName WARNING: Task statuses may reset if target list has different status options.
delete_bulk_tasks
⚠️ PERMANENTLY DELETE multiple tasks. This action cannot be undone. For each task, you MUST provide either: 1. taskId alone (preferred and safest) 2. taskName + listName (use with caution)
create_list
Create a new list directly in a ClickUp space (not in a folder). You MUST provide either spaceId or spaceName. For creating lists inside folders, use create_list_in_folder instead.
create_list_in_folder
Create a new list within a ClickUp folder. You MUST provide either: 1) folderId alone, or 2) folderName WITH either spaceName or spaceId. Folder names may not be unique across spaces, which is why space information is required when using folderName.
get_list
Retrieve details about a specific ClickUp list. You MUST provide either listId or listName. Using listId is more reliable as list names might not be unique.
update_list
Update an existing ClickUp list's properties. You MUST provide either listId or listName, and at least one field to update (name, content, or status).
delete_list
Permanently delete a ClickUp list and all its tasks. You MUST provide either listId or listName. WARNING: This action cannot be undone.
create_folder
Create a new folder in a ClickUp space for organizing related lists. You MUST provide: 1. A folder name 2. Either spaceId (preferred) or spaceName After creating a folder, you can add lists to it using create_list_in_folder.
get_folder
Retrieve details about a specific folder including name, status, and metadata. Valid parameter combinations: 1. Use folderId alone (preferred) 2. Use folderName + (spaceId or spaceName) Helps you understand folder structure before creating or updating lists.
update_folder
Modify an existing folder's properties. Valid parameter combinations: 1. Use folderId alone (preferred) 2. Use folderName + (spaceId or spaceName) At least one update field (name or override_statuses) must be provided.
delete_folder
⚠️ PERMANENTLY DELETE a folder and all its contents. This action cannot be undone. Valid parameter combinations: 1. Use folderId alone (preferred and safest) 2. Use folderName + (spaceId or spaceName) WARNING: This will also delete all lists and tasks within the folder.
| 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 task details | taskId/taskName |
| 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 |
See full documentation for optional parameters and advanced usage.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp server": {
"windalfin_clickup-mcp-server": {
"command": "npx",
"args": [
"-y",
"@taazkareem/clickup-mcp-server@latest",
"\\"
]
}
}
}
}
McpServers
{
"windalfin_clickup-mcp-server": {
"command": "npx",
"args": [
"-y",
"@taazkareem/clickup-mcp-server@latest",
"\\"
]
}
}
> 🚧 Status Update: -The code refactoring has been completed. -Enhanced due date functionality now supports relative time expressions like "2 hours from now" with proper time display in ClickUp. -npx command updated to use @latest which should automatically update the server when a new version is released. -Server has been listed on Smithery, Glama, and Pulse MCP.
<a href="https://glama.ai/mcp/servers/iwjvs2zy63">
</a>
Quick Start
Directions for use with Cursor Composer Agent:
1. Get your credentials:
- ClickUp API key from ClickUp Settings
- Team ID from your ClickUp workspace URL
2. Go to Features in settings (or MCP Servers depending on version)
3. Add under MCP Servers:
npx -y @taazkareem/clickup-mcp-server@latest \
--env CLICKUP_API_KEY=your_api_key_here \
--env CLICKUP_TEAM_ID=your_team_id_here
4. Replace the credentials and click Save
5. Use Natural Language to interact with your ClickUp Workspace!
Smithery Installation
The server is also hosted on Smithery. There, you can preview the available tools or copy the commands to run on your specific client app.
Features
- 🎯 Task Management
- Create, update, and delete individual tasks
- Move and duplicate tasks between lists, spaces, and folders
- Create, update, move,and delete multiple tasks in bulk
- View and modify task details and properties
- Set due dates using natural language and relative time expressions
- 📂 Workspace Organization
- Complete workspace hierarchy (spaces, folders, lists)
- Tree structure with clear relationships
- Full CRUD operations for workspace components
- Efficient path-based navigation
- 🔄 Integration Features
- Name or ID-based item lookup
- Case-insensitive name matching
- Markdown formatting support
- Built-in API rate limiting
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 task details | taskId/taskName |
| 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 |
See full documentation for optional parameters and advanced usage.
Available Prompts
Not yet implemented (or needed) For now, you can send a follow up prompt after the tool result.| 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
Support the Developer
If you find this project useful, please consider supporting
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
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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



