ClickUp MCP Server (first-party and official)
completed
Jordan Cleigh
Model Context Protocol (MCP) is basically a must-have feature for all SaaS now. ClickUp providing an official, first-party server would allow users to interact with ClickUp API directly through their agentic AI tool of choice (Claude, GitHub Copilot, Cursor, etc.)
Most of ClickUp's competitors already offer their own first-party, official MCP server. ClickUp is falling behind in this space, unless it is just not announced yet.
Several people have created unofficial ClickUp MCP servers, but they are never going to be as good as what a first-party server could provide.
Note: This is not related to MCP support in ClickUp AI (https://feedback.clickup.com/feature-requests/p/support-mcp-model-context-protocol-in-clickup-ai), which is requesting support for other provider's servers in ClickUp.
Log In
Ivan Villa
Hey everyone! 👋
Thanks again for all the feedback so far. We want to check in on everyone’s experience with the ClickUp MCP beta, so we put together a quick survey with just a few questions. If you could take a moment to fill it out, it would really help shape our upcoming roadmap.
L
LKB's Claude Web
Love the functionality overall, great work! I recently filed a specific request for finer-grained Doc editing here: [https://feedback.clickup.com/public-api/p/mcp-server-append-partial-edit-operations-for-docs]
N
Noam Moscovich
Context: We use the official ClickUp MCP server (public beta) in an automated workflow that posts release notes to a Docs page and manages task comments. Two missing operations force awkward, risk-prone workarounds. Both have direct REST API equivalents already, so this is about MCP tool coverage, not new platform capability.
- Edit/update an existing comment
The MCP exposes create_comment but no way to edit a comment. When an automated comment needs a correction or a status sync, the only option is to delete-and-recreate (losing the comment's thread position, ID, and reactions) or leave a stale comment and append a new one. The REST API already supports PUT /comment/{comment_id} — please surface it as an update_comment MCP tool.
- Append (or patch) a document page instead of full-replace
update_document_page replaces the entire page body. To add one section to a long, multi-section page we must read the whole page and rewrite it verbatim. This is risky: any content added by another user between our read and write is silently overwritten, and any markdown round-trip drift silently mutates historical sections of the doc. Please add either an append mode (append content to the end of a page) or a content-edit/patch operation that targets a section without resending the full body. This makes the MCP safe for collaborative, append-only docs like changelogs and release notes.
Why it matters: Both are common automation patterns (changelogs, release notes, status updates, bots correcting their own output). Today the full-replace behavior makes the Docs tools unsafe to use unattended on any shared page, and the lack of comment-edit makes comment automation lossy.
Thanks - happy to share our concrete use case (automated release-notes posting) if useful.
Christoph Deil
Bug/request: expose threaded task comment replies via the ClickUp MCP server.
Currently,
get_task_comments
returns top-level task comments and includes reply_count
, so the agent can see that a comment has threaded replies. However, in my MCP client there does not appear to be a way to fetch those replies, even when I have the parent comment ID.Expected behavior: expose a
get_threaded_comments
/ get_threaded_replies
tool matching the ClickUp API endpoint GET /comment/{comment_id}/reply
, and document how agents should call it after seeing reply_count > 0
.This matters because agents summarizing task context miss important decisions hidden in threaded replies.
B
Bryan Feuling
Grok needs to be supported, for sure
Michael Bopp
I'd love to see setting sprint points supported.
B
Ben Yarwood
Been using the MCP server for around a week and everything has worked very smoothly so far. Nice job!
Would love to be able to create tags through the mcp server if you have a feature request list :)
Tyson Marchuk
I'm not sure if this is the place to report issues / requests but I have one of each:
* [Bug] MCP for updating a document says supported formats are text/md and text/html but text/html doesn't work and should probably be text/plain to match the API.
* [Request] Round-tripping a document degrades links to other ClickUp pages / lists / etc. It would be nice if on updating a document links that were previously shows as special in ClickUp would retain this view.
Thanks!
甲乐(杨甲乐)
[Bug Report] ClickUp Official MCP Server — Multiple Critical
Issues with assignees and custom_fields Parameters
Environment:
- MCP Server: Official ClickUp MCP
- Client: Claude Code (Anthropic) via MCP protocol
- ClickUp API Version: v2
- Date Discovered: 2026-04-04
---
Overview
We identified 3 distinct bugs in the official ClickUp MCP
server affecting assignees and custom_fields parameters. These
bugs make it impossible to reliably set task assignees via
MCP, rendering the assignees field completely non-functional
in all scenarios.
---
Bug #1 — clickup_update_task: All array parameters serialized
as strings
Affected tools: clickup_update_task
Affected parameters: custom_fields, assignees
Description:
When calling clickup_update_task with any array-type parameter
(custom_fields or assignees), the MCP server serializes the
array as a string before sending it to the ClickUp API. The
API rejects it with a type error.
Reproduction steps:
// Tool call
clickup_update_task(
task_id: "TASK_ID",
assignees: ["294769839"]
)
Actual result:
Error: "Expected array, received string"
Expected result: Assignees updated successfully.
甲乐(杨甲乐)
Bug #2 — clickup_create_task: assignees silently dropped when
combined with multiple custom_fields
Affected tools: clickup_create_task
Affected parameters: assignees (when used together with
custom_fields)
Description:
When calling clickup_create_task with both assignees and a
custom_fields array containing multiple entries, the assignees
field is silently ignored — no error is returned, but the
task is created with no assignees.
Reproduction steps:
clickup_create_task(
list_id: "901809504458",
name: "Test task",
assignees: ["294769839"],
custom_fields: [
{"id": "field_id_1", "value": "option_id"},
{"id": "field_id_2", "value": ["label_id_1"]},
{"id": "field_id_3", "value": {"add": [294769839], "rem":
[]}},
// ... 5+ more fields
]
)
Actual result:
{"success": true, "task_id": "TASK_ID"}
// Task created, but assignees field is empty
Expected result: Task created with assignees correctly
populated.
Confirmed behavior:
- With assignees alone (no custom_fields) → ✅ assignees set
correctly
- With assignees + 1 custom_fields entry → ✅ sometimes works
- With assignees + multiple custom_fields entries → ❌
assignees silently dropped
甲乐(杨甲乐)
Bug #3 — clickup_create_task: assignees schema type mismatch
(string[] vs int[])
Tool: clickup_create_task
Parameter: assignees
The ClickUp REST API requires assignees as integer array
[294769839], but the MCP schema defines it as string array
["294769839"]. No conversion is performed internally.
Result:
- Pass ["294769839"] (string) → MCP accepts, API silently
ignores it, assignees empty
- Pass [294769839] (integer) → MCP rejects: "Expected string,
received number"
Fix needed: Update MCP schema to integer[] or convert strings
to integers before calling the REST API.
G
Gabriele Ferrari
Hi team,
I'm trying to connect the ClickUp MCP server via Claude.ai (web) using the Connectors feature in Settings.
Every attempt fails with the error:
"Couldn't reach the MCP server. You can check the server URL and verify the server is running."
Reference ID: ofid_7bf1bea749eebd89
Server URL: https://mcp.clickup.com/mcp
Client: Claude.ai (web/mobile)
Date: March 24, 2026
Location: Italy
I've retried multiple times over several minutes with the same result. No changes on my end — the server simply doesn't respond.
Is this a known outage or a regional issue? Any ETA on a fix?
Thanks.
Ankit Mishra
updated the status to
completed
J
JTK
Ankit Mishra How is this complete. I would think it would be ongoing as you add new options.
Load More
→