ClickUp MCP

Integrate ClickUp project management with AI to manage tasks, lists, and spaces.

ClickUp MCP Server — Premium

ClickUp MCP Server Premium Logo

npm version npm downloads License Top 3 on Google Trending MCP Server Maintained


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
OpenClaw Cursor VS Code Roo Code
Claude Claude Code n8n Gemini CLI
Antigravity Codex ChatGPT Augment
Auggie WindsurfOther➕ Add Agent

✨ Features

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

🔐 Hybrid Authentication
MCP spec-compliant OAuth 2.1 with advanced security hardening and session-isolated caching for fast, secure multi-tenant operation. Backwards compatible with API Key/Team ID(s).
🔍 Intelligent Search & Resolution
Smart tiered, global fuzzy search across task, list, folder, and space names, custom fields, members/emails, statuses, tags, descriptions, and more. Automatic resolution—no IDs needed.
📝 Task Management
Full CRUD, move, duplicate, link, and set dependencies between tasks. Supports bulk operations, nested subtasks, checklists, sprints (active detection), natural language dates, custom task IDs, custom task types, custom fields, task templates, and file attachments (upload via URL, local path, or base64).
⏱️ Time Tracking
Start/stop timers, log manual entries, edit existing entries, retrieve timer history, manage time entry tags, and filter time entries across the entire workspace using natural language dates or date ranges.
📄 Document Management
Create, read, and append to ClickUp Docs with full markdown text. Manage pages within documents for structured, long-form content (consolidated action-based tool).
💬 Comments & Chat
Post, edit, resolve, and reply to comments on tasks, lists, and views. Create and manage chat channels (including DMs), send messages with threaded replies, reactions, and follower management. Both support rich text, subtypes, and @mentions.
🎯 Goals & Key Results
Create and manage Goals with full lifecycle support—create, update, delete, and archive. Define and track nested Key Results to measure OKR progress across the workspace.
📋 Views
Create, list, update, and delete views at any level of the workspace hierarchy—space, folder, or list. Fetch tasks scoped to a specific view for focused filtering.
🗂️ Task Templates
Browse available task templates and instantly create tasks from them. Streamlines repeatable workflows without manual setup each time.
🌳 Workspace Control
Full CRUD for spaces, folders, lists, webhooks, and tags across the entire workspace hierarchy. Manage access control (ACL) permissions at any level. Switch workspaces mid-conversation without reconfiguration.

💎 Premium Access

Unlock 150 Enterprise-Grade Custom Tools

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/moAnnual $59/yrLifetime $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: MAR25

  Purchase License  


⚡️ 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

  OpenClaw (via mcporter)  FEATURED

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

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

2. Configure & Auth Connect the server and authorize via browser (tokens are cached):

# 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

Optional: Multiple Personas The most robust and flexible way to manage personas is to define multiple named configurations in your agent-specific mcporter.json file. This isolates credentials and policies per-agent.

# Define an Auditor persona (Read-only) in your workspace config
mcporter --config <agent-workspace>/config/mcporter.json config add ClickUp-Auditor https://clickup-mcp.taazkareem.com/mcp \
  --header "X-Persona=auditor" \
  --header "X-License-Key=your-license-key" \
  --header "X-ClickUp-Key=your-api-key" \
  --header "X-ClickUp-Team-Id=your-team-id"

# Define a Task Worker persona (Daily CRUD) in the same or different workspace 
mcporter --config <agent-workspace-2>/config/mcporter.json config add ClickUp-Worker https://clickup-mcp.taazkareem.com/mcp \
  --header "X-Persona=task_worker" \
  --header "X-License-Key=your-license-key" \
  --header "X-ClickUp-Key=your-api-key" \
  --header "X-ClickUp-Team-Id=your-team-id"

# Now the OpenClaw sub-agent can see the optimized schema and call its focused tools like:
mcporter list ClickUp-Auditor --schema
mcporter call ClickUp-Auditor.get_workspace

