MCP Time Tracking Tools Broken — `tags` Schema Mismatch
abenger
Both
clickup_get_time_entries
and clickup_get_task_time_entries
are broken due to a tags
field type mismatch in the output schema.Root Cause:
The ClickUp API returns
tags
as an array of objects ([{name, tag_fg, tag_bg, ...}]
), but the MCP output schema defines it as string[]
. This fails structured content validation.Symptoms:
- get_time_entries: Throws MCP error-32602with"expected": "string", "received": "object"for every entry. In our test, the API successfully returned 206 entries but all were rejected by validation.
- get_task_time_entries: Silently returns empty results ({"timeEntries": [], "total": 0}) on tasks that have confirmed tracked time viaget_task(time_spent > 0). Verified across multiple tasks.
Fix:
Update the output schema for both tools to define
tags
as an array of objects.Note:
These tools were working via Claude.ai in mid-March 2026.
This may also explain Gretchen Elliott's March 17 report in this thread —
get_time_entries
does exist as an MCP tool but is currently unusable.Log In
Raimund Lang-Pantic
get_time_entries fails with output validation error. The output schema defines tags as string[], but the API returns object[] with {name, tag_bg, tag_fg, creator}.
Reproduce: Call get_time_entries with any date range containing tagged time entries. Fails every time.
MCP error -32602: Output validation error
{"code":"invalid_type","expected":"string","received":"object","path":["entries",0,"tags",0]}
Repeats for every tag on every entry. 50+ entries with tags = hundreds of errors, zero data returned.
Root cause: MCP server validates output against schema after API fetch but before returning to client. Schema says tags: string[], API returns:
"tags": [{"name":"some-tag","tag_bg":"#00ff00","tag_fg":"#000000","creator":12345678}]
Mismatch = validation failure = no results.
Key evidence: get_task_time_entries returns the identical tag object structure and works fine. Only get_time_entries fails -- suggesting its output schema is wrong while the per-task tool's schema is correct.
Impact: get_time_entries is completely unusable for any workspace using time tracking tags. No workaround via MCP - only get_task_time_entries per individual task works, but that requires knowing all task IDs upfront and doesn't support workspace-wide reporting.
Fix: Update get_time_entries output schema for tags to match the actual API response and the working get_task_time_entries schema:
"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"tag_bg":{"type":"string"},"tag_fg":{"type":"string"},"creator":{"type":"number"}}}}