Our workspace uses ClickUp's Custom Task IDs (e.g. DD-293) as the canonical ticket reference. This MCP currently can't resolve them:
getTaskById rejects DD-293 (regex requires 6-9 alphanumeric, no dashes).
searchTasks doesn't index custom refs as searchable terms.
- Custom IDs don't appear in any response field.
End result: every "update DD-293" has to be manually translated to the internal ID (86eexqt32-style) by looking up in the ClickUp UI first.
ClickUp's REST API already supports this via:
GET /api/v2/task/{task_id}?custom_task_ids=true&team_id={team_id}
Suggested fix — add an optional flag to existing tools:
getTaskById({ id: "DD-293", custom_task_id: true })
When true, pass custom_task_ids=true + team_id to the ClickUp API. Backwards-compatible (defaults to false).
Would also help to include the custom_id field in getTaskById and searchTasks responses, so internal IDs can be correlated back to human refs.
Thanks for the MCP — it's otherwise great to use.
Our workspace uses ClickUp's Custom Task IDs (e.g.
DD-293) as the canonical ticket reference. This MCP currently can't resolve them:getTaskByIdrejectsDD-293(regex requires 6-9 alphanumeric, no dashes).searchTasksdoesn't index custom refs as searchable terms.End result: every "update DD-293" has to be manually translated to the internal ID (
86eexqt32-style) by looking up in the ClickUp UI first.ClickUp's REST API already supports this via:
GET /api/v2/task/{task_id}?custom_task_ids=true&team_id={team_id}Suggested fix — add an optional flag to existing tools: