✓ Verified 💻 Development ✓ Enhanced Data

Clickup Mcp

Manage ClickUp tasks, docs, time tracking, comments, chat, and search.

Rating
4.1 (220 reviews)
Downloads
9,198 downloads
Version
1.0.0

Overview

Manage ClickUp tasks, docs, time tracking, comments, chat, and search.

Complete Documentation

View Source →

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
bash
# 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

bash
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

bash
jq -r '.mcpOAuth | to_entries | .[] | select(.key | startswith("clickup")) | .value.accessToken' ~/.claude/.credentials.json

Step 3: Add to environment

bash
# Add to ~/.clawdbot/.env
CLICKUP_TOKEN=eyJhbGciOiJkaXIi...

Step 4: Configure mcporter

Add to config/mcporter.json:

json
{
  "mcpServers": {
    "clickup": {
      "baseUrl": "https://mcp.clickup.com/mcp",
      "description": "Official ClickUp MCP",
      "headers": {
        "Authorization": "Bearer ${CLICKUP_TOKEN}"
      }
    }
  }
}

Step 5: Test

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

Token Refresh

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

  • Re-run /mcp in Claude Code
  • Re-extract token from ~/.claude/.credentials.json
  • Update CLICKUP_TOKEN in .env

Available Tools (32)

Search

ToolDescription
clickup_searchUniversal search across tasks, docs, dashboards, chat, files

Tasks

ToolDescription
clickup_create_taskCreate task with name, description, status, assignees, due date, priority
clickup_get_taskGet task details (with optional subtasks)
clickup_update_taskUpdate any task field
clickup_attach_task_fileAttach file to task (URL or base64)
clickup_add_tag_to_taskAdd tag to task
clickup_remove_tag_from_taskRemove tag from task

Comments

ToolDescription
clickup_get_task_commentsGet all comments on task
clickup_create_task_commentAdd comment (supports @mentions)

Time Tracking

ToolDescription
clickup_start_time_trackingStart timer on task
clickup_stop_time_trackingStop active timer
clickup_add_time_entryLog time manually
clickup_get_task_time_entriesGet time entries for task
clickup_get_current_time_entryCheck active timer

Workspace & Hierarchy

ToolDescription
clickup_get_workspace_hierarchyGet full structure (Spaces, Folders, Lists)
clickup_create_listCreate list in Space
clickup_create_list_in_folderCreate list in Folder
clickup_get_listGet list details
clickup_update_listUpdate list settings
clickup_create_folderCreate folder in Space
clickup_get_folderGet folder details
clickup_update_folderUpdate folder settings

Members

ToolDescription
clickup_get_workspace_membersList all workspace members
clickup_find_member_by_nameFind member by name/email
clickup_resolve_assigneesGet user IDs from names

Chat

ToolDescription
clickup_get_chat_channelsList all Chat channels
clickup_send_chat_messageSend message to channel

Docs

ToolDescription
clickup_create_documentCreate new Doc
clickup_list_document_pagesGet Doc structure
clickup_get_document_pagesGet page content
clickup_create_document_pageAdd page to Doc
clickup_update_document_pageEdit page content

Usage Examples

Search Workspace

bash
mcporter call 'clickup.clickup_search(
  keywords: "Q4 marketing",
  count: 10
)'

Create Task

bash
mcporter call 'clickup.clickup_create_task(
  name: "Review PR #42",
  list_id: "901506994423",
  description: "Check the new feature",
  status: "to do"
)'

Update Task

bash
mcporter call 'clickup.clickup_update_task(
  task_id: "abc123",
  status: "in progress"
)'

Add Comment

bash
mcporter call 'clickup.clickup_create_task_comment(
  task_id: "abc123",
  comment_text: "@Mark can you review this?"
)'

Time Tracking

bash
# 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

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

Chat

bash
# 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

Installation

Terminal bash

openclaw install clickup-mcp
    
Copied!

💻Code Examples

# Then /mcp in session to authorize

-then-mcp-in-session-to-authorize.txt
### Option 2: Claude Code → mcporter (Recommended)

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

**Step 1: Authorize via Claude Code**

CLICKUP_TOKEN=eyJhbGciOiJkaXIi...

clickuptokeneyjhbgcioijkaxii.txt
**Step 4: Configure mcporter**

Add to `config/mcporter.json`:

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

mcporter-call-clickupclickupsearchkeywords-test-count-3.txt
### 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
example.sh
# Claude Code
claude mcp add clickup --transport http https://mcp.clickup.com/mcp
# Then /mcp in session to authorize
example.sh
claude mcp add clickup --transport http https://mcp.clickup.com/mcp
claude
# In Claude Code, run: /mcp
# Complete OAuth in browser
example.json
{
  "mcpServers": {
    "clickup": {
      "baseUrl": "https://mcp.clickup.com/mcp",
      "description": "Official ClickUp MCP",
      "headers": {
        "Authorization": "Bearer ${CLICKUP_TOKEN}"
      }
    }
  }
}
example.sh
mcporter call 'clickup.clickup_search(
  keywords: "Q4 marketing",
  count: 10
)'
example.sh
mcporter call 'clickup.clickup_create_task(
  name: "Review PR #42",
  list_id: "901506994423",
  description: "Check the new feature",
  status: "to do"
)'
example.sh
mcporter call 'clickup.clickup_update_task(
  task_id: "abc123",
  status: "in progress"
)'
example.sh
mcporter call 'clickup.clickup_create_task_comment(
  task_id: "abc123",
  comment_text: "@Mark can you review this?"
)'

Tags

#productivity_and-tasks #cli

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author pvoo
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install clickup-mcp