Properly Connect ClickUp to AI Agents and Agentic Workflows

A high-performance Model Context Protocol (MCP) server for managing tasks, checklists, sprints, comments, tags, spaces, lists, folders, files, docs, chat, and time using natural language.

⭐️ Proven Performance: 460+ Stars (from previous public repo) & thousands of weekly NPM downloads.
The industry-standard ClickUp integration for AI.


📚 Table of Contents

Links Quick Start & Installation
• Features• Premium Access• Available Tools• Adv. Config• FAQ• Disclaimer Antigravity Agy CLI Hermes OpenClaw Cursor VS Code Claude ClaudeCode n8n Codex ChatGPT Augment Auggie Windsurf Roo Code ➕ Add Agent

✨ Features

🔥 Multi-Account Support: Manage multiple authorized workspaces seamlessly in a single session. See setup


💎 Premium Access

This project transitioned from open-source to a paid model for sustainable full-time development and priority support. A license grants full, unrestricted access to all features across your agents⎯no limits.

Monthly $9/mo Annual $59/yr Lifetime $89 w/ code
• Pay-as-you-go flexibility• 3 device activations• Cancel anytime Save 45% ($4.92/mo)• 3 device activations• Priority support all year Best Value — One payment• 3 device activations• 25% OFF code: JUL25

⚡️ Instant Key Delivery (Polar.sh)   •   Setup takes less than 2 mins      


🚀 Quick Start

1. Prerequisites

  • License Key: See above

  • ClickUp API Key (Optional - not needed for Remote MCP)

  • ClickUp Team ID (Optional - not needed for Remote MCP)

    • Open ClickUp in your browser.
    • Look at the URL: https://app.clickup.com/1234567/v/li/987654321.
    • The first number (1234567) directly after clickup.com/ is your Team ID (Workspace ID).

2. Choose your MCP Host & Transport

Download from antigravity.google. Covers Antigravity IDE (VS Code-based agentic editor) and Antigravity 2.0 (standalone desktop agent orchestration app). Both share the same configuration file.

Configuration Path: ~/.gemini/config/mcp_config.json

Tip: Open the Agent Panel → ...Manage MCP ServersView raw config to open this file directly. Or type /mcp in the prompt panel.

Option A: Remote / Streamable HTTP (Recommended)

