Skip to main content
Glama

ClickUp MCP Server

# Changelog ## Unreleased ### 🚀 New Features & Improvements - **Added ENABLED_TOOLS configuration option (Issue #50)**: - Added `ENABLED_TOOLS` environment variable and command line argument support - Allows specifying exactly which tools should be available via comma-separated list - Provides complementary functionality to existing `DISABLED_TOOLS` option - **Precedence logic**: `ENABLED_TOOLS` takes precedence over `DISABLED_TOOLS` when both are specified - **Configuration options**: - `ENABLED_TOOLS=tool1,tool2` - Only enable specified tools - `DISABLED_TOOLS=tool1,tool2` - Disable specified tools (legacy approach) - If neither specified, all tools are available (default behavior) - **Enhanced tool filtering**: - Updated `ListToolsRequestSchema` handler to use new filtering logic - Updated `CallToolRequestSchema` handler with improved error messages - Clear distinction between "disabled" vs "not in enabled tools list" errors - **Impact**: Users can now precisely control tool availability for security, context limitations, or workflow optimization - **Backward compatibility**: Existing `DISABLED_TOOLS` functionality unchanged ## v0.8.2 (2025-06-12) ### 🚀 New Features & Improvements ### �🛠️ Bug Fixes - **Fixed task assignment feature not working (Issue #48)**: - Fixed critical bug where task assignees were not being properly assigned despite successful API responses - Root cause: Missing assignee resolution logic in task creation and update handlers - Added comprehensive assignee resolution supporting multiple input formats: - Numeric user IDs (e.g., `96055451`) - Email addresses (e.g., `"user@example.com"`) - Usernames (e.g., `"John Doe"`) - Mixed format arrays (e.g., `[96055451, "user@example.com"]`) - Enhanced task handlers with automatic assignee resolution: - `create_task` - Now resolves assignees before task creation - `update_task` - Now resolves assignees during task updates - `create_bulk_tasks` - Now resolves assignees for each task in bulk operations - Added proper deduplication for duplicate assignees in mixed format requests - Added graceful error handling for unresolvable assignees (continues with resolved ones) - **Impact**: Task assignment now works correctly for all documented assignee formats - **Supported formats**: User IDs, email addresses, usernames, and mixed arrays - **Fixed task due date updates not working (Issue #49)**: - Fixed critical bug where `update_task` returned success but didn't actually update due dates - Root cause: `updateTaskHandler` was not calling `buildUpdateData()` to parse date strings into timestamps - Enhanced natural language date parsing to support complex formats: - Added support for day names: "Monday", "Friday", "Saturday", etc. - Added time parsing: "Monday at 3pm EST", "Friday at 2:30pm", etc. - Added "next" prefix handling: "next Friday", "next Monday", etc. - Improved fallback parsing with multiple strategies and validation - **Impact**: Due date updates now work correctly for all supported date formats - **Supported formats**: "tomorrow", "Monday at 3pm EST", "next Friday", Unix timestamps, "MM/DD/YYYY", relative times like "2 hours from now" - **Fixed subtask visibility in workspace tasks (Issue #56)**: - Added missing `subtasks` parameter to `get_workspace_tasks` tool - Added missing `include_subtasks`, `include_compact_time_entries`, and `custom_fields` parameters for completeness - Updated tool description to clarify how subtasks parameter works with filtering - **Impact**: Users can now access subtasks through workspace-wide queries when subtasks match filter criteria - **Note**: Subtasks must still match other filter criteria (tags, lists, etc.) to appear in results - **Alternative**: Use `get_task` tool with `subtasks=true` to see all subtasks of a specific task regardless of filters ### 🔗 References - #48: [Task Assignment Feature Not Working through ClickUp MCP Integration API](https://github.com/taazkareem/clickup-mcp-server/issues/48) - #49: [update_task not updating due dates](https://github.com/taazkareem/clickup-mcp-server/issues/49) - #56: [Can't see sub-tasks](https://github.com/taazkareem/clickup-mcp-server/issues/56) ## v0.8.1 (2025-06-12) ### 🛠️ Critical Bug Fixes - **Fixed JSON Schema Validation Error**: - Resolved server startup failure with error: `Invalid schema for tool list_document_pages: strict mode: unknown keyword: "optional"` - Removed invalid `optional: true` keywords from document tool schemas - Fixed schemas for: `list_document_pages`, `get_document_pages`, `create_document_page`, `update_document_page` - **Technical Note**: In JSON Schema, optional properties are defined by omitting them from the `required` array, not by using an `optional` keyword - **Impact**: Server now starts correctly without schema validation errors ### 🔄 Repository Updates - Updated document tool schemas to comply with strict JSON Schema validation - Ensured all tools load properly and are fully functional - Maintained zero breaking changes - all existing functionality preserved ## v0.8.0 (2025-06-12) ### 🚀 Major Features & Architectural Improvements - **HTTP Streamable Transport Support**: - Added HTTP Streamable transport implementation for modern web-based integrations - Dual transport support: can run both STDIO and HTTP/SSE simultaneously - New configuration options: - `ENABLE_SSE` - Enable HTTP/SSE transport (default: false) - `PORT` - HTTP server port (default: 3231) - `ENABLE_STDIO` - Enable STDIO transport (default: true) - HTTP server endpoints: - `/mcp` - HTTP Streamable endpoint for MCP protocol communication - `/sse` - Legacy SSE endpoint for backwards compatibility - Enhanced integration capabilities: - MCP Inspector compatibility - Web application compatibility - Multiple client connection support - Session management for stateful interactions - **Massive Codebase Refactor & Optimization**: - **70% total codebase reduction** (1,566 → 466 lines) - **Eliminated 1,100+ lines of duplicated tool definitions** (89% reduction in SSE server) - Unified server architecture eliminating code duplication - Single source of truth for server configuration - Clean separation between server logic and transport setup - Improved maintainability and extensibility - **Member Management Tools**: - Added `get_workspace_members` - Retrieve all workspace members with details - Added `find_member_by_name` - Find specific members by name or email - Added `resolve_assignees` - Resolve user IDs/emails to assignee objects - Enhanced task creation with `assignees` parameter for user assignment - **Enhanced task updating with `assignees` parameter** for both single and bulk operations - Support for assignees in create, update, and bulk operations (create/update) - Improved error handling and response formatting for member operations ### 🔄 Repository Updates - Refactored transport architecture for unified server configuration - Enhanced configuration system for transport selection - Improved imports and code organization for maintainability - Updated tool schemas to support assignees parameter - Comprehensive testing across all transport types ## v0.7.2 (2025-04-25) ### 🛠️ Bug Fixes - Fixed time estimate support in task updates: - Removed redundant field-specific validation check in task update operations - Simplified validation to check only for the presence of update fields - Fixed "At least one field to update must be provided" error when using time_estimate - Added time string parsing for converting formats like "2h 30m" to minutes - Improved tool description for clear guidance on supported formats - Ensures compatibility with all fields defined in the UpdateTaskData type ### 🔗 References - #45: [Bug: Time estimates not allowed when updating tasks](https://github.com/taazkareem/clickup-mcp-server/issues/45) ## v0.7.1 (2025-04-24) ### 🚀 New Features & Improvements - Added Documents Module with comprehensive document management: - Document listing and search across workspace - Document creation with customizable visibility - Document page management (create, list, get, update) - Optional module activation via `DOCUMENT_SUPPORT=true` environment variable - Support for both API V2 and V3 endpoints - Added comprehensive Time Tracking functionality: - View time entries for tasks with filtering options - Start/stop time tracking on tasks - Add manual time entries with flexible duration formats - Delete time entries - View currently running timer with elapsed time information - Track billable and non-billable time - Added command disabling capability: - New `DISABLED_TOOLS` environment variable - Disable specific commands via comma-separated list - Support for both environment variable and command line argument - Improved security through selective command access - Clear error messages for disabled command attempts ### 🛠️ Bug Fixes & Improvements - Fixed custom task ID lookup in `getTaskByCustomId` method: - Corrected API endpoint from `/task/custom_task_ids` to `/task/{id}` with proper parameters - Added required `custom_task_ids=true` and `team_id` parameters for proper authentication - Fixed "Authorization failed" error when retrieving tasks by custom ID - Improved error handling and logging for custom ID operations - Fixed JSON schema type definitions in task tools for improved compatibility with third-party parsers: - Updated schema to use single string type with nullable property instead of array types - Ensures compatibility with Go-based parsers like windsurf that have strict type requirements - Affected tools: `update_task`, `update_bulk_tasks` - Enhanced custom field handling in task updates: - Fixed issue with custom field updates not being properly applied - Improved validation and processing of custom field values - Ensures consistent behavior across all task update operations ### 🔄 Repository Updates - Updated documentation with new document module features - Added configuration guide for disabled commands - Enhanced API reference with document management examples - Added documentation for time tracking tools - Improved API reference accuracy for task update operations ### 🔗 References - #37: [Fix authorization issue with custom task IDs](https://github.com/taazkareem/clickup-mcp-server/issues/37) - #36: [Fix types for windsurf compatibility](https://github.com/taazkareem/clickup-mcp-server/pull/36) - #38: [Add time tracking functionality](https://github.com/taazkareem/clickup-mcp-server/pull/38) - #39: [Add command disabling capability](https://github.com/taazkareem/clickup-mcp-server/pull/39) - #40: [Fix custom field updates](https://github.com/taazkareem/clickup-mcp-server/pull/40) - #41: [Add document module](https://github.com/taazkareem/clickup-mcp-server/pull/41) ## v0.6.9 (2025-04-03) ### 🚀 New Features & Improvements - Enhanced token limit protection for workspace tasks: - Added handler-level token limit validation (50,000 tokens) - Implemented smart response format switching - Automatic fallback to summary format for large responses - Improved token estimation for task responses - Added logging for format switching events - Double-layer protection at both service and handler levels ### 🔄 Repository Updates - Updated task handler implementation with token limit checks - Added token estimation utilities for task responses ## v0.6.6 (2025-04-03) ### 🐛 Bug Fixes - Fixed task caching issue causing rate limits: - Task IDs from name lookups weren't being shared between sequential operations - Each tool operation was performing redundant global task searches - Added task name-to-ID mapping in cache to prevent duplicate lookups - Improved caching efficiency for sequential operations on same task ## v0.6.5 (2025-03-28) - Added start date support for tasks: - Set task start dates with natural language expressions (e.g., "now", "tomorrow at 9am") - Support for both creation and updates via `startDate` parameter - Proper time handling with `start_date_time` flag - Added Global Task Lookup feature: - Find tasks by name across the entire workspace without specifying a list - Smart disambiguation when multiple tasks share the same name - Context-aware results showing list, folder, and space for each match - Default selection of most recently updated task when multiple matches exist - Backward compatible with list-specific lookups - Applied to all task operations: get_task, update_task, delete_task, etc. - Improved error messages with actionable information for disambiguation ### 🚀 Performance Optimizations - Implemented parallel request optimization for task operations: - Parallel validation of tasks and lists in move operations - Concurrent processing of task and list data - Added task validation caching: - 5-minute TTL cache for task and list validations - Reduced redundant API calls in bulk operations - Optimized cache updates after successful operations - Enhanced workspace hierarchy fetching: - Implemented batched space processing (3 spaces at a time) - Added batched folder processing (5 folders at a time) - Improved rate limit compliance with controlled concurrency - Added detailed performance logging and metrics ## v0.6.2 (2025-03-27) ### 🛠️ Bug Fixes - Fixed binary execution issue by adding proper shebang line to the main executable ### 🚀 New Features & Improvements - Added tag support with tools for: - Managing tags at the space level (get, create, update, delete) - Adding/removing tags from tasks - Support for tags when creating and updating tasks - Enhanced bulk task creation with tags support - Added natural language color processing for tags: - Create tags with color names (e.g., "blue", "red", "yellow") - Support for color variations (e.g., "dark blue", "light green") - Automatic generation of contrasting foreground colors - Color commands in both tag creation and updates - Added `get_workspace_tasks` tool for retrieving filtered workspace tasks by various criteria: - Requires at least one filter parameter (tags, list_ids, space_ids, etc.) - Supports filtering by tags, due dates, status, and more - Includes pagination and sorting options - Implements Adaptive Response Format with two detail levels: - `summary`: Lightweight response with essential task information - `detailed`: Complete task information with all fields (default) - Automatic format selection based on response size (50,000 token threshold) - Optimized for handling large datasets efficiently ### 🔄 Repository Updates - Updated documentation to reflect new tool requirements and capabilities - Improved API reference with detailed examples and response formats ## v0.6.0 (2025-03-26) ### 🚀 New Features & Improvements - Added subtasks support with multi-level nesting capability - Implemented parent parameter for creating subtasks - Made logging level configurable via environment variable or command line - Fixed custom task ID handling across all operations - Default log level now set to ERROR for improved compatibility ### 📦 Dependencies - No dependency changes in this release ### 🔄 Repository Updates - Updated documentation for subtasks feature - Improved API reference with subtasks examples - Added Security Policy and Code of Conduct ### 🔗 References - #18: [See pull request](https://github.com/taazkareem/clickup-mcp-server/pull/18) - #20: [See pull request](https://github.com/taazkareem/clickup-mcp-server/pull/20) ## v0.5.1 (2025-03-23) ### 🚀 New Features & Improvements - Added support for Custom IDs across all tools - New tools: - `attach_task_file`: Attach files to tasks using local paths, URLs, or base64 data - `create_task_comment`: Add comments to tasks - `get_task_comments`: Retrieve comments from tasks - Enhanced date parsing with support for "X minutes from now" expressions - Improved task name matching with greater flexibility: - Case-insensitive matching - Partial name matching - Matching without emojis - Fixed error response formatting in task comment retrieval - Improved workspace hierarchy display to correctly show lists directly in spaces ### 📦 Dependencies - Updated dependencies to use semantic versioning - Upgraded: - @modelcontextprotocol/sdk: 0.6.0 → 0.6.1 - axios: 1.6.7 → 1.8.4 - dotenv: 16.4.1 → 16.4.7 ### 🔄 Repository Updates - Added automated changelog generation - Updated documentation and README - Added funding options through GitHub Sponsors and Buy Me A Coffee ## v0.5.0 (2025-03-22) ### 🚀 Initial Release - First public version of ClickUp MCP Server - Core functionality for task, list, and folder management - Basic workspace hierarchy navigation - NPM and Smithery deployment options ### 🔄 Repository Updates - Initial README and documentation - Added GitHub workflow for publishing - Created Funding options through GitHub Sponsors and Buy Me a Coffee ### 🔗 References - #12: [See pull request](https://github.com/taazkareem/clickup-mcp-server/pull/12)

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/taazkareem/clickup-mcp-server'

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