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
✨ 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.
⚡️ 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)
- Log into ClickUp and go to ClickUp Settings → Apps.
- Click Generate under "API Token" (or copy your existing one).
-
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 afterclickup.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 Servers → View raw config to open this file directly. Or type
/mcpin 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
agyand type/mcpin 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
--cloneto 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)
- In n8n, add an "MCP Client" node.
- Set Connection Type to
Streamable HTTP. - Auth Type:
Multiple Headers Auth. - Header:
X-License-KeyValue:your-license-key - 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 listto verify. Usecodex 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.
- Enable Developer Mode: Ask your workspace admin to enable this under Workspace Settings → Permissions & Roles → Connected Data.
- Connect MCP: Go to Settings → Connectors and toggle Developer Mode on.
- Add Custom Connector:
- Click Add connector (or "Create custom connector").
- Choose MCP as the source type.
- Configure:
- Server URL:
https://clickup-mcp.taazkareem.com/mcp - Authentication: Add HTTP header
X-License-Key: your-license-key.
- Server URL:
- 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
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. There are 3 ways to do this. You can filter by exact tool name, by tool category, by personas (presets), or a combination of all three.
Local (Environment Variable):
"ENABLED_TOOLS": "tool_1,tool_2,tool_3",
"ENABLED_CATEGORIES": "task,time_tracking,workspace"
-or- Hermes (YAML):
mcp_servers:
clickup:
env:
ENABLED_TOOLS: "tool_1,tool_2,tool_3"
ENABLED_CATEGORIES: "task,time_tracking,workspace"
-or- Remote (Header):
"X-Enabled-Tools": "tool_1,tool_2,tool_3",
"X-Enabled-Categories": "task,time_tracking,workspace"
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").
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.
By using this software, you agree to our Terms of Service and acknowledge our Privacy Policy.