{
  "mcpServers": {
    "ClickUp": {
      "serverUrl": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": { "X-License-Key": "your-license-key" }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

A lightweight terminal-based interface (TUI) for Antigravity agents. Install with:

curl -fsSL https://antigravity.google/cli/install.sh | bash

Configuration Path: ~/.gemini/antigravity-cli/mcp_config.json

Tip: Run agy and type /mcp in the interactive session to manage servers from within the TUI.

Option A: Remote / Streamable HTTP (Recommended)

{
  "mcpServers": {
    "ClickUp": {
      "serverUrl": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": { "X-License-Key": "your-license-key" }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

Single Agent Configuration Path: ~/.hermes/config.yaml

Option A: Remote / Streamable HTTP

hermes mcp add clickup \
  --url https://clickup-mcp.taazkareem.com/mcp \
  --auth oauth && \
hermes config set mcp_servers.clickup.headers.X-License-Key "your-license-key"

Option B: Local / STDIO

hermes mcp add clickup \
  --command npx \
  --args -y @taazkareem/clickup-mcp-server@latest \
  --env CLICKUP_API_KEY="your-api-key" \
        CLICKUP_TEAM_ID="your-team-id" \
        CLICKUP_MCP_LICENSE_KEY="your-license-key"
  • Run it: hermes

Multi-Agent Setup (Profiles + Personas)

Run a team of specialized agents on the same workspace (or separate). Each Hermes profile is an isolated agent with its own config and SOUL.md instructions. Configure each profile to match a persona (X-Persona) as needed. This will scope which ClickUp tools is in its context. Guide with examples:

1. Create the profiles

hermes profile create project_manager
hermes profile create task_worker
hermes profile create auditor

Optional: Use --clone to copy the existing config.yaml/.env/SOUL.md, or re-run the commands from above.

2. Set each profile's persona. The profile has the MCP config now, so just add the matching persona:

project_manager config set mcp_servers.clickup.headers.X-Persona "project_manager"
task_worker     config set mcp_servers.clickup.headers.X-Persona "task_worker"
auditor         config set mcp_servers.clickup.headers.X-Persona "auditor"

See → Advanced Configuration for more customized filtering options.

3. Give each agent its instructions in ~/.hermes/profiles/<name>/SOUL.md (auditor shown):

# ClickUp Auditor

You are a read-only project auditor. Observe and report — never change anything.
- Summarize task status, overdue items, and blockers concisely.
- Surface risks and recommend actions, but never execute them.
- If asked to create or modify a task, decline and explain you are read-only.

Run any agent query by its profile (call by User or Agent):

project_manager chat -q "Break the Q3 launch into a list with subtasks and owners"
auditor         chat -q "Audit the Sprint board and report what's at risk"

-OR-

Run a TUI or Gateway called by User:

project_manager gateway start
auditor         chat

Other (Custom Agents, etc.) For most other MCP-compliant hosts:

  • Server URL: https://clickup-mcp.taazkareem.com/mcp
  • Auth Header: X-License-Key: your-license-key

1. Enable mcporter in ~/.openclaw/openclaw.json:

{ "skills": { "allowBundled": ["mcporter"] } }

2. Configure & Auth

# Add ClickUp as a remote server
mcporter config add ClickUp https://clickup-mcp.taazkareem.com/mcp --auth oauth --header "X-License-Key=your-license-key"

# Authenticate session
mcporter auth ClickUp

Pro Tip: Use Personas to define multiple isolated configurations (e.g., Auditor vs. Worker) in your agent's mcporter.json.

Configuration Path: <project-root>/.cursor/mcp.json

Option A: Remote / Streamable HTTP (Easiest)

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

Configuration Paths:

  • Global: ~/Library/Application Support/Code/User/mcp.json
  • Local: <project-root>/.vscode/mcp.json

Option A: Remote / Streamable HTTP (Easiest)

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

Configuration Path: <project-root>/.roo/mcp.json

Option A: Remote / Streamable HTTP (Easiest)

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

Configuration Path: ~/Library/Application Support/Claude/claude_desktop_config.json

Remote Setup (Requires mcp-remote adapter):

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://clickup-mcp.taazkareem.com/mcp",
        "--header",
        "X-License-Key: your-license-key"
      ]
    }
  }
}

Run this command in your terminal:

claude mcp add --transport http ClickUp https://clickup-mcp.taazkareem.com/mcp \
  --header "X-License-Key: your-license-key"

Option A: Remote / Streamable HTTP (Recommended)

  1. In n8n, add an "MCP Client" node.
  2. Set Connection Type to Streamable HTTP.
  3. Auth Type: Multiple Headers Auth.
  4. Header: X-License-Key Value: your-license-key
  5. URL: https://clickup-mcp.taazkareem.com/mcp

Option B: Self-Hosted Docker Run the container:

docker run -d -p 3231:3231 ghcr.io/taazkareem/clickup-mcp-server:latest

In n8n, use URL: http://host.docker.internal:3231/mcp

Codex clients (CLI, Desktop App, and VS Code extension) share a single source of truth for configuration.

Configuration Paths:

  • Global: ~/.codex/config.toml
  • Local: <project-root>/.codex/config.toml

Option A: Remote / Streamable HTTP (Easiest)

[mcp_servers.ClickUp]
url = "https://clickup-mcp.taazkareem.com/mcp"
http_headers = { "X-License-Key" = "your-license-key" }

Option B: Local / STDIO

[mcp_servers.ClickUp]
command = "npx"
args = ["-y", "@taazkareem/clickup-mcp-server@latest"]
env = {
  CLICKUP_API_KEY = "your-api-key",
  CLICKUP_TEAM_ID = "your-team-id",
  CLICKUP_MCP_LICENSE_KEY = "your-license-key"
}

Quick Tips:

  • Codex CLI: Run codex mcp list to verify. Use codex mcp add ... as a CLI alternative to editing the file.
  • VS Code Extension: Click ⚙ → MCP settings → Open config.toml.
  • Desktop App: Go to Settings → Integrations & MCP.

Note: Requires a Business, Enterprise, or Edu workspace with Developer Mode enabled.

  1. Enable Developer Mode: Ask your workspace admin to enable this under Workspace Settings → Permissions & Roles → Connected Data.
  2. Connect MCP: Go to Settings → Connectors and toggle Developer Mode on.
  3. Add Custom Connector:
    • Click Add connector (or "Create custom connector").
    • Choose MCP as the source type.
  4. Configure:
    • Server URL: https://clickup-mcp.taazkareem.com/mcp
    • Authentication: Add HTTP header X-License-Key: your-license-key.
  5. Use: Start a Developer Mode chat and select your ClickUp connector via Add sources.

Configuration Path: <project-root>/.augment/settings.json

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

Run this command in your terminal:

auggie mcp add ClickUp --url https://clickup-mcp.taazkareem.com/mcp \
  --header "X-License-Key: your-license-key"

Configuration Path: <project-root>/.codeium/windsurf/mcp_config.json

Option A: Remote / Streamable HTTP (Easiest)

{
  "mcpServers": {
    "ClickUp": {
      "url": "https://clickup-mcp.taazkareem.com/mcp",
      "headers": {
        "X-License-Key": "your-license-key"
      }
    }
  }
}

Option B: Local / STDIO

{
  "mcpServers": {
    "ClickUp": {
      "command": "npx",
      "args": ["-y", "@taazkareem/clickup-mcp-server@latest"],
      "env": {
        "CLICKUP_API_KEY": "your-api-key",
        "CLICKUP_TEAM_ID": "your-team-id",
        "CLICKUP_MCP_LICENSE_KEY": "your-license-key"
      }
    }
  }
}

3. Restart

Restart your MCP Host (e.g., Cursor IDE). The server will validate your License Key and start automatically.


🛠️ Available Tools

Category Tool Description
Workspace get_workspace Get workspace structure and metadata (hierarchy, members, plan, seats, shared items, custom task types)
get_workspace_seats Get member and guest seat utilization (used, total, available)
get_workspace_plan Get plan details for the workspace (plan_name, plan_id)
get_audit_logs Retrieve workspace audit logs (Enterprise only)
Tasks create_task Create a task
get_task Get single task details
update_task Modify task properties
move_task Move task to new list
duplicate_task Copy task
delete_task Remove task
add_task_to_list Associate task with additional list (TIML)
remove_task_from_list Remove task list association (TIML)
create_bulk_tasks Create multiple tasks
update_bulk_tasks Update multiple tasks
move_bulk_tasks Move multiple tasks
delete_bulk_tasks Delete multiple tasks
get_workspace_tasks Search tasks with Deep Search filtering
get_comments Get comments on a task, list, or view
create_comment Create a comment on a task, list, or view
update_comment Edit or resolve a comment
delete_comment Delete a comment
get_comment_replies Get threaded replies for a comment
create_comment_reply Reply to a comment in a thread
add_comment_reaction Add an emoji reaction to a comment
remove_comment_reaction Remove an emoji reaction from a comment
get_comment_subtypes Get post subtype IDs for the workspace
add_task_link Link two tasks together
get_task_links Get task links
delete_task_link Remove a task link
add_task_dependency Set a blocking dependency between tasks
delete_task_dependency Remove a blocking dependency between tasks
Attachments list_attachments List attachments for a task or file custom field (v3)
get_attachment Get a specific attachment by ID or name (v3)
upload_attachment Upload a file to a task or file custom field (v3)
Checklists create_checklist Add a checklist to a task
edit_checklist Rename or reorder a checklist
delete_checklist Delete a checklist and all its items
create_checklist_item Add an item to a checklist
edit_checklist_item Update a checklist item (name, resolved, assignee, nesting)
delete_checklist_item Remove an item from a checklist
Sprints get_active_sprint Auto-detect the currently active sprint; returns tasks if exactly one found
list_sprints List all sprints in a folder
get_sprint_tasks Get tasks for a specific sprint list
Lists list_lists Retrieve lists in a space (folderless) or in a folder
get_list Get list details
create_list Create a list in a space or folder
create_list_from_template Create a new list from a template
update_list Update list properties
delete_list Delete a list
move_list Move a list to a different space or folder (high-integrity)
set_list_permissions Update list privacy and sharing (ACLs)
Custom Fields list_custom_fields List field definitions for a list, folder, or space
create_custom_field Add a new field definition to a list
set_custom_field_value Set a field value on a task
remove_custom_field_value Clear a field value from a task
Spaces list_spaces List all spaces in the workspace
get_space Get space details
create_space Create a new space
update_space Update space properties
delete_space Delete a space
set_space_permissions Update space privacy and sharing (ACLs)
Goals list_goals List all goals in the workspace
get_goal Get a goal with its key results
create_goal Create a new goal
update_goal Update a goal's properties
delete_goal Delete a goal
create_key_result Add a key result to a goal
update_key_result Update a key result
delete_key_result Delete a key result
Views list_views List views for a space, folder, list, or workspace
get_view Get a single view
create_view Create a new view
update_view Update a view
delete_view Delete a view
get_view_tasks Get tasks in a view
Folders list_folders List all folders in a space
get_folder Get folder details and its contained lists
create_folder Create a folder in a space
update_folder Update folder properties
delete_folder Delete a folder
move_folder Move a folder to a different space (high-integrity)
set_folder_permissions Update folder privacy and sharing (ACLs)
create_folder_from_template Create a folder from a template in a space
Tags list_space_tags List all tags in a space
create_space_tag Create a new space tag
update_space_tag Update a space tag's name or colors