mcporter list ClickUp-Worker --schema
mcporter call ClickUp-Worker.create_task listId="123456789" name="New Task"

Isolation: You can add X-Enabled-Tools or X-Disabled-Tools to mix and match tools and personas, or perhaps enable just a single tool. You can assign different ClickUp API Keys, Team IDs, or even different License Keys to each config/persona. Since the agent only reads the tool definitions and not the sensitive headers directly, this is the most secure way to handle multi-agent ClickUp configurations.

To see all available personas and what they do, see the Advanced Configuration section below.

  Cursor

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"
      }
    }
  }
}

  VS Code

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"
      }
    }
  }
}

  Roo Code

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"
      }
    }
  }
}

  Claude Desktop

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"
      ]
    }
  }
}

  Claude Code (CLI)

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"

  n8n

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

  Gemini CLI

Configuration Path: ~/.gemini/settings.json

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

  Antigravity

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

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

  Codex (CLI, Desktop, IDE)

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.

  ChatGPT (Developer Mode)

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.

  Augment Code

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

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

  Auggie CLI

Run this command in your terminal:

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

  Windsurf

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"
      }
    }
  }
}

 Other (Custom Agents, etc.)

For most MCP-compliant hosts (e.g. Smithery, MCP Inspector, custom GUIs):

  • Server URL: https://clickup-mcp.taazkareem.com/mcp
  • Auth Header: X-License-Key: your-license-key (Required for HTTP/SSE connections)

Advanced: OpenAI Agents SDK For developers building custom agents.

Python SDK:

from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp

async with MCPServerStreamableHttp(
    name="clickup",
    params={
        "url": "https://clickup-mcp.taazkareem.com/mcp",
        "headers": {"X-License-Key": "your-license-key"},
    },
) as server:
    agent = Agent(
        name="Assistant",
        instructions="Use the ClickUp MCP tools when helpful.",
        mcp_servers=[server],
    )
    result = await Runner.run(agent, "List my workspaces.")

3. Restart

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


🛠️ Available Tools

