Awesome-openclaw-skills clickup-mcp

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

install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/clickup-mcp" ~/.claude/skills/sundial-org-awesome-openclaw-skills-clickup-mcp && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/clickup-mcp" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-clickup-mcp && rm -rf "$T"
manifest: skills/clickup-mcp/SKILL.md
source content

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

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

Tasks

ToolDescription
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

ToolDescription
clickup_get_task_comments
Get all comments on task
clickup_create_task_comment
Add comment (supports @mentions)

Time Tracking

ToolDescription
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

ToolDescription
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

ToolDescription
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

ToolDescription
clickup_get_chat_channels
List all Chat channels
clickup_send_chat_message
Send message to channel

Docs

ToolDescription
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