v1.0.0

ClickUp MCP

pvoo pvoo ← All skills

Manage ClickUp tasks, docs, time tracking, comments, chat, and search via official MCP. OAuth authentication required.

Downloads
1.2k
Stars
2
Versions
1
Updated
2026-02-24

Install

npx clawhub@latest install clickup-mcp

Documentation

ClickUp MCP (Official)

Access ClickUp via the official MCP server. Full workspace search, task management, time tracking, comments, chat, and docs.

Setup

Option 1: Direct OAuth (Supported Clients Only)

ClickUp MCP only allows OAuth from allowlisted clients:

  • -Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, ChatGPT

Claude Code

claude mcp add clickup --transport http https://mcp.clickup.com/mcp

Then /mcp in session to authorize

Option 2: Claude Code → mcporter (Recommended)

Use Claude Code to OAuth, then extract token for mcporter:

Step 1: Authorize via Claude Code
claude mcp add clickup --transport http https://mcp.clickup.com/mcp

claude

In Claude Code, run: /mcp

Complete OAuth in browser

Step 2: Extract token
jq -r '.mcpOAuth | to_entries | .[] | select(.key | startswith("clickup")) | .value.accessToken' ~/.claude/.credentials.json
Step 3: Add to environment

Add to ~/.clawdbot/.env

CLICKUP_TOKEN=eyJhbGciOiJkaXIi...

Step 4: Configure mcporter

Add to config/mcporter.json:

{

"mcpServers": {

"clickup": {

"baseUrl": "https://mcp.clickup.com/mcp",

"description": "Official ClickUp MCP",

"headers": {

"Authorization": "Bearer ${CLICKUP_TOKEN}"

}

}

}

}

Step 5: Test
mcporter list clickup

mcporter call 'clickup.clickup_search(keywords: "test", count: 3)'

Token Refresh

Tokens are long-lived (~10 years). If expired:

1. Re-run /mcp in Claude Code

2. Re-extract token from ~/.claude/.credentials.json

3. Update CLICKUP_TOKEN in .env

Available Tools (32)

Search

| Tool | Description |

|------|-------------|

| clickup_search | Universal search across tasks, docs, dashboards, chat, files |

Tasks

| Tool | Description |

|------|-------------|

| clickup_create_task | Create task with name, description, status, assignees, due date, priority |

| clickup_get_task | Get task details (with optional subtasks) |

| clickup_update_task | Update any task field |

| clickup_attach_task_file | Attach file to task (URL or base64) |

| clickup_add_tag_to_task | Add tag to task |

| clickup_remove_tag_from_task | Remove tag from task |

Comments

| Tool | Description |

|------|-------------|

| clickup_get_task_comments | Get all comments on task |

| clickup_create_task_comment | Add comment (supports @mentions) |

Time Tracking

| Tool | Description |

|------|-------------|

| clickup_start_time_tracking | Start timer on task |

| clickup_stop_time_tracking | Stop active timer |

| clickup_add_time_entry | Log time manually |

| clickup_get_task_time_entries | Get time entries for task |

| clickup_get_current_time_entry | Check active timer |

Workspace & Hierarchy

| Tool | Description |

|------|-------------|

| clickup_get_workspace_hierarchy | Get full structure (Spaces, Folders, Lists) |

| clickup_create_list | Create list in Space |

| clickup_create_list_in_folder | Create list in Folder |

| clickup_get_list | Get list details |

| clickup_update_list | Update list settings |

| clickup_create_folder | Create folder in Space |

| clickup_get_folder | Get folder details |

| clickup_update_folder | Update folder settings |

Members

| Tool | Description |

|------|-------------|

| clickup_get_workspace_members | List all workspace members |

| clickup_find_member_by_name | Find member by name/email |

| clickup_resolve_assignees | Get user IDs from names |

Chat

| Tool | Description |

|------|-------------|

| clickup_get_chat_channels | List all Chat channels |

| clickup_send_chat_message | Send message to channel |

Docs

| Tool | Description |

|------|-------------|

| clickup_create_document | Create new Doc |

| clickup_list_document_pages | Get Doc structure |

| clickup_get_document_pages | Get page content |

| clickup_create_document_page | Add page to Doc |

| clickup_update_document_page | Edit page content |

Usage Examples

Search Workspace

mcporter call 'clickup.clickup_search(

keywords: "Q4 marketing",

count: 10

)'

Create Task

mcporter call 'clickup.clickup_create_task(

name: "Review PR #42",

list_id: "901506994423",

description: "Check the new feature",

status: "to do"

)'

Update Task

mcporter call 'clickup.clickup_update_task(

task_id: "abc123",

status: "in progress"

)'

Add Comment

mcporter call 'clickup.clickup_create_task_comment(

task_id: "abc123",

comment_text: "@Mark can you review this?"

)'

Time Tracking

Start timer

mcporter call 'clickup.clickup_start_time_tracking(

task_id: "abc123",

description: "Working on feature"

)'

Stop timer

mcporter call 'clickup.clickup_stop_time_tracking()'

Log time manually (duration in ms, e.g., 2h = 7200000)

mcporter call 'clickup.clickup_add_time_entry(

task_id: "abc123",

start: "2026-01-06 10:00",

duration: "2h",

description: "Code review"

)'

Get Workspace Structure

mcporter call 'clickup.clickup_get_workspace_hierarchy(limit: 10)'

Chat

List channels

mcporter call 'clickup.clickup_get_chat_channels()'

Send message

mcporter call 'clickup.clickup_send_chat_message(

channel_id: "channel-123",

content: "Team standup in 5 minutes!"

)'

Limitations

  • -No delete operations — Safety measure; use ClickUp UI
  • -No custom fields — Not exposed in official MCP
  • -No views management — Not available
  • -OAuth required — Must use allowlisted client (Claude Code workaround available)
  • -Rate limits — Same as ClickUp API (~100 req/min)

Resources

  • -[ClickUp MCP Documentation](https://developer.clickup.com/docs/connect-an-ai-assistant-to-clickups-mcp-server)
  • -[Supported Tools](https://developer.clickup.com/docs/mcp-tools)
  • -[ClickUp API Reference](https://clickup.com/api)
  • -[Feedback / Allowlist Request](https://feedback.clickup.com)

Launch an agent with ClickUp MCP on Termo.