ClickUp MCP Server
ClickUp MCP servers enable AI models to interact with ClickUp workspaces, providing capabilities for task management, project tracking, time tracking, and team collaboration workflows.
Overview
The MCP ClickUp Server enables AI models to interact with ClickUp, the all-in-one productivity platform that combines task management, docs, goals, and time tracking. ClickUp is widely used by teams for project management, workflow automation, and collaboration.
Third-Party Integration:
ClickUp MCP integration enables programmatic access to tasks, lists, spaces, and team workflows.
Key Features
Task Management
Create, update, and manage tasks with custom fields and statuses
Workspace Organization
Manage spaces, folders, and lists in hierarchical structure
Time Tracking
Track time entries, generate reports, and monitor productivity
Team Collaboration
Assign tasks, add comments, and manage team member workflows
Available Tools
Quick Reference
| Tool | Purpose | Category |
|---|---|---|
create_task | Create new task | Tasks |
get_task | Retrieve task details | Tasks |
update_task | Modify task properties | Tasks |
list_tasks | Query tasks by filters | Tasks |
add_comment | Add task comment | Comments |
get_lists | Retrieve lists | Organization |
get_spaces | Retrieve spaces | Organization |
get_teams | Get team information | Teams |
track_time | Create time entry | Time Tracking |
get_time_entries | Retrieve time logs | Time Tracking |
Detailed Usage
create_task▶
Create a new task with customizable properties.
// Create simple task
use_mcp_tool({
server_name: "clickup",
tool_name: "create_task",
arguments: {
list_id: "123456789",
name: "Implement user authentication",
description: "Add JWT-based authentication to the API",
priority: 2, // 1=urgent, 2=high, 3=normal, 4=low
status: "to do"
}
});
// Create task with assignees and due date
use_mcp_tool({
server_name: "clickup",
tool_name: "create_task",
arguments: {
list_id: "123456789",
name: "Design landing page mockups",
assignees: [12345678, 87654321],
due_date: 1735689600000, // Unix timestamp in ms
tags: ["design", "high-priority"]
}
});
Returns created task with ID and metadata.
get_task▶
Retrieve detailed information about a specific task.
use_mcp_tool({
server_name: "clickup",
tool_name: "get_task",
arguments: {
task_id: "abc123xyz"
}
});
Returns task details including custom fields, assignees, time tracked, and comments.
update_task▶
Update task properties including status, assignees, and priority.
// Update task status
use_mcp_tool({
server_name: "clickup",
tool_name: "update_task",
arguments: {
task_id: "abc123xyz",
status: "in progress"
}
});
// Update multiple properties
use_mcp_tool({
server_name: "clickup",
tool_name: "update_task",
arguments: {
task_id: "abc123xyz",
name: "Updated task name",
priority: 1, // Urgent
assignees: {
add: [12345678],
rem: [87654321]
}
}
});
Returns updated task object.
list_tasks▶
Query tasks with filters for status, assignees, and dates.
// Get all tasks in a list
use_mcp_tool({
server_name: "clickup",
tool_name: "list_tasks",
arguments: {
list_id: "123456789"
}
});
// Get tasks with filters
use_mcp_tool({
server_name: "clickup",
tool_name: "list_tasks",
arguments: {
list_id: "123456789",
statuses: ["to do", "in progress"],
assignees: [12345678],
due_date_gt: 1735689600000, // Due after date
order_by: "due_date"
}
});
Returns array of matching tasks with pagination support.
add_comment▶
Add comments to tasks for collaboration and updates.
use_mcp_tool({
server_name: "clickup",
tool_name: "add_comment",
arguments: {
task_id: "abc123xyz",
comment_text: "Updated the API endpoint to use HTTPS",
assignee: 12345678, // Optional: notify specific user
notify_all: false
}
});
Returns created comment with ID and timestamp.
get_lists▶
Retrieve all lists within a folder or space.
// Get lists in a folder
use_mcp_tool({
server_name: "clickup",
tool_name: "get_lists",
arguments: {
folder_id: "456789123"
}
});
// Get folderless lists in a space
use_mcp_tool({
server_name: "clickup",
tool_name: "get_lists",
arguments: {
space_id: "789123456"
}
});
Returns array of lists with IDs and metadata.
get_spaces▶
Retrieve all spaces in the team workspace.
use_mcp_tool({
server_name: "clickup",
tool_name: "get_spaces",
arguments: {
team_id: "123"
}
});
Returns spaces with folders, lists, and settings.
track_time▶
Create time entry for a task with duration and description.
// Track time with duration
use_mcp_tool({
server_name: "clickup",
tool_name: "track_time",
arguments: {
task_id: "abc123xyz",
duration: 7200000, // 2 hours in milliseconds
description: "Implemented authentication logic"
}
});
// Track time with start/end
use_mcp_tool({
server_name: "clickup",
tool_name: "track_time",
arguments: {
task_id: "abc123xyz",
start: 1735689600000,
end: 1735697200000,
billable: true
}
});
Returns time entry with ID and calculated duration.
get_time_entries▶
Retrieve time entries with filtering by date range and team member.
// Get time entries for a task
use_mcp_tool({
server_name: "clickup",
tool_name: "get_time_entries",
arguments: {
task_id: "abc123xyz"
}
});
// Get team time entries for date range
use_mcp_tool({
server_name: "clickup",
tool_name: "get_time_entries",
arguments: {
team_id: "123",
start_date: 1735689600000,
end_date: 1735776000000,
assignee: 12345678
}
});
Returns time entries with duration, billable status, and descriptions.
get_teams▶
Retrieve team information and member details.
use_mcp_tool({
server_name: "clickup",
tool_name: "get_teams",
arguments: {}
});
Returns authorized teams with members and permissions.
Installation
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-clickup"
],
"env": {
"CLICKUP_API_KEY": "your-clickup-api-key"
}
}
}
}
API Key Required:
You need to generate a ClickUp API token from ClickUp Settings → Apps → API Token.
Setup Guide
1. Generate ClickUp API Token
- Log in to your ClickUp workspace
- Go to Settings → Apps
- Click API Token section
- Click "Generate" or "Regenerate" if you already have one
- Copy the API token immediately (you won't see it again)
- Store it securely
2. Find Your Team ID
- Go to your ClickUp workspace
- Navigate to Settings → Workspace
- Your Team ID appears in the workspace settings
- Alternatively, use
get_teamstool to retrieve team IDs programmatically
3. Configure MCP Server
Add the API token to your MCP configuration as shown in the Installation section above.
Permission Scopes:
Ensure your API token has appropriate permissions for the operations you need (tasks, time tracking, comments, etc.).
Common Use Cases
1. Sprint Planning and Task Creation
Create tasks for a new development sprint:
// Create sprint tasks
const tasks = [
{ name: "Design user dashboard", priority: 2, tags: ["frontend", "design"] },
{ name: "Implement REST API endpoints", priority: 2, tags: ["backend", "api"] },
{ name: "Write unit tests", priority: 3, tags: ["testing"] }
];
tasks.forEach(task => {
use_mcp_tool({
server_name: "clickup",
tool_name: "create_task",
arguments: {
list_id: "sprint-backlog-list-id",
name: task.name,
priority: task.priority,
tags: task.tags,
status: "to do"
}
});
});
2. Daily Standup Report Generation
Get team's tasks for standup meeting:
// Get team member's active tasks
use_mcp_tool({
server_name: "clickup",
tool_name: "list_tasks",
arguments: {
list_id: "123456789",
statuses: ["in progress", "to do"],
assignees: [team_member_id],
order_by: "priority"
}
});
// Get yesterday's completed tasks
use_mcp_tool({
server_name: "clickup",
tool_name: "list_tasks",
arguments: {
list_id: "123456789",
statuses: ["complete"],
assignees: [team_member_id],
date_updated_gt: yesterday_timestamp
}
});
3. Automated Task Status Updates
Update task status based on workflow triggers:
// Move task to "in progress" when work starts
use_mcp_tool({
server_name: "clickup",
tool_name: "update_task",
arguments: {
task_id: "abc123xyz",
status: "in progress"
}
});
// Add comment documenting the change
use_mcp_tool({
server_name: "clickup",
tool_name: "add_comment",
arguments: {
task_id: "abc123xyz",
comment_text: "Started work on this task. ETA: 2 days"
}
});
// Start time tracking
use_mcp_tool({
server_name: "clickup",
tool_name: "track_time",
arguments: {
task_id: "abc123xyz",
start: Date.now(),
description: "Beginning implementation"
}
});
4. Time Tracking and Reporting
Generate time reports for billing or productivity analysis:
// Get this week's time entries for a team
use_mcp_tool({
server_name: "clickup",
tool_name: "get_time_entries",
arguments: {
team_id: "123",
start_date: week_start_timestamp,
end_date: week_end_timestamp
}
});
// Get billable hours for client projects
use_mcp_tool({
server_name: "clickup",
tool_name: "get_time_entries",
arguments: {
team_id: "123",
start_date: month_start_timestamp,
end_date: month_end_timestamp,
billable: true
}
});
5. Bulk Task Assignment
Assign tasks to team members based on workload:
// Get task details
use_mcp_tool({
server_name: "clickup",
tool_name: "get_task",
arguments: {
task_id: "abc123xyz"
}
});
// Assign to team member
use_mcp_tool({
server_name: "clickup",
tool_name: "update_task",
arguments: {
task_id: "abc123xyz",
assignees: {
add: [engineer_id]
},
due_date: next_friday_timestamp,
priority: 2
}
});
// Notify via comment
use_mcp_tool({
server_name: "clickup",
tool_name: "add_comment",
arguments: {
task_id: "abc123xyz",
comment_text: "@engineer Please review the requirements and start implementation",
assignee: engineer_id,
notify_all: false
}
});
ClickUp Hierarchy
Understanding ClickUp's organizational structure:
Workspace (Team)
└── Space
├── Folder (optional)
│ └── List
│ └── Task
│ ├── Subtask
│ └── Checklist
└── List (folderless)
└── Task
Priority Levels
ClickUp priority values:
- 1 - Urgent (red flag)
- 2 - High (yellow flag)
- 3 - Normal (blue flag)
- 4 - Low (gray flag)
Custom Fields
ClickUp supports custom fields for tasks:
- Text: Short text input
- Number: Numeric values
- Dropdown: Select from predefined options
- Date: Date picker
- Checkbox: Boolean flag
- URL: Link field
- Email: Email address
- Phone: Phone number
- Rating: Star rating (1-5)
Best Practices
- Use List IDs Consistently: Always reference tasks by their parent list for better organization
- Set Realistic Due Dates: Include due dates to enable priority filtering and calendar views
- Track Time Regularly: Log time entries daily for accurate project tracking
- Use Tags Effectively: Leverage tags for cross-cutting concerns (priority, category, client)
- Comment for Context: Add comments when updating task status to document decisions
- Batch Operations: Use filters to query and update multiple tasks efficiently
Rate Limits
ClickUp API has rate limits:
- 100 requests per minute per API token
- Burst allowance: Short bursts of up to 200 requests
- Use pagination for large result sets
- Implement retry logic with exponential backoff
Sources
Related Articles
Unity MCP Server
Unity MCP servers enable AI models to interact with the Unity Editor, providing capabilities for scene manipulation, asset management, script editing, and game development automation.
ClickHouse MCP Server
ClickHouse MCP servers enable AI models to interact with ClickHouse databases, providing capabilities for high-performance analytical queries, data warehousing, and real-time analytics.
Gaming and Entertainment MCP Servers
The Gaming & Entertainment category provides integration with gaming platforms and entertainment systems, enabling interactive gaming experiences and virtual entertainment management.