clickup-mcp-server

deniskrds/clickup-mcp-server

3.3

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.

Tools
8
Resources
0
Prompts
0

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

  1. Install: python -m pip install -e .
  2. Configure: Add to Claude Desktop config with your CLICKUP_API_TOKEN
  3. Test: Ask Claude "Use the clickup server to get my user profile"
  4. Create: "Create a task named 'Test Task' in list LIST_ID"

Installation

Prerequisites

Local Development

  1. Clone the repository:
git clone https://github.com/deniskrds/clickup-mcp-server.git
cd clickup-mcp-server
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install the package:
python -m pip install -e .
  1. Create environment file:
cp .env.example .env
# Edit .env and add your CLICKUP_API_TOKEN

Claude Desktop Setup

  1. Open Claude Desktop configuration:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the MCP server configuration:

{
  "mcpServers": {
    "clickup": {
      "command": "clickup-mcp",
      "env": {
        "CLICKUP_API_TOKEN": "your_token_here"
      }
    }
  }
}
  1. 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

  1. Create task: "Use the clickup server to create a task named 'Review PR #456' in list LIST_ID"
  2. Get task details: "Get task TASK_ID to see the created task"
  3. Update task: "Update task TASK_ID: set status to 'In Progress' and assign to user 123"
  4. Upload file: "Upload '/path/to/review.pdf' to task TASK_ID"
  5. Complete task: "Update task TASK_ID: set status to 'Complete'"

Available Tools

ToolDescriptionParameters
get_userGet current user profileNone
get_taskGet specific task detailstask_id
create_taskCreate new tasklist_id, name, description, assignees, tags, status, priority, due_date
update_taskUpdate existing tasktask_id, name, description, assignees, tags, status, priority, due_date
delete_taskDelete a tasktask_id
list_tasksList tasks in a listlist_id, page, limit, status, assignees
upload_task_attachmentUpload file to tasktask_id, file_path
get_task_attachmentsGet task attachmentstask_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

  1. Implement helper functions in clickup_mcp/tools/
  2. Register tools in clickup_mcp/mcp_server.py
  3. 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.