ClickUp MCP Server
The ClickUp MCP Server enables AI-powered task management by interfacing with ClickUp's API, focusing on core workflows while excluding advanced features.
Task Management (CRUD): Create, read, update, and delete tasks with flexible ID support (standard IDs, custom patterns, URLs, hashes)
Task Organization & Navigation: Navigate and manage tasks across spaces, folders, and lists
Task Search & Filtering: Find tasks by text queries or filter by criteria like statuses and assignees
Comments & Collaboration: Read existing and create new comments on tasks
User & Assignment Management: List users, find users by name/email, and manage task assignees
Status Management: Update and track task statuses
Bulk Operations: Update or move multiple tasks simultaneously
Time Tracking: Log time entries and view tracked hours for tasks/users
Task Templates: Create tasks from predefined templates with customization options
Task Chains: Create sequences of dependent tasks
Team Analytics: View workload distribution and completion metrics
Enables interaction with ClickUp's task management API, providing tools for creating, reading, updating, and deleting tasks, managing task organization, searching and filtering tasks, handling assignees and statuses, performing bulk operations, tracking time, and generating team analytics.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ClickUp MCP Server create a task for implementing user authentication in the API project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ClickUp MCP Server
A Model Context Protocol (MCP) server that enables AI assistants to interact with ClickUp's task management API. This server provides comprehensive task management capabilities through natural language, focusing on essential project workflows rather than ClickUp's full feature set.
Built by the Diversio team for streamlined AI-powered task management.
🚀 What This Server Provides
✅ Core Task Management
Task CRUD Operations - Create, read, update, and delete tasks
Task Organization - Navigate spaces, folders, and lists
Task Search & Filtering - Find tasks by various criteria
Comments & Collaboration - Read and create comments on tasks
User & Assignment Management - List users, find by name/email, assign to tasks
Status Management - Update and track task statuses
✅ Productivity Features
Bulk Operations - Update or move multiple tasks at once
Time Tracking - Log time and view tracked hours
Task Templates - Create tasks from predefined templates (bug report, feature request, code review)
Task Chains - Create sequences of dependent tasks
Team Analytics - View workload distribution and completion metrics
✅ Flexible ID Support
Standard ClickUp IDs (
abc123)Custom ID patterns (
gh-123,bug-456)ClickUp URLs (
https://app.clickup.com/t/abc123)Hash format (
#123)
❌ What's NOT Included
This server focuses on task management essentials. Not supported:
ClickUp Docs/Documents
Whiteboards
Dashboards
Automations/Workflows
Goals/Targets
File/Attachment management
Webhook management
Advanced custom field operations
Calendar views
Forms integration
API Coverage: ~30-40% of ClickUp's full API, covering the most common task management workflows.
Related MCP server: ClickUp MCP
Installation
Quick Start (Recommended)
# Install from GitHub (latest)
uvx --from git+https://github.com/DiversioTeam/clickup-mcp clickup-mcp
# Or from PyPI (when published)
uvx clickup-mcpDevelopment Installation
git clone https://github.com/DiversioTeam/clickup-mcp
cd clickup-mcp
uv sync
uv run clickup-mcpConfiguration
API Key Setup
# Set your ClickUp API key
uvx clickup-mcp set-api-key YOUR_API_KEY_HERE
# Or set environment variable
export CLICKUP_MCP_API_KEY=your_api_keyGetting Your ClickUp API Key
Step-by-step instructions:
Log in to ClickUp at https://app.clickup.com
Navigate to Settings:
Click your avatar/profile picture in the bottom left corner
Select "Settings" from the dropdown menu
Go to Apps section:
In the left sidebar, click "Apps"
Then click "API" (or go directly to https://app.clickup.com/settings/apps)
Generate API Token:
Click the "Generate" button to create a new personal API token
Important: This token will only be shown once!
Copy and Save:
Copy the generated token immediately
Store it securely (password manager recommended)
Configure it using:
uvx clickup-mcp set-api-key YOUR_TOKEN_HERE
Important Notes:
Personal API tokens have the same permissions as your user account
Keep your token secure - treat it like a password
If you lose the token, you'll need to regenerate a new one
Tokens don't expire but can be revoked in the same settings page
Usage with AI Assistants
Claude Code (CLI)
Add to ~/.config/claude-code/mcp-settings.json:
{
"servers": {
"clickup": {
"command": "uvx",
"args": ["--from", "git+https://github.com/DiversioTeam/clickup-mcp.git", "clickup-mcp"]
}
}
}Claude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
{
"mcpServers": {
"clickup": {
"command": "uvx",
"args": ["--from", "git+https://github.com/DiversioTeam/clickup-mcp.git", "clickup-mcp"]
}
}
}VS Code
VS Code has excellent MCP support through both native integration and extensions. Multiple setup options available:
Option 1: Native VS Code MCP (Recommended)
VS Code now has built-in MCP support with GitHub Copilot and Agent Mode. Add to your workspace:
Create .vscode/mcp.json in your project:
{
"servers": {
"clickup": {
"command": "uvx",
"args": ["--from", "git+https://github.com/DiversioTeam/clickup-mcp.git", "clickup-mcp"]
}
}
}Or add to VS Code User Settings:
Open Command Palette (
Ctrl+Shift+P/Cmd+Shift+P)Run "Preferences: Open User Settings (JSON)"
Add to settings:
{
"mcp": {
"servers": {
"clickup": {
"command": "uvx",
"args": ["--from", "git+https://github.com/DiversioTeam/clickup-mcp.git", "clickup-mcp"]
}
}
}
}Option 2: VS Code Extensions with MCP Support
Copilot MCP Extension:
Install "Copilot MCP" from VS Code Marketplace
Search, manage, and install MCP servers directly from VS Code
The extension will help you configure the ClickUp MCP server
Cline (AI Coding Assistant):
Install "Cline" extension for advanced AI coding with MCP support
Configure ClickUp MCP server through Cline's settings
Managing MCP Servers in VS Code
Open Command Palette (
Ctrl+Shift+P/Cmd+Shift+P)Run "MCP: List Servers" to view configured servers
Select ClickUp server to Start/Stop/Restart or view logs
Use "MCP: Show Output" for debugging
Verify VS Code Setup
Ensure your ClickUp API key is configured:
uvx clickup-mcp set-api-key YOUR_KEYIn VS Code, ask GitHub Copilot: "Can you list my ClickUp spaces using MCP tools?"
Check MCP server status with Command Palette → "MCP: List Servers"
Available Tools (28 Tools)
📝 Task Management
create_task- Create new tasksget_task- Get task details (supports various ID formats)update_task- Update task propertiesdelete_task- Delete taskscreate_task_from_template- Create from predefined templatescreate_task_chain- Create dependent task sequences
🔍 Task Discovery
list_tasks- List tasks with filtering optionssearch_tasks- Search tasks by text and criteriaget_subtasks- Get all subtasks of a parentget_task_comments- Get comments on taskscreate_task_comment- Create comments on tasks
👥 Assignment & Status
get_task_status- Get current task statusupdate_task_status- Change task statusget_assignees- List task assigneesassign_task- Assign users to tasks
🗂️ Navigation
list_spaces- List all spaces in workspacelist_folders- List folders in a spacelist_lists- List all listsfind_list_by_name- Find lists by name
⚡ Bulk Operations
bulk_update_tasks- Update multiple tasks at oncebulk_move_tasks- Move multiple tasks to different lists
⏱️ Time Tracking
get_time_tracked- Get time tracked for users/periodslog_time- Log time spent on tasks
📊 Analytics
get_team_workload- See task distribution across team membersget_task_analytics- Get velocity metrics and completion rates
👤 User Management
list_users- List all users in workspaceget_current_user- Get current authenticated user detailsfind_user_by_name- Find users by name or email
Example Usage
Natural Language Commands
Ask your AI assistant:
"Create a bug report for login issues in the Development list"
"Show me all high-priority tasks assigned to me"
"Move all completed tasks from Sprint 1 to Archive"
"Log 2 hours on task gh-123 for debugging"
"What's our team's current workload?"
"Create a task chain: Design → Implement → Test → Deploy"
"Add a comment to task GH-3761 saying 'testing complete'"
"Get all comments on the bug report task"
"Comment on task abc123 and assign it to John"Task Templates
"Create a bug report template for the payment processing issue"
"Use the code review template for PR #456"
"Create a feature request for dark mode"Analytics Queries
"What's our task completion rate this month?"
"Who has the most tasks assigned?"
"Show me time tracked on the API project"Development
Running Tests
# Run all tests (62 tests)
uv run pytest
# Run with coverage
uv run pytest --cov=clickup_mcp
# Run specific test
uv run pytest tests/test_client.py::test_create_taskCode Quality
# Check code style
uv run ruff check .
# Format code
uv run ruff format .
# Type checking
uv run mypy src/Troubleshooting
Check Configuration
# Verify API key is configured
uv run clickup-mcp check-config
# Test API connection
uv run clickup-mcp test-connectionDebug Mode
# Run with debug logging
uv run clickup-mcp --debugLocal Testing with Claude Code
# Add the server for local testing with Claude Code CLI
claude mcp add clickup-local -- uv run clickup-mcp
# Then you can test the functionality immediately
# Example: List spaces, create tasks, add comments, etc.Technical Limitations
Rate Limiting: No built-in rate limiting (ClickUp: 100 req/min)
Pagination: Limited pagination support
Caching: No response caching implemented
Custom Fields: Models exist but limited tool support
Error Recovery: Basic error handling without sophisticated retry
Contributing
We welcome contributions! Focus areas:
Priority Improvements
Enhanced error handling and retry logic
Response caching implementation
Better pagination support
Expanded custom field support
How to Contribute
Fork the repository
Create a feature branch (
git checkout -b feature/improvement)Make changes and add tests
Ensure all tests pass (
uv run pytest)Run linting (
uv run ruff check .)Submit a Pull Request
Development Setup
git clone https://github.com/yourusername/clickup-mcp
cd clickup-mcp
uv sync
uv run pytest # Ensure tests passSupport
Issues: GitHub Issues
Discussions: GitHub Discussions
Email: tech@diversio.com
License
MIT License - see LICENSE file for details.
Acknowledgments
Built by Diversio team
Powered by Model Context Protocol
Uses ClickUp API v2
Available Tools
28 toolsassign_taskC
Assign users to a task
Inputs: task_id (required), user_ids (required).
bulk_move_tasksC
Move multiple tasks to a different list
Inputs: task_ids (required), target_list_id (required).
bulk_update_tasksC
Update multiple tasks at once
Inputs: task_ids (required), updates (required).
create_taskC
Create a new task in a specific list
Inputs: title (required), description, list_name, list_id, +4 more.
create_task_chainC
Create a chain of dependent tasks
Inputs: tasks (required), list_id (required), auto_link.
create_task_commentC
Create a comment on a task
Inputs: task_id (required), comment_text (required), assignee, notify_all.
create_task_from_templateC
Create a task from a template
Inputs: template_name (required), list_id (required), customizations.
delete_taskC
Delete a task
Inputs: task_id (required).
find_list_by_nameC
Find a list by name
Inputs: name (required), space_id.
find_user_by_nameC
Find a user by name or email
Inputs: name (required), workspace_id.
get_assigneesC
Get assignees of a task
Inputs: task_id (required).
get_current_userA
Get details of the currently authenticated user
Inputs: no named parameters.
get_subtasksC
Get all subtasks of a parent task
Inputs: parent_task_id (required).
get_taskC
Get task details by ID (supports various ID formats including project codes)
Inputs: task_id (required), include_subtasks.
get_task_analyticsC
Get analytics for tasks (velocity, completion rate, etc.)
Inputs: space_id (required), period_days.
get_task_commentsC
Get comments on a task
Inputs: task_id (required).
get_task_statusC
Get current status of a task
Inputs: task_id (required).
get_team_workloadC
Get workload distribution across team members
Inputs: space_id (required), include_completed.
get_time_trackedC
Get time tracked for tasks
Inputs: user_id, start_date, end_date.
list_foldersC
List folders in a space
Inputs: space_id (required).
list_listsB
List all lists in a folder or space
Inputs: folder_id, space_id.
list_spacesB
List all spaces in workspace
Inputs: no named parameters.
list_tasksC
List tasks in a list, folder, or space
Inputs: list_id, folder_id, space_id, statuses, +2 more.
list_usersC
List all users in the workspace
Inputs: workspace_id.
log_timeC
Log time spent on a task
Inputs: task_id (required), duration (required), description.
search_tasksB
Search tasks across workspace
Inputs: query, statuses, assignees.
update_taskC
Update task properties
Inputs: task_id (required), title, description, status, +4 more.
update_task_statusC
Update task status
Inputs: task_id (required), status (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 28 tools
Most tools have distinct purposes, but some overlap exists, such as 'update_task' and 'update_task_status' (which could be seen as a subset), and 'list_tasks' and 'search_tasks' (both retrieve tasks but with different scopes). Descriptions help clarify, but agents might occasionally misselect between these pairs.
Tool names follow a highly consistent verb_noun pattern throughout, with clear actions like 'create', 'get', 'list', 'update', 'delete', and 'find'. There are no deviations in style, such as mixing camelCase or snake_case, making the set predictable and readable.
With 28 tools, the count is borderline high for a task management server, potentially feeling heavy and overwhelming. While it covers many operations, it might benefit from consolidation or scoping down to avoid complexity, as typical well-scoped servers have 3-15 tools.
The tool set provides comprehensive CRUD and lifecycle coverage for the ClickUp domain, including task management (create, get, update, delete, search), user and list operations, analytics, time tracking, and comments. There are no obvious gaps, and agents can handle full workflows without dead ends.
Related MCP Connectors
Manage your ClickUp workspace by creating, updating, and organizing tasks, lists, folders, and tag…
Manage Redbooth tasks, task lists, comments, tags and files from Claude and other AI assistants.
Create and manage MeisterTask projects, tasks, and notes from your AI assistant.
Manage projects, tasks, time tracking, and team collaboration through natural language.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with ClickUp's project management platform. Supports comprehensive task management, workspace administration, and list operations through natural language commands.-
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with ClickUp workspaces through natural language - search tasks, manage workflows, track time, collaborate via comments, and access complete task context including comments and images.-
- FlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with ClickUp tasks, analyze workflows, update statuses, manage custom fields, and add comments through the ClickUp API with built-in rate limiting and type safety.51 npm-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact directly with the ClickUp REST API v2 for managing tasks, folders, and lists. It supports full workspace hierarchy management, time tracking, and task operations through natural language.52 npmMIT