clickup-mcp
Servidor MCP ligero de ClickUp con 35 herramientas. Respuestas optimizadas en tokens que reducen la verbosidad de la API en más del 95% (3500 caracteres → 160). Tareas, comentarios, listas de verificación, etiquetas, dependencias.
Documentación
clickup-mcp
Servidor MCP de ClickUp ligero enfocado en la gestión de tareas. 40 herramientas con respuestas optimizadas en tokens: las respuestas de la API se reducen automáticamente de miles de caracteres a lo esencial.
¿Por qué este servidor?
La API de ClickUp devuelve JSON extremadamente verboso. Este servidor lo reduce:
| Respuesta | Antes | Después | Reducción |
|---|---|---|---|
clickup_whoami | ~3.500 caracteres | ~160 caracteres | 95% |
clickup_create_comment | ~1.500 caracteres | ~38 caracteres | 97% |
Menos tokens = respuestas más rápidas, menores costos, más contexto para tu IA.
Instalación
npm install -g @cavort-it-systems/clickup-mcp
O ejecuta directamente:
npx @cavort-it-systems/clickup-mcp
Configuración
Claude Code CLI
claude mcp add clickup -e CLICKUP_API_TOKEN=your-token -- npx @cavort-it-systems/clickup-mcp
Claude Desktop / Manual
Añade a tu configuración de MCP (~/.claude.json o ajustes de Claude Desktop):
{
"mcpServers": {
"clickup": {
"command": "npx",
"args": ["@cavort-it-systems/clickup-mcp"],
"env": {
"CLICKUP_API_TOKEN": "your-token"
}
}
}
}
Desde el código fuente
git clone https://github.com/cvrt-jh/clickup-mcp.git
cd clickup-mcp
pnpm install && pnpm build
Luego configura con la ruta compilada:
claude mcp add clickup -e CLICKUP_API_TOKEN=your-token -- node /path/to/clickup-mcp/build/index.js
IDs de tarea personalizados
Cada herramienta que acepta un task_id también acepta el ID personalizado (DEV-1217), no solo
el interno (86caqr85m). El servidor añade custom_task_ids=true&team_id=... automáticamente.
El ID del espacio de trabajo proviene de CLICKUP_TEAM_ID, o, si no está definido, del único
espacio de trabajo del token (consultado una vez). Un token con acceso a varios espacios de trabajo debe
definir CLICKUP_TEAM_ID.
Obtén tu token de API
- Ve a Configuración de ClickUp > Apps
- Genera un token de API personal
- Establécelo como
CLICKUP_API_TOKEN
Reducción de respuestas
Todas las respuestas se recortan automáticamente para ahorrar tokens. La API de ClickUp devuelve JSON extremadamente verboso: este servidor lo reduce a lo que importa.
clickup_whoami - de ~3.500 caracteres a ~160:
// Before (ClickUp API raw)
{"user":{"id":12345678,"username":"Jane Doe","email":"jane@example.com","color":"#0388d1",
"profilePicture":"https://attachments.clickup.com/...","initials":"JD",
"week_start_day":1,"global_font_support":true,"timezone":"Europe/Berlin"},
"teams":{"teams":[{"id":"99999999","name":"My Workspace","color":"#40BC86",
"avatar":"https://attachments2.clickup.com/...?Expires=...&Key-Pair-Id=...&Signature=...",
"members":[{"user":{"id":11111111,"username":"Bob Smith","email":"bob@example.com",
"color":"#aa2fff","profilePicture":null,"initials":"BS","role":4,"role_subtype":2,
"role_key":"guest","custom_role":null,"last_active":"...","date_joined":"...",
"date_invited":"..."},"invited_by":{"id":22222222,...},
"can_see_time_spent":true,...}, ...]}]}}
// After (slimmed)
{"id":12345678,"username":"Jane Doe","email":"jane@example.com",
"timezone":"Europe/Berlin","workspaces":[{"id":"99999999",
"name":"My Workspace","member_count":4}]}
clickup_create_comment - de ~1.500 caracteres a 38:
// Before
{"id":90150191300876,"hist_id":"...","date":1770053982842,
"version":{"object_type":"comment","object_id":"...","workspace_id":99999999,
"operation":"c","data":{"context":{"root_parent_type":1,"is_chat":false,
"audit_context":{"userid":12345678,"current_time":...,"route":"*"},...},...},...}}
// After
{"id":90150191300876,"date":1770053982842}
Lo que se elimina:
| Campo | Dónde | Por qué |
|---|---|---|
features{} | espacios | ~50 líneas de indicadores booleanos por espacio |
sharing{}, permission_level | tareas | Configuración de acceso interna, no útil |
watchers[] | tareas | Generalmente igual que los asignados |
| Objetos de usuario completos | en todas partes | Reducidos a {id, username, email} |
profilePicture, initials, color | usuarios | Metadatos visuales, no útiles para LLMs |
Blobs de version{} | creación de comentarios/respuestas | Datos de versionado interno |
invited_by, profileInfo | miembros | Metadatos de invitación |
| JSON con formato legible | todas las respuestas | Salida compacta de una sola línea |
| Arrays vacíos | tareas | checklists, dependencies, custom_fields omitidos cuando están vacíos |
Herramientas (40)
Navegación (7)
clickup_whoami- Usuario actual + espacios de trabajoclickup_get_spaces- Espacios en el espacio de trabajoclickup_get_folders- Carpetas en el espacioclickup_get_lists- Listas en carpeta o espacioclickup_get_list- Detalles de una listaclickup_create_list- Crear lista en carpeta o espacioclickup_delete_list- Eliminar una lista (permanente)
CRUD de tareas (5)
clickup_get_task- Obtener tarea por IDclickup_create_task- Crear tarea con todos los camposclickup_update_task- Actualizar cualquier campo de tareaclickup_get_tasks- Listar tareas en una listaclickup_search_tasks- Buscar tareas en todo el espacio de trabajo
Campos personalizados (1)
clickup_set_custom_field- Establecer valor de campo personalizado
Etiquetas (6)
clickup_get_space_tags- Listar etiquetas del espacioclickup_create_space_tag- Crear etiquetaclickup_edit_space_tag- Editar etiquetaclickup_delete_space_tag- Eliminar etiquetaclickup_add_tag_to_task- Etiquetar una tareaclickup_remove_tag_from_task- Quitar etiqueta de una tarea
Listas de verificación (6)
clickup_create_checklist- Crear lista de verificaciónclickup_edit_checklist- Editar lista de verificaciónclickup_delete_checklist- Eliminar lista de verificaciónclickup_create_checklist_item- Añadir elementoclickup_edit_checklist_item- Editar elementoclickup_delete_checklist_item- Eliminar elemento
Dependencias (4)
clickup_add_dependency- Añadir dependenciaclickup_delete_dependency- Eliminar dependenciaclickup_add_task_link- Vincular tareasclickup_delete_task_link- Desvincular tareas
Comentarios (5)
clickup_create_comment- Añadir comentarioclickup_get_comments- Obtener comentariosclickup_update_comment- Editar/resolver comentarioclickup_create_reply- Respuesta en hiloclickup_get_replies- Obtener respuestas
Eliminar tarea (1)
clickup_delete_task- Eliminar una tarea
Membresía en múltiples listas (2)
clickup_add_task_to_list- Añadir una tarea a una lista adicional (multi-homing)clickup_remove_task_from_list- Eliminar una tarea de una lista adicional
Estas no mueven una tarea. La API v2 de ClickUp no tiene un endpoint para mover entre listas. Verificado contra la API en vivo 2026-08-12:
POST /list/{list}/task/{task}añade una ubicación secundaria y deja la lista principal sin cambios, mientras que unlist_idenPUT /task/{id}devuelve HTTP 200 y se ignora silenciosamente. Para mover realmente una tarea y conservar su ID personalizado e historial, usa la interfaz web de ClickUp (clic derecho -> Mover). La membresía en múltiples listas también requiere la función de pago Tareas en Múltiples Listas.
Adjuntos (1)
clickup_upload_attachment- Subir un archivo local (captura de pantalla, PDF) a una tarea
Miembros del espacio de trabajo (2)
clickup_get_workspace_members- Todos los miembros del espacio de trabajoclickup_get_list_members- Miembros específicos de una lista
Arquitectura
src/
index.ts # Entry: McpServer + StdioServerTransport
client.ts # ClickUp API v2 fetch wrapper
types.ts # Shared Zod schemas + jsonResult helper
slim.ts # Response slimming transformers
tools/
navigation.ts # 7 tools
tasks.ts # 9 tools (CRUD + custom fields + delete + multi-list)
tags.ts # 6 tools
checklists.ts # 6 tools
dependencies.ts # 4 tools
comments.ts # 5 tools
members.ts # 2 tools
attachments.ts # 1 tool (multipart upload)
Licencia
MIT