Skip to main content
Glama

ClickUp MCP Server

by Nazruden
--- timestamp: 2024-07-25T12:00:00Z tags: [api-debug, clickup-api, openapi, swagger, endpoint-discovery, iteration, workspace-id, data-validation] source: Conversation during clickup_create_doc troubleshooting (July 2024) --- ## Insight: Investigating ClickUp API Endpoints with OpenAPI Specification & Data Validation **Context:** Encountered persistent 404 errors when attempting to use the `clickup_create_doc` tool. The initial endpoint `/api/v2/space/{space_id}/doc` failed. A subsequent attempt with a presumed v3 endpoint `/api/v3/workspaces/{workspace_id}/docs` also failed, even after aligning the request with an OpenAPI specification. **Problem:** Difficulty in identifying the correct API path, parameters, request body structure, and ensuring the validity of data (like `workspace_id`) for creating documents in ClickUp, especially with the transition from v2 to v3. **Methodology for Resolution:** 1. **Obtain API Specification:** Leveraged a provided OpenAPI JSON file (`docs/673cf4cfdca96a0019533cad.json`). 2. **Format Specification:** Formatted the single-line JSON for effective analysis. 3. **Targeted Search (`grep_search`):** Used `operationId` (e.g., `"createDoc"`) and tags (e.g., `"tags": ["Docs"]`) to locate the API definition. 4. **Detailed Spec Analysis:** * Identified the v3 path: `POST /v3/workspaces/{workspaceId}/docs`. * Noted path parameter `workspaceId` was `type: "number"`. * Examined `requestBody` for required (`name`) and optional fields. 5. **Iterative Implementation & Testing:** * **Update Types (`src/types.ts`):** Aligned `CreateDocParams`. * **Update Service (`src/services/resources/doc.service.ts`):** Used correct v3 endpoint, request body, and crucially, converted string `workspace_id` to a number for the path. * **Update Tool Definition (`src/tools/doc.tools.ts`):** Aligned `inputSchema`. * **Rebuild & Test:** Rebuilt MCP server and re-tested after changes. 6. **Data Validation (Critical Step):** When 404s persisted despite spec alignment, the validity of the `workspace_id` itself was questioned. A call to `clickup_get_teams` (to get current workspaces) revealed the previously used `workspace_id` was incorrect. Using the correct, validated `workspace_id` resolved the final 404. **Outcome:** This systematic approach, combining meticulous API spec alignment with proactive data validation (especially for resource identifiers), enabled the successful creation of a document. The final fix involved both using the correct `workspace_id` AND ensuring it was passed as a number in the API path. **Learning:** * When an API specification is available, it's the primary source of truth for request structure. * Careful, iterative alignment of client code with the spec is essential. * **Crucially, always validate resource identifiers (like `workspace_id`, `list_id`, etc.) being used in API calls, especially if they are sourced from previous operations or configurations. They might become stale or incorrect.** * Pay close attention to data types required by the API, particularly for path parameters (e.g., string vs. number). </rewritten_file>

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