
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
clickup-mcp
Advanced tools
ClickUp MCP Server for AI assistants - Model Context Protocol implementation for ClickUp task management
A Node.js implementation of the Model Context Protocol (MCP) server that provides AI assistants with access to ClickUp's essential task management functionality.
🚀 Get started in 30 seconds:
AI Assistant | Setup Guide |
---|---|
🤖 Claude Desktop | Jump to setup → |
🌊 Windsurf | Jump to setup → |
🔮 Cursor | Jump to setup → |
Before setting up, make sure you have:
git clone <repository-url>
cd clickup-mcp
npm install
npm run build
npm install -g .
npx clickup-mcp --api-key pk_your_api_key_here
# Using npx (recommended)
npx clickup-mcp --api-key pk_your_api_key_here
# Using global installation
clickup-mcp --api-key pk_your_api_key_here
# Using environment variable
export CLICKUP_API_KEY=pk_your_api_key_here
npx clickup-mcp
Options:
-k, --api-key <key> ClickUp personal API token (required)
-t, --transport <type> Transport protocol (stdio, sse) (default: "stdio")
-p, --port <port> Port for SSE transport (default: 3000)
-h, --host <host> Host for SSE transport (default: "localhost")
--timeout <ms> API request timeout in milliseconds (default: 30000)
-r, --rate-limit <limit> Rate limit (requests per minute) (default: 100)
-d, --debug Enable debug logging
-c, --config <path> Path to configuration file
--help Display help information
CLICKUP_API_KEY=pk_your_api_key_here
CLICKUP_TIMEOUT=30000
CLICKUP_RATE_LIMIT=100
Creates a new task in a specified ClickUp list.
Parameters:
list_id
(required): The ID of the list where the task will be createdname
(required): Task title/namedescription
: Task description in plain textassignees
: Array of user IDs to assign the taskpriority
: Task priority (1=Urgent, 2=High, 3=Normal, 4=Low)due_date
: Due date as Unix timestamp in millisecondsstatus
: Task status (must match list's available statuses)tags
: Array of tag namescustom_fields
: Array of custom field objectsRetrieves tasks from a ClickUp list with filtering capabilities.
Parameters:
list_id
(required): The ID of the list to get tasks frompage
: Page number for pagination (default: 0)assignees
: Filter by assignee user IDsstatuses
: Filter by status namesdue_date_gt
: Filter due date greater than Unix timestampdue_date_lt
: Filter due date less than Unix timestampinclude_closed
: Include tasks with closed statusessubtasks
: Include subtasks (default: false)Updates an existing task properties.
Parameters:
task_id
(required): The ID of the task to updatename
: New task titledescription
: New task descriptionstatus
: New status (must be valid for the list)priority
: New priority (1=Urgent, 2=High, 3=Normal, 4=Low, null=no priority)due_date
: New due date as Unix timestamp in milliseconds, null to removeadd_assignees
: Array of user IDs to add as assigneesremove_assignees
: Array of user IDs to remove from assigneesRetrieves detailed information about a specific task.
Parameters:
task_id
(required): The ID of the task to retrieveinclude_subtasks
: Include subtask details (default: false)Retrieves all ClickUp workspaces accessible to the user.
Parameters: None
Retrieves spaces within a workspace.
Parameters:
team_id
(required): The workspace (team) ID to get spaces fromarchived
: Include archived spaces (default: false)Retrieves lists within a space or folder.
Parameters:
space_id
: The space ID to get lists from (use this OR folder_id)folder_id
: The folder ID to get lists from (use this OR space_id)archived
: Include archived lists (default: false)Retrieves information about the currently authenticated user.
Parameters: None
Add this to your Claude Desktop MCP servers configuration:
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": ["clickup-mcp", "--api-key", "your_api_key_here"]
}
}
}
Add this to your Windsurf MCP configuration (.windsurf/mcp.json
):
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": ["clickup-mcp", "--api-key", "your_api_key_here"],
"description": "ClickUp task management integration"
}
}
}
Add this to your Cursor settings (.cursor/settings.json
):
{
"mcp": {
"servers": {
"clickup": {
"command": "npx",
"args": ["clickup-mcp", "--api-key", "your_api_key_here"],
"description": "ClickUp MCP Server for task management"
}
}
}
}
If you prefer to install globally, you can use the direct command:
{
"mcpServers": {
"clickup": {
"command": "clickup-mcp",
"args": ["--api-key", "your_api_key_here"]
}
}
}
You can use a JSON configuration file with the --config
flag:
{
"apiKey": "pk_your_api_key_here",
"timeout": 30000,
"rateLimit": 100,
"retryAttempts": 3,
"retryDelay": 1000,
"enableCache": true,
"cacheExpiry": 300000
}
npm run build
npm run dev
npm test
The server includes comprehensive error handling with these error codes:
INVALID_API_KEY
: Authentication failureRATE_LIMIT_EXCEEDED
: Rate limit exceededRESOURCE_NOT_FOUND
: ClickUp resource not foundVALIDATION_ERROR
: Input validation failureNETWORK_ERROR
: Network/API communication errorThe server implements rate limiting with a sliding window approach:
--rate-limit
flag or CLICKUP_RATE_LIMIT
environment variableClickUp personal API tokens follow this format:
pk_<numbers>_<32_character_string>
Example: pk_12345_ABCDEF1234567890ABCDEF1234567890
MIT License - see LICENSE file for details.
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)For support, please open an issue on the GitHub repository.
FAQs
ClickUp MCP Server for AI assistants - Model Context Protocol implementation for ClickUp task management
The npm package clickup-mcp receives a total of 4 weekly downloads. As such, clickup-mcp popularity was classified as not popular.
We found that clickup-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.