gestor-tareas-mcp
v1.3.0
Published
MCP server para crear y gestionar tareas en el Gestor de Tareas (Dask)
Maintainers
Readme
MCP — Gestor de Tareas
Servidor MCP para crear y gestionar tareas en la API del Gestor (Dask).
| Modo | Transporte | Dónde | Auth |
|------|------------|-------|------|
| Cursor / IDE local | stdio (npx / node dist) | PC del usuario | Email + password en el JSON |
El MCP remoto (/mcp en la API) se retiró de producción (imagen más liviana; Claude pedía OAuth). Para informes fuera de Cursor: export JSON del workspace en la app.
En la app: sidebar → Configurar MCP (tab Cursor). El destino (lista/workspace) se elige en el chat con las tools de discovery.
Histórico remoto: docs/AVANCES_MCP_REMOTO_2026-07-20.md.
Requisitos (stdio)
- Node.js 20+
- Usuario del Gestor con acceso al entorno / workspace / lista destino
Setup rápido Cursor (npx)
- Vos publicás una vez (PUBLISH.md):
- npm:
cd mcp && npm login && npm publish, o - GitHub solo-MCP:
node scripts/publish-mcp-standalone.mjs --target ../gestor-tareas-mcpy push.
- npm:
- Compañero: en Cursor pega el JSON (también lo genera Dask → Config MCP):
{
"mcpServers": {
"gestor-tareas": {
"command": "npx",
"args": ["-y", "gestor-tareas-mcp"],
"env": {
"GESTOR_API_URL": "https://vps-6014087-x.dattaweb.com",
"GESTOR_EMAIL": "[email protected]",
"GESTOR_PASSWORD": "tu-password",
"GESTOR_ENVIRONMENT_NAME": "Tecnología",
"GESTOR_WORKSPACE_NAME": "Mi Espacio",
"GESTOR_LIST_NAME": "Backlog"
}
}
}
}GitHub en vez de npm: "args": ["-y", "github:TU_ORG/gestor-tareas-mcp"].
Alternativa: instalar carpeta local
cd mcp
npm install
npm run build2. Configurar el host
Variables por persona (no las subas a Git):
| Variable | Ejemplo | Notas |
|----------|---------|--------|
| GESTOR_API_URL | https://vps-6014087-x.dattaweb.com | API de producción |
| GESTOR_EMAIL | [email protected] | Tu usuario |
| GESTOR_PASSWORD | … | Tu contraseña |
| GESTOR_ENVIRONMENT_NAME | Tecnología | Nombre exacto del entorno |
| GESTOR_WORKSPACE_NAME | Mi Espacio | Nombre del workspace |
| GESTOR_LIST_NAME | Backlog | Nombre de la lista (no carpeta) |
Opcional: GESTOR_*_ID (UUIDs) para saltar el discovery por nombre.
Cursor
Preferí npx (después de publicar). Desarrollo local:
{
"mcpServers": {
"gestor-tareas": {
"command": "node",
"args": ["D:/ruta/gestor-tareas/mcp/dist/index.js"],
"env": {
"GESTOR_API_URL": "https://vps-6014087-x.dattaweb.com",
"GESTOR_EMAIL": "[email protected]",
"GESTOR_PASSWORD": "tu-password",
"GESTOR_ENVIRONMENT_NAME": "Tecnología",
"GESTOR_WORKSPACE_NAME": "Mi Espacio",
"GESTOR_LIST_NAME": "Backlog"
}
}
}
}Alternativa en desarrollo (sin build previo):
{
"command": "npx",
"args": ["tsx", "D:/ruta/gestor-tareas/mcp/src/index.ts"],
"env": { "...": "..." }
}Claude Code
Añadí un servidor MCP equivalente en tu config de Claude Code (claude_desktop_config.json / settings MCP del CLI), mismo command + args + env.
Cuando exista el paquete en npm
Ver sección Setup rápido → npx arriba y PUBLISH.md.
3. Probar
En el chat del agente: «Usá ver_destino del MCP gestor-tareas». Deberías ver entorno, workspace, lista e IDs. Luego: «Creá una tarea de prueba».
Inspector local (sin Cursor):
npx @modelcontextprotocol/inspector node dist/index.js(Con las env cargadas en la shell o en un .env que vos exports.)
Tools
Contexto y discovery (dinámico)
| Tool | Descripción |
|------|-------------|
| ver_contexto | Muestra entorno → workspace → carpeta → lista de la sesión |
| establecer_contexto | Fija contexto (environmentName / workspaceName / folderName / listName o clear) |
| listar_entornos | Entornos visibles |
| listar_workspaces | Workspaces (por entorno o todos) |
| listar_carpetas | Carpetas de un workspace (+ conteo de listas) |
| listar_listas | Listas; con folderName solo las de esa carpeta |
| informe_carpeta | Informe de listas + tareas dentro de una carpeta |
| ver_destino | Alias legacy (preferí ver_contexto) |
| resolver_destino | Prueba un destino sin cambiar la sesión |
Ejemplo de conversación:
- «Listame las carpetas de Automatizaciones» →
listar_carpetas({ workspaceName: "Automatizaciones" }) - «Armame un informe con las listas de la carpeta X» →
informe_carpeta({ folderName: "X", workspaceName: "Automatizaciones" }) - «Trabajemos en la lista Backlog» →
establecer_contexto({ listName: "Backlog", workspaceName: "Automatizaciones" }) - «Creá estas tareas» →
crear_tareas(usa el contexto)
Tareas
| Tool | Descripción |
|------|-------------|
| listar_miembros | Miembros del workspace (para asignar por nombre) |
| crear_tarea | Crea tarea; opcional assigneeNames, tagNames, createMissingTags |
| crear_tareas | Crea hasta 20 tareas de una vez (action items de una conversación) |
| actualizar_tarea | Título, descripción, prioridad, dueDate, effort, estado |
| asignar_tarea | Suma/quita/reemplaza asignados por nombre o email (mode: add/remove/replace) |
| listar_tareas | Lista tareas del destino |
| buscar | GET /workspaces/{id}/search?q= (no requiere lista) |
| cambiar_estado | Cambia estado por statusName o statusId |
| listar_etiquetas | Catálogo de tags de la lista |
| crear_etiqueta | Crea tag en el catálogo |
| poner_etiquetas | Suma/quita/reemplaza tags en una tarea (createMissing opcional) |
Extraer action items del chat
El MCP no lee la conversación: el agente (Cursor/Claude) sí. Pedile p. ej.:
De esta conversación, extraé los puntos de acción y creá tareas con
crear_tareas. Asigná las de API a María y dejálas en To Do.
Con la Rule agente generada desde Dask → Config MCP, el agente ya sabe usar ese flujo.
Overrides opcionales en varias tools: environmentName, workspaceName, listName (sesión puntual en otra lista).
Cómo se elige la lista
- Contexto de sesión (recomendado):
establecer_contexto/ discovery en el chat. - Seed del env al arrancar: nombres/IDs del JSON MCP (si están).
- Override one-shot en la tool (
listName, etc.) sin pisar la sesión. - Si hay
GESTOR_WORKSPACE_ID+GESTOR_LIST_ID(+ environment id), se usan esos UUIDs al seed.
Si el nombre no existe, el error incluye candidatos (Disponibles: …). Ojo: puede haber una carpeta y una lista con el mismo nombre; las tareas van siempre a la lista.
Desarrollo en este monorepo
cd mcp
npm install
npm run dev # tsx src/index.ts (stdio; pensado para que el host lo lance)
npm run build.env.example es la plantilla; copiá a .env solo para pruebas locales en shell (Cursor usa el bloque env de la config MCP).
Relacionado
- API / flujo CLI: docs/INTEGRACION_AGENTE_CLI.md
- Discovery por script: scripts/gestor-discover-ids.mjs
