Content
# ClickUp MCP Server
Servidor MCP personalizado para integrar ClickUp con LLMs como Claude, ChatGPT y Gemini.
Permite al modelo consultar, crear y actualizar tareas de ClickUp directamente desde el chat. Orientado para equipos y grupos que trabajan bajo metodologias agiles de desarrollo, como Scrum o Kanban.
## Herramientas disponibles (16 Tools)
### Lectura y Descubrimiento (Admin API Key)
| Tool | Descripción |
|---|---|
| `get_authorized_teams` | Descubre los workspaces accesibles. **Úsalo primero en el flujo.** |
| `get_spaces` | Lista los spaces dentro de un workspace (team_id). |
| `list_lists` | Lista todas las listas disponibles en un space (space_id), con o sin folder. |
| `list_tasks` | Lista las tareas de una lista específica (list_id). |
| `get_task` | Obtiene detalles curados de una tarea (incluye markdown description y custom fields legibles). |
| `get_custom_fields` | Obtiene los campos personalizados disponibles en una lista y sus opciones de dropdown. |
| `get_list_members` | Obtiene los miembros con acceso explícito a una lista (id, username, email). |
| `get_custom_task_types` | Consulta los tipos de tareas personalizados (Project, Epic, Story, Bug) en el workspace. |
| `search_tasks` | Busca tareas por nombre o palabra clave en todo el workspace para evitar duplicados. |
| `get_task_comments` | Obtiene los comentarios de una tarea específica. |
### Escritura y Mutación (User API Key)
| Tool | Descripción |
|---|---|
| `create_task` | Crea una nueva tarea con soporte de markdown, asignados, custom fields y custom_item_id. |
| `update_task_status` | Cambia el estado de una tarea existente. |
| `set_custom_field` | Asigna un valor a un campo personalizado (soporta relaciones, dropdowns, etc.). |
| `append_task_description` | Anexa un bloque en Markdown al final de la descripción existente (ej. Walkthrough). |
| `create_task_comment` | Publica un comentario en nombre del usuario (ej. enlaces a Commits/PRs). |
| `update_task_comment` | Actualiza un comentario existente. |
| `add_task_time_tracking` | Registra tiempo de trabajo en milisegundos en una tarea. |
## Instalación para colegas
### Prerequisitos
Instala `uv` si aún no lo tienes:
```bash
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### Configura tu editor (Arquitectura Dual-Token)
Agrega esto en el archivo de configuración MCP de tu editor (por ejemplo `claude_desktop_config.json` o `mcp.json`):
```json
{
"mcpServers": {
"clickup": {
"command": "uvx",
"args": [
"--from", "git+https://github.com/RonnyRodriguez26/clickup-mcp.git",
"clickup-mcp",
"--admin-api-key", "pk_ADMIN_TOKEN_HERE",
"--user-api-key", "pk_USER_TOKEN_HERE"
]
}
}
}
```
> **¿Dónde obtengo mi token?**
> ClickUp → Settings → Apps → API Token → Generate
### Ubicación del archivo de configuración por editor
| Editor | Ruta del archivo |
|---|---|
| Claude Desktop (Windows) | `%APPDATA%\Claude\claude_desktop_config.json` |
| Claude Desktop (macOS) | `~/Library/Application Support/Claude/claude_desktop_config.json` |
| Cursor / VS Code | `.cursor/mcp.json` o `.vscode/mcp.json` en el workspace |
| Gemini CLI / Antigravity | `.gemini/settings.json` → `mcpServers` |
Reinicia el editor tras guardar la configuración.
## Desarrollo local
```bash
git clone https://github.com/RonnyRodriguez26/clickup-mcp.git
cd clickup-mcp
# Ejecutar directamente con Dual-Token
python clickup_mcp.py --admin-api-key pk_admin... --user-api-key pk_user...
# O con uv
uv run clickup_mcp.py --admin-api-key pk_admin... --user-api-key pk_user...
```