👇 Click to view all 150 available tools
CategoryToolDescription
Workspaceget_workspaceGet workspace structure and metadata (hierarchy, members, plan, seats, shared items, custom task types)
get_workspace_seatsGet member and guest seat utilization (used, total, available)
get_workspace_planGet plan details for the workspace (plan_name, plan_id)
get_audit_logsRetrieve workspace audit logs (Enterprise only)
Taskscreate_taskCreate a task
get_taskGet single task details
update_taskModify task properties
move_taskMove task to new list
duplicate_taskCopy task
delete_taskRemove task
add_task_to_listAssociate task with additional list (TIML)
remove_task_from_listRemove task list association (TIML)
create_bulk_tasksCreate multiple tasks
update_bulk_tasksUpdate multiple tasks
move_bulk_tasksMove multiple tasks
delete_bulk_tasksDelete multiple tasks
get_workspace_tasksSearch tasks with Deep Search filtering
get_commentsGet comments on a task, list, or view
create_commentCreate a comment on a task, list, or view
update_commentEdit or resolve a comment
delete_commentDelete a comment
get_comment_repliesGet threaded replies for a comment
create_comment_replyReply to a comment in a thread
add_comment_reactionAdd an emoji reaction to a comment
remove_comment_reactionRemove an emoji reaction from a comment
get_comment_subtypesGet post subtype IDs for the workspace
add_task_linkLink two tasks together
get_task_linksGet task links
delete_task_linkRemove a task link
add_task_dependencySet a blocking dependency between tasks
delete_task_dependencyRemove a blocking dependency between tasks
Attachmentslist_attachmentsList attachments for a task or file custom field (v3)
get_attachmentGet a specific attachment by ID or name (v3)
upload_attachmentUpload a file to a task or file custom field (v3)
Checklistscreate_checklistAdd a checklist to a task
edit_checklistRename or reorder a checklist
delete_checklistDelete a checklist and all its items
create_checklist_itemAdd an item to a checklist
edit_checklist_itemUpdate a checklist item (name, resolved, assignee, nesting)
delete_checklist_itemRemove an item from a checklist
Sprintsget_active_sprintAuto-detect the currently active sprint; returns tasks if exactly one found
list_sprintsList all sprints in a folder
get_sprint_tasksGet tasks for a specific sprint list
Listslist_listsRetrieve lists in a space (folderless) or in a folder
get_listGet list details
create_listCreate a list in a space or folder
create_list_from_templateCreate a new list from a template
update_listUpdate list properties
delete_listDelete a list
move_listMove a list to a different space or folder (high-integrity)
set_list_permissionsUpdate list privacy and sharing (ACLs)
Custom Fieldslist_custom_fieldsList field definitions for a list, folder, or space
create_custom_fieldAdd a new field definition to a list
set_custom_field_valueSet a field value on a task
remove_custom_field_valueClear a field value from a task
Spaceslist_spacesList all spaces in the workspace
get_spaceGet space details
create_spaceCreate a new space
update_spaceUpdate space properties
delete_spaceDelete a space
set_space_permissionsUpdate space privacy and sharing (ACLs)
Goalslist_goalsList all goals in the workspace
get_goalGet a goal with its key results
create_goalCreate a new goal
update_goalUpdate a goal's properties
delete_goalDelete a goal
create_key_resultAdd a key result to a goal
update_key_resultUpdate a key result
delete_key_resultDelete a key result
Viewslist_viewsList views for a space, folder, list, or workspace
get_viewGet a single view
create_viewCreate a new view
update_viewUpdate a view
delete_viewDelete a view
get_view_tasksGet tasks in a view
Folderslist_foldersList all folders in a space
get_folderGet folder details and its contained lists
create_folderCreate a folder in a space
update_folderUpdate folder properties
delete_folderDelete a folder
move_folderMove a folder to a different space (high-integrity)
set_folder_permissionsUpdate folder privacy and sharing (ACLs)
create_folder_from_templateCreate a folder from a template in a space
Tagslist_space_tagsList all tags in a space
create_space_tagCreate a new space tag
update_space_tagUpdate a space tag's name or colors
delete_space_tagDelete a tag from a space
add_tag_to_taskAdd tag to task
remove_tag_from_taskRemove tag from task
Time Trackingget_time_entriesFetch historical time entries
get_current_time_entryGet currently running timer
start_time_entryStart tracking time for a task
stop_time_entryStop the active timer
add_time_entryManually log a time entry
update_time_entryModify an existing time entry
delete_time_entryDelete a time entry
get_time_entry_tagsFetch all workspace time entry tags
add_time_entry_tagsAdd a tag to a time entry
update_time_entry_tagsRename a workspace time entry tag globally
delete_time_entry_tagsRemove a tag from a time entry
get_time_entry_historyView edit history of a time entry
get_time_in_statusGet time-in-status for multiple tasks
Docslist_documentsList documents in a workspace or container
get_documentGet document metadata
create_documentCreate a new standalone document
list_document_pagesList all pages in a document
get_document_pageGet content for a single page
get_document_pagesGet content for multiple pages in one call
create_document_pageAdd a new page to a document
update_document_pageModify an existing page (replace/append/prepend)
Chatlist_chat_channelsList all channels in the workspace
get_chat_channelGet a single channel
create_chat_channelCreate a new channel
update_chat_channelUpdate a channel
delete_chat_channelDelete a channel
get_chat_channel_membersGet members of a channel
get_chat_channel_followersGet followers of a channel
create_chat_dmCreate a direct message channel
get_chat_messagesGet messages from a channel
create_chat_messageSend a message to a channel
update_chat_messageEdit a message
delete_chat_messageDelete a message
get_chat_message_repliesGet threaded replies to a message
create_chat_message_replyReply to a message in a thread
add_chat_reactionAdd an emoji reaction to a message
remove_chat_reactionRemove an emoji reaction
get_chat_reactionsGet all reactions on a message
get_chat_tagged_usersGet users tagged in a message
get_chat_message_subtypesGet post subtype IDs for the workspace
Webhookslist_webhooksList all webhooks in the workspace
create_webhookCreate a new webhook
update_webhookUpdate an existing webhook
delete_webhookDelete a webhook permanently
User Groupslist_user_groupsList all user groups in the workspace
create_user_groupCreate a new user group
update_user_groupRename a group or add/remove members
delete_user_groupDelete a user group
Guestsinvite_guestInvite a guest to the workspace (Enterprise)
get_guestGet guest details (Enterprise)
edit_guestEdit guest display name or permissions (Enterprise)
remove_guestRemove a guest from the workspace (Enterprise)
add_guest_to_taskGrant guest access to a task (Enterprise)
remove_guest_from_taskRevoke guest access from a task (Enterprise)
add_guest_to_listGrant guest access to a list (Enterprise)
remove_guest_from_listRevoke guest access from a list (Enterprise)
add_guest_to_folderGrant guest access to a folder (Enterprise)
remove_guest_from_folderRevoke guest access from a folder (Enterprise)
Task Templatesget_task_templatesList available workspace templates
create_task_from_templateCreate a task from a template
Feedbacksubmit_feedbackSubmit feedback or bug reports

