Skip to main content
Glama
mikah13
by mikah13

ClickUp MCP Server

MCP Server for the ClickUp API, enabling Claude to interact with ClickUp workspaces.

Tools

  1. clickup_authenticate

    • Authenticate with ClickUp API using an API token and workspace ID

    • Required inputs:

      • api_token (string): ClickUp API token for authentication

      • workspace_id (string): ClickUp workspace ID for authentication

    • Returns: User information and authentication status

  2. clickup_get_task

    • Retrieve a task from ClickUp by task ID

    • Required inputs:

      • api_token (string): ClickUp API token for authentication

      • task_id (string): The ID of the ClickUp task to retrieve

    • Returns: Detailed task information including description, status, and metadata

  3. clickup_get_task_by_custom_id

    • Retrieve a task from ClickUp by custom ID

    • Required inputs:

      • api_token (string): ClickUp API token for authentication

      • custom_id (string): The custom ID of the ClickUp task to retrieve

      • workspace_id (string): The workspace ID required for the API request

    • Returns: Detailed task information including description, status, and metadata

  4. clickup_get_tasks

    • Retrieve multiple tasks from ClickUp by their IDs

    • Required inputs:

      • api_token (string): ClickUp API token for authentication

      • workspace_id (string): ClickUp workspace ID

      • task_ids (string[]): List of task IDs to retrieve

    • Returns: List of tasks with their complete information

Related MCP server: clickup-custom-mcp

Setup

  1. Get your ClickUp API Token:

    • Log in to your ClickUp account

    • Go to Settings → Apps

    • Click "Generate API Token"

    • Copy your API token

  2. Get your Workspace ID:

    • Open ClickUp in your browser

    • The Workspace ID is in the URL: https://app.clickup.com/{workspace_id}/home

    • It'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:

  1. Your API token is valid and has not expired

  2. The workspace ID is correct

  3. You have the necessary permissions in the ClickUp workspace

  4. 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 tools
clickup_authenticateC

Authenticate with ClickUp API using an API token and workspace ID

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness1/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes

TDQS

C2.4/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

C2.9/5.0
Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

Latest Blog Posts

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