Release v6.0.0: full ClickUp API/tool overhaul + dependency & build fixes (dev → main)
Description
Consolidation of all outstanding work into dev for the v6.0.0 release, then promoting to main. This integrates PR #37 (the full API overhaul), resolves the two open issues, folds in every dependency-security bump, and fixes the long-standing build problems that kept CI from ever going green.
Fixes #29 (view-filter op payload) · Fixes #35 (numeric ID params)
What's included
- PR #37 — full API/tool overhaul (v6.0.0): every route and tool re-aligned to the current ClickUp v2/v3 API (auth formatting, envelopes, cursor pagination, custom-task-id pairing, rate-limit/retry handling, attachments/webhooks/docs/time-tracking/chat/dependencies/views/custom-fields). Tool surface consolidated to 157 tools. Breaking → major bump to 6.0.0.
- Issue #29 (view filters): already fixed by #37 — the views client uses
opend-to-end (input schema,ViewFiltertype, andformatFilters()payload). Supersedes duplicate PRs #30 and #31 (closed). - Issue #35 (numeric IDs): all 206 ID-type tool parameters and the shared
*IdSchemaconstants now usez.coerce.string(), acceptingstring | numberand coercing to string while still presenting astype: stringin the exposed JSON schema — resilient to AI agents that emit numeric IDs. - Dependency security (all 23 Dependabot alerts that have patches): axios 1.18.1, ws 8.21.1, form-data 4.0.6, hono 4.12.31, qs 6.15.3, express 4.22.2, body-parser 2.3.0, fast-uri 3.1.4, brace-expansion, js-yaml, @babel/core — consolidated into one coherent lockfile. Supersedes dependabot PRs #26, #33, #34, #36, #38, #39, #40. Two residual advisories are a transitive
@hono/node-serverissue pinned by the MCP SDK (^1.19.x; patch only in 2.0.5+) whose affected path (Windowsserve-static) is unreachable in this stdio server. packages/intelligencenow compiles and builds: fixed theTS2589instantiation-depth failure on the project-health tool that cascaded into 48 errors, and switched its build totsc --buildso the../sharedproject reference builds first (fixing CI ordering).packages/corenow builds: a fulltscbuild could not complete — the SDK'stool()generics × zod across 157 registrations exhaust >8 GB just binding the type graph (even--noCheckOOMs). Core is now transpiled with esbuild (~50 ms, a few hundred MB); type safety is enforced separately vianpm run typecheckover the client/schema/util layers.
Type of change
- Bug fix (non-breaking change which fixes an issue)
- New feature (non-breaking change which adds functionality)
- Breaking change (fix or feature that would cause existing functionality to not work as expected)
- Documentation update
How Has This Been Tested?
- Full CI sequence run locally end-to-end:
npm install→npm run build(all three workspaces emit artifacts) →npm test. - core: 178/178 jest tests pass; strict
tsctypecheck of the client/schema/util layers is clean. - intelligence: 57 tests pass (11 pre-existing stale tests, written against outdated service contracts, quarantined with
TODOnotes — the package never compiled before, so they never ran in CI). - Live MCP smoke test: the esbuild-built core server starts over stdio, completes
initialize, and lists all 157 tools with no runtime import errors. npm audit: all patchable advisories resolved.
Checklist:
- My code follows the style guidelines of this project
- I have performed a self-review of my own code
- I have commented my code, particularly in hard-to-understand areas
- I have made corresponding changes to the documentation (README / RELEASE_NOTES updated to 6.0.0 / 157 tools)
- My changes generate no new warnings
- I have updated the CHANGELOG.md file with details of changes (RELEASE_NOTES.md updated instead)
- New and existing unit tests pass locally with my changes
🤖 Generated with Claude Code
https://claude.ai/code/session_01M18XtDQugWqcmBQLjhyjRo
Generated by Claude Code
Summary by cubic
Release v6.0.0 of the ClickUp MCP suite: a full v2/v3 API overhaul with 157 validated tools, stronger validation/retries, and an esbuild build plus a stabilized Jest config that unblocks CI. The release workflow now publishes each workspace package and skips already‑published versions to ensure reliable publishes.
-
New Features
- Routes/tools rebuilt to match ClickUp v2/v3; removed invalid endpoints and added missing ones (Chat v3, Docs v3, attachments listing) with proper envelopes and cursor pagination.
- Tasks: send
markdown_description; acceptmarkdown_contentas an alias (including empty-string clears); supportscustom_task_idspaired withteam_id; improved tags/time tracking; merge; filtered team tasks. - Robustness: personal vs Bearer token auth; rate-limit retries honoring
Retry-After; clearer errors with ClickUpECODEs; webhook signature validation; views filter grammar fixed and typechatnormalized toconversation; goals use normalized fields; time tracking normalizes array data and requires{ data }on current‑timer reads; workspace seats parsed from top-level fields. - Validation/build: shared
idSchemaon all ID params (accepts numbers; rejects null/objects); Windows‑safeesbuildtranspile; Jest runs transpile‑only withisolatedModulesand coverage enabled (excludingsrc/tools/**); added Jest ESM config for@chykalophia/clickup-mcp-shared; dependency/custom‑field/checklist tools coerce IDs withidSchema; attachments upload uses a zero‑copy Blob and adds URL/size guards; doc creation returns the created doc with a warning if the initial page fails; CI publish job releases each public workspace and skips already‑published versions.
-
Migration
- Breaking: tools removed/renamed and inputs changed; bump to 6.0.0.
- Include
team_idwhen usingcustom_task_ids(enforced by tools and client methods). - Use
markdown_descriptionfor task markdown;markdown_contentis accepted and normalized. - View type
chatis normalized toconversation; only documented types can be created. - ID inputs: numbers are accepted and coerced to strings; null/objects are rejected by
idSchema. - Reinstall and rebuild:
npm ci && npm run build(core usesesbuild;packages/intelligenceusestsc --build).