deniskrds/clickup-mcp-server
If you are the rightful owner of clickup-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The ClickUp MCP Server is a Model Context Protocol server that allows Claude Desktop to manage ClickUp tasks using natural language commands.
ClickUp MCP Server
A Model Context Protocol (MCP) server that enables Claude Desktop to interact with ClickUp through natural language commands.
Project Status
š§ Under Development - This project is actively being developed. Features and APIs may change.
Currently implementing:
- Core MCP server infrastructure
- ClickUp API integration
- Task management tools
- Authentication handling
Features
- User Management: Get current user profile and verify authentication
- Task Management: Complete CRUD operations - get, create, update, delete tasks
- Task Attachments: Upload files and manage attachments
- Natural Language: Ask Claude to manage your ClickUp workspace in plain English
Quick Start
- Install:
python -m pip install -e .
- Configure: Add to Claude Desktop config with your
CLICKUP_API_TOKEN
- Test: Ask Claude "Use the clickup server to get my user profile"
- Create: "Create a task named 'Test Task' in list LIST_ID"
Installation
Prerequisites
- Python 3.10 or higher
- ClickUp API token (get one here)
Local Development
- Clone the repository:
git clone https://github.com/deniskrds/clickup-mcp-server.git
cd clickup-mcp-server
- Create a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install the package:
python -m pip install -e .
- Create environment file:
cp .env.example .env
# Edit .env and add your CLICKUP_API_TOKEN
Claude Desktop Setup
-
Open Claude Desktop configuration:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Add the MCP server configuration:
{
"mcpServers": {
"clickup": {
"command": "clickup-mcp",
"env": {
"CLICKUP_API_TOKEN": "your_token_here"
}
}
}
}
- Restart Claude Desktop
Usage
Once configured, you can ask Claude to manage your ClickUp workspace:
User & Authentication
- "Use the clickup server to get my user profile"
- "Verify my ClickUp authentication"
Task Management
- "Use the clickup server to create a task named 'Review PR' in list LIST_ID"
- "Update task TASK_ID: set status to 'In Progress'"
- "List tasks in list LIST_ID with status 'Open'"
- "Get task TASK_ID details"
- "Delete task TASK_ID"
Task Attachments
- "Upload file '/path/to/document.pdf' to task TASK_ID"
- "Get attachments for task TASK_ID"
Example Workflow
- Create task: "Use the clickup server to create a task named 'Review PR #456' in list LIST_ID"
- Get task details: "Get task TASK_ID to see the created task"
- Update task: "Update task TASK_ID: set status to 'In Progress' and assign to user 123"
- Upload file: "Upload '/path/to/review.pdf' to task TASK_ID"
- Complete task: "Update task TASK_ID: set status to 'Complete'"
Available Tools
Tool | Description | Parameters |
---|---|---|
get_user | Get current user profile | None |
get_task | Get specific task details | task_id |
create_task | Create new task | list_id , name , description , assignees , tags , status , priority , due_date |
update_task | Update existing task | task_id , name , description , assignees , tags , status , priority , due_date |
delete_task | Delete a task | task_id |
list_tasks | List tasks in a list | list_id , page , limit , status , assignees |
upload_task_attachment | Upload file to task | task_id , file_path |
get_task_attachments | Get task attachments | task_id |
Configuration
The server uses environment variables for configuration:
# Required
CLICKUP_API_TOKEN=your_clickup_token
# Optional (defaults shown)
CLICKUP_APP_ENV=development
CLICKUP_BASE_URL=https://api.clickup.com/api/v2
CLICKUP_REQUEST_TIMEOUT_SECONDS=15
CLICKUP_MAX_RETRIES=2
CLICKUP_RETRY_BACKOFF_SECONDS=0.5
Demo
See for comprehensive usage examples and prompts.
Development
Project Structure
clickup_mcp/
āāā clickup/ # ClickUp API client and models
āāā tools/ # MCP tool implementations
āāā config.py # Configuration management
āāā mcp_server.py # MCP server entry point
Adding New Tools
- Implement helper functions in
clickup_mcp/tools/
- Register tools in
clickup_mcp/mcp_server.py
- Add clear docstrings and parameter types
Troubleshooting
"Server disconnected" error:
- Ensure
clickup-mcp
command is in your PATH - Check that
CLICKUP_API_TOKEN
is set correctly - Verify Python version is 3.10+
"Module not found" errors:
- Reinstall the package:
python -m pip install -e .
- Activate your virtual environment
Claude can't find the server:
- Use absolute path in Claude config:
/full/path/to/venv/bin/clickup-mcp
- Restart Claude Desktop after config changes
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
License
This project is licensed under the MIT License. See the file for details.
Contact
For questions or support, please open an issue on GitHub.