Clickup Task
Model Context Protocol (MCP) server for ClickUp β manage tasks, track time, and post daily updates from Claude Code, Cursor, or any MCP-compatible AI tool.
Ask AI about Clickup Task
Powered by Claude Β· Grounded in docs
I know everything about Clickup Task. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
ClickUp MCP Server
A Model Context Protocol (MCP) server for ClickUp. Manage tasks, track time, change status, and post daily standup updates to ClickUp Chat β all from Claude Code, Cursor, Claude Desktop, or any MCP-compatible AI tool.
Tell your AI: "Create Test task in AI Role Play, log 2 hours, mark delivered, and post my daily update to the channel" β done in seconds, no context-switching.
Companion Chrome extension
This repo also ships a Chrome extension that builds the same daily standup format from your tracked time, no AI needed. Pick a date and folder, hit Copy, paste into ClickUp Chat.
β extension/README.md for install + usage. Pre-built zips are on the Releases page.
Features
- Log tasks β auto-assigns to you, finds the right space/list (including lists inside Sprint folders)
- Track real time β log actual hours spent (not just estimates) as a real time entry
- Update status β Open β In Progress β Delivered with one line
- Discover β list spaces, folders, lists, and chat channels in your workspace
- Daily standup updates β formatted message to any ClickUp Chat channel:
- Done Today (with task links + time spent)
- Planned for Tomorrow
- AI Usage
- Challenges / Blockers
Setup
1. Get Your ClickUp API Key
- ClickUp β Settings β Apps
- Click Generate under API Token
- Copy the
pk_...key β you'll need it below
2. Install the Server
Recommended β install globally (works from anywhere on your system):
npm install -g clickup-task-mcp
After install, the clickup-task-mcp command is available system-wide. Verify:
which clickup-task-mcp # should print a path
clickup-task-mcp --help # (or just runs the server on stdio)
To upgrade later:
npm update -g clickup-task-mcp
Alternative β build from source (for contributors):
git clone git@github.com:arslan8122/clickup-mcp.git
cd clickup-mcp
npm install
npm run build
No .env file needed for normal use. You'll pass your API key directly to your AI client below.
3. Connect to Your AI Client
Pick the section that matches your tool. The API key is passed as an environment variable by the client when it launches the server.
Claude Code
After global install:
claude mcp add clickup -s user -e CLICKUP_API_KEY=pk_your_key_here -- clickup-task-mcp
If built from source:
claude mcp add clickup -s user -e CLICKUP_API_KEY=pk_your_key_here -- node /absolute/path/to/clickup-mcp/dist/index.js
Restart Claude Code, then run /mcp to confirm it's connected.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"clickup": {
"command": "clickup-task-mcp",
"env": {
"CLICKUP_API_KEY": "pk_your_key_here"
}
}
}
}
Or if built from source, use:
{
"mcpServers": {
"clickup": {
"command": "node",
"args": ["/absolute/path/to/clickup-mcp/dist/index.js"],
"env": {
"CLICKUP_API_KEY": "pk_your_key_here"
}
}
}
}
Restart Claude Desktop.
Cursor / Other MCP Clients
Same JSON shape as Claude Desktop, in the client's MCP config file. After a global install, the command is just clickup-task-mcp with no args needed.
Environment Variables
| Variable | Required | Description |
|---|---|---|
CLICKUP_API_KEY | β | Your ClickUp personal API token (starts with pk_) |
CLICKUP_TEAM_ID | β | Workspace/team ID. Auto-detected from your API key. |
CLICKUP_USER_ID | β | Your user ID. Auto-detected from your API key. |
Override CLICKUP_TEAM_ID / CLICKUP_USER_ID only if you belong to multiple workspaces and the auto-detected one is wrong.
Using .env (development only)
If you're developing or testing the server directly (e.g. npm run start from the cloned repo), you can put your key in a .env file instead:
cp .env.example .env
# Edit .env, add CLICKUP_API_KEY=pk_...
npm run start
This is a dev convenience β end users using Claude Code / Cursor / etc. should not need a .env file. The API key flows through the client's MCP config.
Available Tools
Task Management
log_taskβ Create a task in a space/list, auto-assign to youupdate_task_statusβ Change a task's statusget_task_updateβ Get a formatted task summaryfind_taskβ Search task by name (basic)track_timeβ Log actual time spent on a task (e.g."2h","30m","1h 30m")
Discovery
list_spacesβ List all spaces in your workspacelist_foldersβ List folders in a spacelist_listsβ List all lists in a space (including those inside folders/sprint folders)list_chat_channelsβ List all accessible ClickUp Chat channels
ClickUp Chat
send_chat_messageβ Post a free-form markdown message to any channelsend_task_update_to_chatβ Post a single task's status line to a channelsend_daily_update_to_chatβ Post a structured 4-section daily standup (Done Today / Planned Tomorrow / AI Usage / Blockers)
Example: Full Daily Workflow
In one prompt to your AI:
Create "Fix login bug" in AI Role Play Assistant, log 2h on it,
mark it delivered, then post my daily update to AI Role Play
Assistant - Mike's Project channel.
The MCP will run: log_task β track_time β update_task_status β send_daily_update_to_chat.
Roadmap / Limitations
- No inline task pills in chat: ClickUp's public v3 Chat API only supports markdown β true rich task pills (with status badges) require their internal API. The
send_daily_update_to_chattool bakes the status into the link text as[Task [DELIVERED]](url)as a workaround. find_taskis basic β full search across the workspace via the v2 search API is on the roadmap.
Contributing
PRs welcome! See CONTRIBUTING.md for development setup, branching conventions, and how to add a new MCP tool.
Quick:
git clone git@github.com:arslan8122/clickup-mcp.git
cd clickup-mcp && npm install && npm run build
Open issues or feature requests at https://github.com/arslan8122/clickup-mcp/issues.
License
MIT Β© Arslan Asghar
