Skip to main content
Glama

ClickUp MCP Server

by Nazruden
# Progress: @nazruden/clickup-server ## Progress **Last Updated:** $(date --iso-8601=seconds) **What Works:** - **Core Functionality:** MCP server initializes and communicates via Stdio. - **Authentication:** Uses ClickUp Personal API Token. - **Service Layer:** Abstracted ClickUp API interactions for various resources. - **Tooling Layer:** MCP tools are defined with input schemas and have corresponding handlers. - **API URL Handling:** Standardized base API URL in config (`https://api.clickup.com`) with explicit `/api/v2/` or `/api/v3/` path prefixes in service calls. - **Task Management:** - `clickup_create_task` - `clickup_update_task` - **Team & List Management:** - `clickup_get_teams` - `clickup_get_lists` - `clickup_create_list` - **Board Management:** - `clickup_create_board` - **Space Management (v2 API):** - `clickup_get_spaces` - `clickup_create_space` - `clickup_get_space` - `clickup_update_space` - `clickup_delete_space` - **Folder Management (v2 API):** - `clickup_get_folders` - `clickup_create_folder` - `clickup_get_folder` - `clickup_update_folder` - `clickup_delete_folder` - **Custom Field Management (v2 API):** - `clickup_get_custom_fields` - `clickup_set_task_custom_field_value` (input schema uses string for `value` with parsing in handler) - `clickup_remove_task_custom_field_value` - **Doc Management (Primarily v3 API):** - `clickup_search_docs` (v3) - `clickup_create_doc` (v3) - `clickup_get_doc_pages` (v3) - `clickup_create_doc_page` (v3) - `clickup_get_doc_page_content` (v3) - `clickup_edit_doc_page_content` (v3) - _Note: `clickup_delete_doc` was removed as the ClickUp V3 API does not provide a direct delete operation for docs via the previously attempted endpoint._ - **View Management (v2 API, standardized output):** - `clickup_get_views` - `clickup_create_view` - `clickup_get_view_details` - `clickup_update_view` - `clickup_delete_view` - `clickup_get_view_tasks` - **Unit Testing:** - All 97 unit tests across 7 suites (services and tools) are passing. - Tests cover service logic (mocking `axios`) and tool handler logic (mocking `ClickUpService` resource services). - **Schema Compatibility:** Tool input schemas are refined for better compatibility, especially for complex types by using string inputs with descriptive guidance. - **Output Standardization:** All tool handlers now return a stringified JSON in `content[0].text` (often prefixed with a human-readable summary message). **What's Left to Build / Next Steps:** - **Expand Task Management Features:** (User has indicated this as the next area of focus for a future session) - `clickup_get_task` (get a single task by ID) - `clickup_get_tasks` (get tasks for a list) - `clickup_delete_task` - Address other missing tool implementations as prioritized (e.g., more List operations, Comments, Tags, etc.). - Future considerations (not immediate): - Comprehensive integration testing with various MCP clients. **Current Status:** - All planned V3 API updates for Doc tools and associated test fixes are complete. - Standardization of tool output and View tool test fixes are complete. - All unit tests are passing. - The server is in a stable state regarding implemented features and their tests. - `deleteDocTool` removed after investigation confirmed API limitation. **Known Issues & API Limitations Noted:** - **Doc Deletion:** The ClickUp V3 API (as per available documentation and testing) does not currently offer a direct endpoint to delete a Doc object using `DELETE /api/v3/workspaces/{workspace_id}/docs/{doc_id}`. Docs might bearchivable or pages deletable, but direct Doc entity deletion is not exposed this way. **Confidence Score:** 95% - **Reasoning:** All identified unit test failures have been resolved. Core functionality for implemented tools, including recent V3 API migrations for Docs and View tool fixes, is verified at the unit test level. The schema and output standardization efforts have also been completed. URL pathing for API calls has been standardized and tested. The removal of `deleteDocTool` is due to an external API limitation and not a regression. Confidence remains high for the current feature set. ## 1. What Works / Implemented Features - **Core Server Infrastructure:** Node.js Stdio MCP server using `@modelcontextprotocol/sdk`. - **Authentication:** Uses **ClickUp Personal API Token** via env var (`CLICKUP_PERSONAL_TOKEN`). `ClickUpService` correctly injects token into API requests. - **ClickUp API Connectivity:** Configured for **API v2**. - **Configuration:** Uses `src/config/app.config.ts` (loads `.env` and `.env.test` for tests). - **Security:** `src/security.ts` exists, but its encryption logic is currently unused by the Personal API Token flow. - **Type Definitions:** Centralized and updated in `src/types.ts`. - **Refactoring:** - `ClickUpService` (`src/services/clickup.service.ts`) acts as a facade. - Resource-specific logic moved to `src/services/resources/` (e.g., `task.service.ts`, `space.service.ts`, etc.). - Tool definitions and handlers moved to `src/tools/` (e.g., `task.tools.ts`, `space.tools.ts`, etc.). - Unit tests reorganized into `src/__tests__/services/resources/` and `src/__tests__/tools/`. - **Unit Testing:** Jest test suites cover service layer methods for Tasks, Spaces, Folders, Custom Fields, Docs, and Views. - **Local Development Testing:** Tested with MCP Inspector using `npx @modelcontextprotocol/inspector node --loader ts-node/esm src/index.ts` (though potential stdout interference needs monitoring). - **MCP Tools (Base - Implemented & Tested via Unit Tests):** - `clickup_get_teams` - `clickup_get_lists` - `clickup_create_board` - **MCP Tools (Task Management - Implemented & Tested via Unit Tests):** - `clickup_create_task` - `clickup_update_task` - **MCP Tools (Space Management - Implemented & Tested via Unit Tests):** - `clickup_get_spaces` - `clickup_create_space` - `clickup_get_space` - `clickup_update_space` - `clickup_delete_space` - **MCP Tools (Folder Management - Implemented & Tested via Unit Tests):** - `clickup_get_folders` - `clickup_create_folder` - `clickup_get_folder` - `clickup_update_folder` - `clickup_delete_folder` - **MCP Tools (Custom Field Management - Implemented & Tested via Unit Tests):** - `clickup_get_custom_fields` - `clickup_set_task_custom_field_value` - `clickup_remove_task_custom_field_value` - **MCP Tools (Document Management - Implemented & Tested via Unit Tests):** - `clickup_search_docs` (Service method tested; Migrated to v3 and successfully E2E tested) - `clickup_create_doc` (Service method tested; Migrated to v3 and successfully E2E tested) - `clickup_get_doc_pages` (Service method tested; Uses v2 endpoint but successfully E2E tested with v3 doc IDs) - `clickup_create_doc_page` (Service method tested; Migrated to v3 and successfully E2E tested) - `clickup_get_doc_page_content` (Service method tested; Migrated to v3 and successfully E2E tested) - `clickup_edit_doc_page_content` (Service method tested; Migrated to v3 and successfully E2E tested) - **MCP Tools (View Management - Service Layer Implemented & Tested):** - `clickup_get_views` (Service method tested) - `clickup_create_view` (Service method tested) - `clickup_get_view_details` (Service method tested) - `clickup_update_view` (Service method tested) - `clickup_delete_view` (Service method tested) - `clickup_get_view_tasks` (Service method tested) - _Note: Tool handlers defined in `view.tools.ts`, but corresponding tests in `view.tools.test.ts` are paused._ - **README.md:** Updated with documentation for Task, Space, Folder, Custom Field, and Doc tools. - **Memory Bank:** Core files recently updated (this update cycle). - **LLM Schema Compatibility**: Tool input schemas (`taskSchema`, `setTaskCustomFieldValueTool`) have been refined and tested for compatibility with `gemini-2.5-pro-exp-03-25`, resolving previous "incompatible argument schema" errors. Key changes include removing numeric enums and using specific string formatting for variable-type fields. - **Tool Output Format**: Handlers for `getTeams`, `createTask`, `updateTask` (and many others by refactoring) updated to return structured data correctly using `type: "text"` with stringified JSON, ensuring MCP compliance. - **API Versioning Strategy:** Successfully migrated most Document tools to ClickUp API v3 where necessary for functionality (e.g., `searchDocs`, `createDoc`, `createDocPage`, `getDocPageContent`, `editDocPageContent`). Some tools may remain on v2 if fully functional (e.g., `getDocPages`). ## 2. What's Left to Build / Implement - **Unit Tests for Tool Handlers:** - Complete tests for View handlers (`src/__tests__/tools/view.tools.test.ts`). - _Consider adding tests for other tool handlers (`task.tools.test.ts`, `space.tools.test.ts`, etc.) for completeness, although service layer testing provides high confidence._ - **README.md Updates:** Add documentation for View tools. - **Integration Testing:** End-to-end testing for Custom Field, Doc (now complete), and View tools using MCP Inspector, specifically verifying the stabilized schemas. - **`.aijournal` / `.cursor/rules`:** - `api-investigation.mdc` rule created. - `.aijournal` entry created for API investigation and data validation learnings. - Consider adding more as beneficial patterns or specific instructions emerge. - **Clarify Python Files:** Confirm role of `setup.py` and other Python-related files. - **Refine Configuration (Optional):** Consider removing unused `ENCRYPTION_KEY` logic. - **Verify MCP Inspector stdio JSON parsing:** Re-verify if server logs interfere with MCP message parsing during integration testing, now that schema issues are resolved. ## 3. Current Status - **Phase:** Feature Implementation - Views (Service layer complete & tested; tool handlers defined; tool handler tests paused). - **Overall Understanding:** High confidence in the refactored architecture and implemented features up to the View service layer. ## 4. Known Issues & Blockers - **Paused Blocker:** Mocking complexity in `view.tools.test.ts` preventing completion of View tool handler tests. ## 5. Next Milestones - Complete Memory Bank documentation update. - Resolve mocking issues and complete unit tests for View tool handlers. - Add View tool documentation to README.md. - Perform integration testing for all recently added tools. ## Confidence Score: N/A **Reasoning:** Tracks detailed progress across features and refactoring.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nazruden/clickup-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server