mcp-clickup
This server enables interaction with ClickUp workspaces through the ClickUp API. You can:
Authenticate with the ClickUp API using an API token and workspace ID via
clickup_authenticateRetrieve a task by its standard task ID using
clickup_get_taskRetrieve a task by its custom ID using
clickup_get_task_by_custom_idFetch multiple tasks at once using
clickup_get_tasks
The server is compatible with Claude Desktop and can be set up using either npx or Docker.
Enables interaction with ClickUp workspaces, providing tools to authenticate, retrieve tasks by ID or custom ID, and fetch multiple tasks at once from ClickUp projects.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-clickupget task TASK-123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ClickUp MCP Server
MCP Server for the ClickUp API, enabling Claude to interact with ClickUp workspaces.
Tools
clickup_authenticateAuthenticate with ClickUp API using an API token and workspace ID
Required inputs:
api_token(string): ClickUp API token for authenticationworkspace_id(string): ClickUp workspace ID for authentication
Returns: User information and authentication status
clickup_get_taskRetrieve a task from ClickUp by task ID
Required inputs:
api_token(string): ClickUp API token for authenticationtask_id(string): The ID of the ClickUp task to retrieve
Returns: Detailed task information including description, status, and metadata
clickup_get_task_by_custom_idRetrieve a task from ClickUp by custom ID
Required inputs:
api_token(string): ClickUp API token for authenticationcustom_id(string): The custom ID of the ClickUp task to retrieveworkspace_id(string): The workspace ID required for the API request
Returns: Detailed task information including description, status, and metadata
clickup_get_tasksRetrieve multiple tasks from ClickUp by their IDs
Required inputs:
api_token(string): ClickUp API token for authenticationworkspace_id(string): ClickUp workspace IDtask_ids(string[]): List of task IDs to retrieve
Returns: List of tasks with their complete information
Related MCP server: clickup-custom-mcp
Setup
Get your ClickUp API Token:
Log in to your ClickUp account
Go to Settings → Apps
Click "Generate API Token"
Copy your API token
Get your Workspace ID:
Open ClickUp in your browser
The Workspace ID is in the URL:
https://app.clickup.com/{workspace_id}/homeIt's a number that starts with a number
Usage with Claude Desktop
Add the following to your claude_desktop_config.json:
npx
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": [
"-y",
"mcp-clickup"
],
"env": {
"CLICKUP_API_TOKEN": "your-api-token",
"CLICKUP_WORKSPACE_ID": "your-workspace-id"
}
}
}
}docker
{
"mcpServers": {
"clickup": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CLICKUP_API_TOKEN",
"-e",
"CLICKUP_WORKSPACE_ID",
"mcp/clickup"
],
"env": {
"CLICKUP_API_TOKEN": "your-api-token",
"CLICKUP_WORKSPACE_ID": "your-workspace-id"
}
}
}
}Troubleshooting
If you encounter errors, verify that:
Your API token is valid and has not expired
The workspace ID is correct
You have the necessary permissions in the ClickUp workspace
The task IDs you're trying to access exist and are accessible to you
Build
Docker build:
docker build -t mcp/clickup .License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Available Tools
4 toolsclickup_authenticateC
Authenticate with ClickUp API using an API token and workspace ID
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. The description merely states 'Authenticate', implying a mutation (setting credentials), but does not disclose side effects (e.g., session persistence, token storage) or security implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no extraneous words. However, its brevity sacrifices important details, making the tool less usable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and an output schema, and the critical nature of authentication for subsequent operations, the description fails to provide sufficient context (e.g., how the token is used, success/failure indications, error handling).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'type' of type object with no properties and schema coverage 0%. The description mentions 'API token and workspace ID' but does not explain how these map to the parameter, leaving the agent confused about how to provide inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Authenticate') and the resources ('API token and workspace ID'), differentiating it from sibling tools that are data retrieval. However, it does not clarify the input structure or return value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives (e.g., authentication must occur before other calls). The context suggests it is a prerequisite but this is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_taskC
Get a task by its ID
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It only states the basic function, without mentioning permissions, error handling, or side effects. For a read operation, minimal transparency is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (5 words), which makes it concise but sacrifices completeness. While it avoids verbosity, it lacks necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of output schema and annotations, and the presence of sibling tools, the description is incomplete. It omits return format, error scenarios, and distinctions from other task retrieval tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implicitly refers to 'task_id' but does not explain its format or constraints beyond the schema. The description adds negligible meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a task by its ID' clearly states the action and resource. However, it does not differentiate from sibling tools like clickup_get_task_by_custom_id or clickup_get_tasks, which also retrieve tasks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. For instance, there is no mention of prerequisites or context such as requiring the task's standard ID versus custom ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_task_by_custom_idC
Get a task by its custom ID
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as idempotency, permissions, or side effects. For a read operation, transparency is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one sentence) and front-loaded, but it omits necessary details. It is appropriately short for a simple tool but sacrifices clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema or additional context, the description fails to explain what the tool returns (e.g., task details). Combined with sparse parameter info, it is incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description only mentions 'custom ID' but does not explain that the parameter requires a nested object with a 'custom_id' string. With 0% schema description coverage, this lack of detail is critical for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'a task by its custom ID'. It is specific enough to differentiate from general 'clickup_get_task' which likely uses a different identifier, but it does not explicitly contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus 'clickup_get_task' or 'clickup_get_tasks'. The description does not mention scenarios or prerequisites, leaving the AI to infer usage without support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clickup_get_tasksC
Get multiple tasks by their IDs
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states the function but does not disclose whether it is read-only, any side effects, authentication requirements, rate limits, or return format. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, making it concise. However, it is too brief and could include more useful information without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the nested parameter, no output schema, and low schema coverage, the description is incomplete. It does not explain how to structure the request or what to expect in response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'by their IDs' but does not explain the nested object structure or that the IDs are passed as an array inside a 'type' object. With 0% schema description coverage, the description should add more context but falls short.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (multiple tasks) and specifies the criterion (by their IDs). However, it does not differentiate from siblings like clickup_get_task (single task) or clickup_get_task_by_custom_id (custom ID), which could cause confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, filters, or any conditions for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Tools are mostly distinct: authentication vs. task retrieval. However, clickup_get_task and clickup_get_task_by_custom_id have similar purposes differentiated only by ID type, which could cause minor confusion despite clear descriptions.
All tools follow a consistent snake_case verb_noun pattern (clickup_authenticate, clickup_get_task, etc.) with no deviations, making the naming predictable and clear.
With 4 tools, the server is slightly sparse but appropriate for a focused task retrieval scope. The count is not excessive, but the server could benefit from a few more tools for a broader feature set.
The tool surface is severely incomplete for a task management API. It only provides authentication and read operations for tasks, missing create, update, delete, and other essential endpoints like listing tasks by filter or managing other entities (lists, folders).
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The official MCP Server for the Mux API
A basic MCP server to operate on the Postman API.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
Related MCP Servers
- AlicenseBqualityBmaintenanceLightweight ClickUp MCP server for task management with 37 tools and token-optimized responses to reduce API verbosity.37643MIT
- AlicenseBqualityBmaintenanceCustom MCP server integrating ClickUp tasks and docs/wikis via REST API with Personal Access Token.853MIT
- AlicenseBqualityDmaintenanceMCP server for ClickUp task management, enabling task search, creation, update, deletion, workspace info retrieval, and comment management via ClickUp API v2.1565MIT
- AlicenseNot gradedqualityCmaintenanceA secure and optimized MCP server for integrating ClickUp project management, enabling task CRUD operations, workspace organization, file attachments, and natural language date parsing.MIT
Appeared in Searches
- A method or tool for managing ClickUp task list custom fields with read and write update capabilities
- A server for accessing spreadsheets with service accounts and managing ClickUp using MCP
- Guidance on using ClickUp for task and project management
- A server for configuring Azure DevOps with MCP
- Connecting Feishu (Lark)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/mikah13/mcp-clickup'
If you have feedback or need assistance with the MCP directory API, please join our Discord server