Custom ClickUp MCP
Provides tools for managing ClickUp workspaces, including tasks, comments, tags, task relationships, lists, folders, workspaces hierarchy, members, and assignee resolution.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Custom ClickUp MCPShow my tasks tagged 'urgent' in the default workspace."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Custom ClickUp MCP
Local MCP server for the essential ClickUp workflows. It runs over stdio, uses one ClickUp personal API token per process, and exposes a deliberately bounded P0 tool set.
Requirements
Node.js 20 or newer
A ClickUp personal API token
Access to a disposable ClickUp Workspace for smoke tests
Related MCP server: ClickUp MCP Server
Install and build
npm ci
npm run buildSet secrets through the process environment or the MCP client's secret store. Do not commit a real token to an MCP configuration file.
export CLICKUP_API_TOKEN="pk_replace_me"
export CLICKUP_DEFAULT_WORKSPACE_ID="123456"
npm startThe process communicates through standard input/output. Seeing no ordinary output on stdout is expected; operational logs are JSON lines on stderr.
MCP client configuration
Use the absolute path to the built entry point:
{
"mcpServers": {
"clickup": {
"command": "node",
"args": ["/absolute/path/to/custom-clickup-mcp/dist/index.js"],
"env": {
"CLICKUP_API_TOKEN": "<from-your-client-secret-store>",
"CLICKUP_DEFAULT_WORKSPACE_ID": "123456"
}
}
}
}Any client that supports MCP over stdio can launch the same command. The SDK serves the current MCP protocol and negotiates the supported legacy era by default.
Configuration
Variable | Required | Default | Purpose |
| yes | — | Personal ClickUp API token. Never logged or persisted. |
| no | — | Default Workspace when a tool does not receive |
| no |
| Tool catalog: all 32 tools with |
| no |
| Allows confirmed Task deletion and Custom Field value removal. |
| no |
| Allows confirmed bulk task writes and multi-field Custom Field writes. |
| no |
| Per-call bulk limit; maximum allowed value is 100. |
| no |
| Default Task pages scanned; maximum allowed value is 20. |
| no |
| Timeout for each upstream API request. |
.env.example documents the same values, but the server intentionally does not load .env files itself.
Tools
The default full profile exposes exactly 32 tools in P0. Set
CLICKUP_TOOL_PROFILE=core to expose only the common search, Task, comment, Tag,
hierarchy, and assignee-resolution workflow. The compact profile contains 14 tools and
reduces the tool-discovery payload without changing any tool's request or response shape.
Search
search_workspacesearch_tasks_by_task_typesearch_tasks_by_tag
search_workspace performs a bounded API sweep over Tasks, Spaces, Folders, and Lists. It does not search Docs. A truncated result includes a continuation cursor and scan counters; it never walks an unbounded Workspace implicitly.
Task management
create_taskget_taskupdate_taskset_task_custom_fieldsdelete_taskcreate_bulk_tasksupdate_bulk_tasks
create_task and update_task accept either description for plain text or
markdown_description for formatted Markdown, but not both. The server maps
markdown_description to ClickUp's upstream markdown_content field. The same input
contract applies to items in create_bulk_tasks and update_bulk_tasks.
Comments
get_task_commentsget_threaded_repliescreate_task_comment
Tags
add_tag_to_taskremove_tag_from_task
Task relationships
add_task_linkremove_task_linkadd_dependencyremove_dependency
Move and additional Lists
move_task_to_listadd_task_to_list
add_task_to_list requires the ClickUp Tasks in Multiple Lists ClickApp.
Workspace hierarchy
get_workspace_hierarchycreate_list_in_spacecreate_list_in_folderget_listupdate_listget_foldercreate_folderupdate_folder
Members and assignees
get_workspace_membersfind_member_by_nameresolve_assignees
Member resolution returns candidates instead of choosing automatically when a name or email is ambiguous.
Safe writes
Task deletion, Custom Field removals, and multi-item writes use a two-step flow:
Call the tool with
dry_run: trueto receive the exact preview and a short-lived confirmation token.Enable the relevant environment flag and call again with the unchanged payload,
dry_run: false,confirm: true, and the confirmation token.
Confirmation tokens expire after ten minutes, are tied to the exact operation payload, and can only be consumed once. Bulk operations use a maximum concurrency of three, have no implicit rollback, and report the result of every item.
set_task_custom_fields also defaults to preview mode. A single non-destructive field update may be executed with dry_run: false directly; removals and multi-field changes require the corresponding feature flag plus confirmation. Field applicability and value shapes are validated before any write begins.
Errors and limits
Tool failures return a structured error with code, message, retryable, and optional details. Read requests retry transient 408, 429, and 5xx failures up to three attempts. Writes are not automatically repeated after an uncertain failure.
The server observes ClickUp rate-limit headers. Search and bulk calls are intentionally bounded because ClickUp enforces limits per token and Workspace plan.
Development
npm run typecheck
npm run lint
npm test
npm run buildTests use mocked ClickUp responses and in-memory MCP transports. CI must not use a production token. A final manual smoke test should use a sandbox Workspace and disposable Tasks.
Troubleshooting
CONFIG_MISSING: provideCLICKUP_API_TOKENthrough the process environment.WORKSPACE_REQUIRED: configureCLICKUP_DEFAULT_WORKSPACE_IDor passworkspace_idto the tool.WORKSPACE_NOT_AUTHORIZED: reconnect with a token that can access the configured Workspace.CLICKUP_HTTP_429: reduce the search/bulk limits and wait for the reset time.CONFIRMATION_MISMATCH: repeat the preview after changing any delete or bulk payload.Additional-List errors: enable Tasks in Multiple Lists in the ClickUp Workspace.
Architecture
MCP stdio → tool registry and policies → domain tool modules → ClickUpClient → ClickUp API v2/v3
The stdio transport starts immediately; ClickUp credentials and the optional default Workspace are validated lazily before the first tool operation. The API client centralizes timeouts, pagination primitives, rate limiting, retries, error normalization, and redacted telemetry. Hierarchy/member caches and confirmation state exist only in memory and are discarded when the process exits.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceLightweight ClickUp MCP server for task management with 37 tools and token-optimized responses to reduce API verbosity.37453MIT
- AlicenseBqualityDmaintenanceMCP server for ClickUp task management, enabling task search, creation, update, deletion, workspace info retrieval, and comment management via ClickUp API v2.1552MIT
- Alicense-qualityBmaintenanceA self-hosted MCP server that enables AI agents to directly interact with your ClickUp workspace, including tasks, lists, folders, comments, time tracking, and more via 51 tools over SSE.185MIT
- AlicenseAqualityAmaintenanceA comprehensive MCP server for the ClickUp API exposing 166 tools to manage Spaces, Folders, Lists, Tasks, Docs, and more, enabling LLMs to read and drive a ClickUp Workspace.1001Apache 2.0
Related MCP Connectors
ClickUp MCP — wraps the ClickUp REST API v2 (BYO API key)
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Blackklegend/custom-clickup-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server