What is A Model Context Protocol (MCP) server for integrating ClickUp tasks with AI applications.?
This server allows AI agents to interact with ClickUp tasks, spaces, lists, and folders through a standardized protocol. It supports both hosted and NPX installations, enabling natural language management of your workspace.
Documentation
A Model Context Protocol (MCP) server for integrating ClickUp tasks with AI applications. This server allows AI agents to interact with ClickUp tasks, spaces, lists, and folders through a standardized protocol.
🚧 Status Update: Working with the ClickUp team... ✨
Requirements
Node.js v18.0.0 or higher (required for MCP SDK compatibility)
Please filter tools you don't need if you are having issues with the number of tools or any context limitations.
Running with HTTP Transport Support
The server supports both modern HTTP Streamable transport (MCP Inspector compatible) and legacy SSE (Server-Sent Events) transport for backwards compatibility.
Comma-separated list of tools to enable (takes precedence)
All tools
DISABLED_TOOLS
Comma-separated list of tools to disable
None
ENABLE_SSE
Enable the HTTP/SSE transport
false
PORT
Port for the HTTP server
3231
ENABLE_STDIO
Enable the STDIO transport
true
ENABLE_SECURITY_FEATURES
Enable security headers and logging
false
ENABLE_HTTPS
Enable HTTPS/TLS encryption
false
ENABLE_ORIGIN_VALIDATION
Validate Origin header against whitelist
false
ENABLE_RATE_LIMIT
Enable rate limiting protection
false
đź”’ Security Features
The server includes optional security enhancements for production deployments. All security features are opt-in and disabled by default to maintain backwards compatibility.
Server URL: http://localhost:3231 (or your server address)
Tools: Select the ClickUp tools you want to use
Example Client
An example SSE client is provided in the examples directory. To run it:
ENABLE_SSE=true PORT=3231 npx -y @taazkareem/clickup-mcp-server@latest --env CLICKUP_API_KEY=your-api-key --env CLICKUP_TEAM_ID=your-team-id
# In another terminal, run the example client
cd examples
npm install
npm run sse-client
Features
📝 Task Management
🏷️ Tag Management
• Create, update, and delete tasks• Move and duplicate tasks anywhere• Support for single and bulk operations• Set start/due dates with natural language• Create and manage subtasks• Add comments and attachments
• Create, update, and delete space tags• Add and remove tags from tasks• Use natural language color commands• Automatic contrasting foreground colors• View all space tags• Tag-based task organization across workspace
⏱️ Time Tracking
🌳 Workspace Organization
• View time entries for tasks• Start/stop time tracking on tasks• Add manual time entries• Delete time entries• View currently running timer• Track billable and non-billable time
• Navigate spaces, folders, and lists• Create and manage folders• Organize lists within spaces• Create lists in folders• View workspace hierarchy• Efficient path navigation
đź“„ Document Management
👥 Member Management
• Document Listing through all workspace• Document Page listing• Document Page Details• Document Creation• Document page update (append & prepend)
• Find workspace members by name or email• Resolve assignees for tasks• View member details and permissions• Assign tasks to users during creation and updates• Support for user IDs, emails, or usernames• Team-wide user management
⚡ Integration Features
🏗️ Architecture & Performance
• Global name or ID-based lookups• Case-insensitive matching• Markdown formatting support• Built-in rate limiting• Error handling and validation• Comprehensive API coverage
• 70% codebase reduction for improved performance• Unified architecture across all transport types• Zero code duplication• HTTP Streamable transport (MCP Inspector compatible)• Legacy SSE support for backwards compatibility
The member management tools help resolve user references when needed.
Prompts
Not yet implemented and not supported by all client apps. Request a feature for a Prompt implementation that would be most beneficial for your workflow (without it being too specific). Examples:
The LOG_LEVEL environment variable can be specified to control the verbosity of server logs. Valid values are trace, debug, info, warn, and error (default).
This can be also be specified on the command line as, e.g. --env LOG_LEVEL=info.
Support the Developer
When using this server, you may occasionally see a small sponsor message with a link to this repository included in tool responses. I hope you can support the project!
If you find this project useful, please consider supporting:
Acknowledgements
Special thanks to ClickUp for their excellent API and services that make this integration possible.
Contributing
Contributions are welcome! Please read our Contributing Guide for details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer
This software makes use of third-party APIs and may reference trademarks
or brands owned by third parties. The use of such APIs or references does not imply
any affiliation with or endorsement by the respective companies. All trademarks and
brand names are the property of their respective owners. This project is an independent
work and is not officially associated with or sponsored by any third-party company mentioned.