See full documentation for parameters and advanced usage.


⚙️ Advanced Configuration

Filter Available Tools

💡 Pro Tip! Reduce context noise for the AI by limiting available tools.

Local (Environment Variable):

"ENABLED_TOOLS": "tool_1,tool_2,tool_3"

-or- Remote (Header):

"X-Enabled-Tools": "tool_1,tool_2,tool_3"

Preset Configurations

Simplify setup by using Personas. You can set a persona via the CLICKUP_MCP_PERSONA environment variable or the X-Persona HTTP header to automatically filter a set of tools.

Multiple personas can be combined (e.g., "X-Persona": "task_worker,time_specialist").

PersonaDescriptionTarget Use Case
📋 auditorRead-only accessView tasks, goals, docs, and chat (Read-only).
👷 task_workerDaily managementTask CRUD, time tracking, and checklists.
⏱️ time_specialistTime tracking focusTime logs, timesheets, and entry history.
🏗️ project_managerHigh-level controlSpaces, folders, lists, and bulk operations.
📚 content_managerCommunicationDocs, chat, comments, and attachments.
🏢 workspace_adminAdmin controlPermissions, guests, and audit logs.
💻 developerProgrammaticWebhooks, custom fields, bulk automation.
🌟 most_popularCommon toolsMost frequently called endpoints.
🛡️ safe_power_userFull accessAll tools except destructive deletes/removals.

Local (Environment Variable):

"CLICKUP_MCP_PERSONA": "task_worker"

-or- Remote (Header):

"X-Persona": "task_worker"

💡 Need to customize? To view the exact tools included in each preset or to build a custom list based on a persona, see the Personas Reference Guide.


🌍 Multi-Workspace Support

Simultaneously federate OAuth and multiple API keys to manage tasks across different authorized ClickUp accounts/workspaces in a single session. Easily move or duplicate tasks between workspaces, configure AI Agents for cross-workspace automation, and more.

Remote (Headers):

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

❓ FAQ

Why isn't this free anymore? Building reliable MCP integrations requires significant maintenance. Moving to a paid model allows us to support this as a product rather than a hobby, ensuring compatibility with API changes.

I have an old version. Will it stop working? Existing local clones will continue to work, but you will not receive updates, bug fixes, or support without a license.

How do I get support? Premium users get priority support. Please open an issue in this repository.


⚖️ Disclaimer

Originally developed as open source and refined during a consultancy with ClickUp, this project is now independently maintained.

This software makes use of third-party APIs and may reference trademarks or brands owned by third parties. The use of such APIs or references does not imply any affiliation with or endorsement by the respective companies. All trademarks and brand names are the property of their respective owners. This project is an independent work and is not officially associated with or sponsored by any third-party company mentioned.

Created by taazkareem

Servidores relacionados