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.
J
Joe Warner
Having a few issues:
- tags schema is an array of strings, the API wants an array of objects
clickup_add_time_entry declares its tags parameter as:
"tags": { "type": "array", "items": { "type": "string" },
"description": "Array of tag names to assign to the time entry." }
So the tool ships tags: ["dev"].
The v2 endpoint behind it, POST /api/v2/team/{team_id}/time_entries, documents tags as an array of objects, and every tagged entry your own API returns carries the object form:
"tags": [ { "name": "dev", "tag_bg": null, "tag_fg": null, "creator": 30013528 } ]
ClickUp looks for a name key on each element, gets a bare string, and answers:
Failed to add time entry: Name value is required
Result: tags cannot be written through the MCP server at all. I tried a plain string array and an object-shaped string, and both fail the same way. The schema itself blocks passing a real object, so there's no client side workaround.
Fix: declare tags as an array of objects with a required name, or keep accepting strings and map each one to { "name": value } before calling the API.
- A failed tag call still creates the time entry
Worse than the tag failure. When the tag step fails, the call returns an error, but the time entry is created anyway without its tag. An error that looks like nothing happened is an error people retry.
I retried, and ended up with three identical one hour entries on one task and two identical entries on another. And there is no delete_time_entry or update_time_entry tool exposed, so nothing can clean it up programmatically. It had to be fixed by hand in the UI.
Fix: apply the tags in the same transaction as the entry, or roll the entry back when tagging fails. Either way the response should tell the truth about whether the entry landed.
- Two missing tools
POST /api/v2/team/{team_id}/time_entries/tags tags existing entries. Nothing in the MCP server exposes it, so entries written untagged can never be fixed programmatically.
No delete or update for time entries, which is what turned defect 2 into manual cleanup.
Environment
Official ClickUp MCP server at mcp.clickup.com/mcp, public beta, reached through Anthropic's connector directory. Observed 2026-09-12.
S
Summer Thomas
I’m trying to connect the built-in ClickUp integration in ChatGPT, but the connection keeps failing.
When I click to connect ClickUp, the authorization window opens and immediately shows this error:
invalid_client - Invalid client_id
It happens before I get the chance to choose or authorize a ClickUp workspace.
I first thought it might be an issue with my ClickUp account, so I tested the ClickUp API separately using a custom GPT Action. That works fine — it can authenticate, see my workspace, and retrieve spaces. So my ClickUp account and API access seem to be working normally.
Because of that, it looks like the issue is specifically with the built-in ChatGPT/ClickUp connection and its OAuth setup.
I also tried reconnecting, but I keep getting the same Invalid client_id error.
Can you check whether the OAuth client ID being used for the ChatGPT integration is still valid or configured correctly?
Arkady Sokolov
Summer Thomas: This should be fixed now! Please let me know if you're still running into trouble.
I
Ivan Kirilov Pophristov
We are experiencing the same issue with ChatGPT + ClickUp in a real production-planning workspace.
Our ClickUp tasks contain critical Custom Fields used for manufacturing planning — production CW, export CW, order/MTK identifiers, quantities and other structured production data.
ChatGPT can identify the task, Task ID, status and location in the workspace, and even reports the number of Custom Fields, but it cannot retrieve the actual Custom Field schema and values.
This prevents the AI from reliably analyzing production capacity and forces us to combine ClickUp task IDs with an external Master File as a workaround.
This is not a cosmetic limitation for us — the missing Custom Fields prevent a real manufacturing planning system from operating correctly through the ChatGPT connector.
Please expose the complete Custom Field schema and values to ChatGPT/Codex with parity across supported MCP clients.
Arkady Sokolov
Ivan Kirilov Pophristov: Thank you for the feedback! We're working on fixing this now
N
Nicholas Swope
An error appears to be a null-handling bug. The "Available workspaces:" list comes back empty, and the example prints undefined, suggesting the server fails to enumerate workspaces, gets an empty list, and misreports "none found" as "multiple found."
workspace_id is not exposed in the tool schemas, so even if I wanted to supply it, I can't. The parameter the error demands doesn't exist on clickup_get_workspace_hierarchy, clickup_create_task, etc
Arkady Sokolov
Thanks for the detailed report! This looks like a bug on our end. Could you file it through our support portal at https://clickup.com/support so the engineering team can investigate with full context? That gets it into the right queue for a fix. Appreciate you flagging this.
Ryan O'Leary
These artificial rate limits are the dumbest thing I've seen.
Arkady Sokolov
Ryan O'Leary: You'll now see much higher limits that you're unlikely to bump into, and we'll continue refining these based on feedback. Please let me know if you're still having trouble.
Ebbony
I am trying to connect Meta’s official Ads MCP server to ClickUp using this URL: https://mcp.facebook.com/ads
In ClickUp, I navigate to App Center → MCP Servers → Add Custom MCP Server, enter the Meta Ads MCP server URL, and attempt to authorise the connection. However, the connection fails and ClickUp displays an error, so the Meta Ads tools never become available in ClickUp Brain or Super Agents.
Meta has released this connector to provide authorised AI tools for Meta Ads reporting, campaign creation, ad set and ad editing, product catalogue management, and account diagnostics. ClickUp currently supports external MCP servers, but the Meta Ads server does not complete the connection or authorization process.
Expected result: ClickUp should open Meta’s authorisation flow, allow me to select and approve the relevant Meta Business and advertising accounts, then return to ClickUp with the Meta Ads tools connected.
Actual result: The connection fails with an error before setup can be completed. Retrying the connection produces the same result.
This issue prevents our marketing agency from connecting client Meta Ads accounts to ClickUp for campaign reporting, diagnostics, and approved advertising actions. Please investigate whether ClickUp’s MCP connection, OAuth callback, requested scopes, or compatibility with Meta’s MCP server requires an update.
Also connecting to Social Media Page results would be helpful as well - like how many new followers etc
Arkady Sokolov
Hey, this is likely an issue on Meta's side rather than ClickUp's. I'd recommend reviewing Meta's setup guide at https://developers.facebook.com/documentation/ads-commerce/ads-ai-connectors/ads-mcp-server/ads-mcp-server-get-started and confirming you've completed all the steps, including creating a developer app. If you're still stuck after that, feel free to follow up here.
Brian Schaff
We tag Docs in our workspace (e.g. "llm sync") and need to programmatically retrieve all Docs with a specific tag after a given date. The tags exist in the UI and can be applied to Docs, but the MCP has no way to query or filter Docs by tag or updated date.
Use case: We use Claude via MCP to sync meeting notes tagged "llm sync" into an external system. Right now there's no way to say "get me all docs tagged X updated after Y" without manually finding them in the UI.
Ideal solution: A search/filter tool in the MCP that supports Doc tags and date ranges, similar to how tasks can be queried by tag and due date today.
Arkady Sokolov
Thanks for reporting this. Could you file a bug report at https://clickup.com/support so our team can look into it? That helps us track and prioritize a fix. Appreciate the clear use case.
Rebekah Z Jones
Additional MCP asks: (1) ability to filter by custom fields and (2) ability to use Views to determine task pulls.
Arkady Sokolov
Rebekah Z Jones: Ability to filter by custom fields is being worked on right now! Do you have any more detail on item 2?
Rebekah Z Jones
Arkady Sokolov absolutely! I have a million (slight exaggeration) tasks in clickup and don't need the MCP to pull all of them to figure out what I need. If I could create a view in Clickup with all the proper filters so it's showing exactly what I want to see, and then tell the MCP "pull these tasks" for the skill or whatever I'm working on, it would cut down drastically on the amount of data to transfer back and forth.
菅原 康志
is the 300/24h limit for all workspace members, or is it per user authenticated to the server?
If the 300/24h limit applies to all workspace members, then our team still cannot use MCP.
Aron Weiler
I've been using the MCP server since it's initial rollout, and I am happy with all of the various features and how it has progressed.
The one issue, and it is a major one, is the rate limiting. 300 calls in 24 hours is not nearly sufficient- specifically when using it as a project management tool and managing a very large project.
I'd encourage you to raise the rate limits to something more reasonable, otherwise you risk AI-savvy customers creating their own tooling that uses the MUCH more reasonable API limits (1,000 requests PER MINUTE).
Load More
→