backlog
backlog
Gestión de tareas persistente y entre sesiones para Claude Code. Las tareas sobreviven a las sesiones para que el trabajo iniciado por un agente pueda ser retomado por otro.
Construido sobre @backloghq/agentdb — esquemas tipados, IDs de incremento automático, filtros virtuales, almacenamiento de blobs. TypeScript puro, sin dependencias nativas.
Instalación
/plugin marketplace add backloghq/backlog
/plugin install backlog@backloghq-backlogDesde el código fuente
git clone https://github.com/backloghq/backlog.git
cd backlog && npm install && npm run build
claude --plugin-dir /path/to/backlogServidor MCP independiente
Añádelo al archivo .claude/settings.json de tu proyecto:
{
"mcpServers": {
"backlog": {
"command": "node",
"args": ["/path/to/agent-teams-task-mcp/dist/index.js"],
"env": {
"TASKDATA": "/path/to/task-data"
}
}
}
}Related MCP server: MCP Project Manager
Habilidades
Habilidad | Descripción |
| Muestra el backlog actual: tareas pendientes, activas, bloqueadas y vencidas |
| Desglosa un objetivo en tareas con dependencias, prioridades y especificaciones |
| Reunión diaria: hecho, en progreso, bloqueado, siguiente |
| Organiza el backlog: corrige tareas vagas, prioridades faltantes, dependencias rotas, elementos obsoletos |
| Escribe un documento de especificación para una tarea antes de su implementación |
| Toma una tarea, lee su especificación, impleméntala y márcala como hecha |
| Prepárate para la siguiente sesión: anota el progreso, detén las tareas activas, resume el estado |
Agente
El agente task-planner puede ser invocado automáticamente por Claude cuando alguien necesita planificar trabajo. Lee la base de código, descompone los objetivos en tareas con dependencias y escribe especificaciones para elementos complejos.
Hooks
Evento | Qué hace |
| Muestra el recuento de tareas pendientes cuando comienza una sesión |
| Sincroniza las tareas integradas de Claude con el backlog persistente |
| Marca la tarea de backlog correspondiente como hecha cuando Claude completa una tarea integrada |
| Asigna automáticamente las tareas pendientes no asignadas al agente generado |
Herramientas (MCP)
Herramientas para la gestión completa del ciclo de vida de las tareas:
Herramienta | Descripción |
| Consulta tareas con sintaxis de filtro. Devuelve un array JSON con todos los campos. |
| Cuenta las tareas que coinciden con un filtro. Misma sintaxis que task_list. |
| Crea una nueva tarea pendiente. Solo se requiere la descripción; todos los demás campos son opcionales. |
| Registra trabajo ya completado directamente en estado completado. |
| Actualización parcial de una o más tareas que coinciden con un filtro. Solo cambian los campos proporcionados. |
| Copia una tarea existente con anulaciones de campo opcionales. |
| Marca una tarea como completada con la marca de tiempo final. |
| Eliminación lógica de una tarea. Restaurable con task_undo. Usa task_purge para eliminar permanentemente. |
| Añade una nota con marca de tiempo. Usa task_doc_write para contenido más largo. |
| Elimina una anotación por coincidencia exacta de texto. |
| Marca una tarea como en proceso. Visible en consultas +ACTIVE. |
| Deja de trabajar en una tarea. La devuelve al estado pendiente. |
| Deshace la operación más reciente. Se puede llamar repetidamente. |
| Obtiene los detalles JSON completos de una sola tarea por ID o UUID. |
| Crea tareas de forma masiva desde un array JSON. Operación por lotes atómica. |
| Elimina permanentemente una tarea eliminada. Irreversible. |
| Adjunta/reemplaza un documento markdown en una tarea (especificaciones, notas, contexto). |
| Lee el documento markdown adjunto a una tarea. |
| Elimina el documento de una tarea. Permanente. |
| Mueve tareas antiguas completadas/eliminadas a segmentos de archivo trimestrales. |
| Lista los segmentos de archivo disponibles. |
| Carga tareas archivadas para inspección de solo lectura. |
| Lista nombres de proyectos con tareas pendientes/recurrentes. |
| Lista etiquetas con tareas pendientes/recurrentes. |
Sintaxis de filtro
status:pending # all pending tasks
project:backend +bug # bugs in backend project
priority:H due.before:friday # high priority due before friday
+OVERDUE # overdue tasks
+ACTIVE # tasks currently being worked on
+BLOCKED # tasks blocked by dependencies
+READY # actionable tasks (past scheduled date)
agent:explorer # tasks assigned to the explorer agent
( project:web or project:api ) # boolean with parentheses
description.contains:auth # substring matchAdmite modificadores de atributos (.before, .after, .by, .has, .not, .none, .any, .startswith, .endswith), etiquetas (+tag, -tag), etiquetas virtuales (+OVERDUE, +ACTIVE, +BLOCKED, +READY, +TAGGED, +ANNOTATED, etc.) y operadores booleanos (and, or).
Documentos de tarea
Adjunta documentos markdown (especificaciones, contexto, notas de traspaso) a cualquier tarea:
task_doc_write id:"1" content:"# Spec\n\nBuild the auth flow.\n"
task_doc_read id:"1"
task_doc_delete id:"1"Escribir un documento añade una etiqueta +doc y has_doc:yes, para que los agentes puedan descubrir tareas con documentos:
task_list filter:"+doc"
task_list filter:"has_doc:yes"Identidad del agente
Las tareas admiten un campo agent para rastrear qué agente posee una tarea:
task_add description:"Investigate bug" agent:"explorer"
task_list filter:"agent:explorer status:pending"Aislamiento de proyectos
Cada proyecto obtiene sus propios datos de tareas automáticamente. Cuando se usa como plugin, los datos de las tareas residen en ~/.claude/plugins/data/backlog/projects/<project-slug>/. Cuando se usa de forma independiente, establece TASKDATA explícitamente.
Variable | Descripción |
| Ruta explícita al directorio de datos de tareas (anula la derivación automática) |
| Directorio raíz para datos de tareas por proyecto derivados automáticamente |
| Nombre de colección explícito (predeterminado: |
| Establecer en |
| ID de agente para soporte de escritura múltiple (Claude, Gemini, etc.) |
| Backend de almacenamiento: omitir para sistema de archivos (predeterminado), |
| Nombre del bucket S3 (requerido cuando |
| Región de AWS (opcional si se usan credenciales predeterminadas) |
Soporte de escritura múltiple
Backlog admite el acceso simultáneo desde múltiples procesos (por ejemplo, Claude Desktop y Gemini CLI) que comparten los mismos datos. Para habilitar esto:
Asigna un
BACKLOG_AGENT_IDúnico a cada proceso (por ejemplo,claude,gemini).Cuando se establece un ID de agente, el motor utiliza registros de escritura por agente, evitando bloqueos de archivos.
Cada proceso llama automáticamente a
refresh()antes de las operaciones para recoger los cambios de otros agentes.
Namespacing
Si deseas utilizar un único directorio TASKDATA (como un bucket S3 compartido o una carpeta global ~/.backlog) para múltiples proyectos, puedes usar espacios de nombres para mantener las tareas separadas:
Manual: Establece
BACKLOG_NAMESPACE=my-projectpara usar un nombre de colección específico.Automático: Establece
BACKLOG_AUTO_NAMESPACE=truepara que Backlog derive automáticamente un nombre de colección desde tu directorio de trabajo actual (por ejemplo,my-app-a1b2c3d4).
Ejemplo de configuración (.claude/settings.json):
{
"mcpServers": {
"backlog": {
"command": "node",
"args": ["/path/to/backlog/dist/index.js"],
"env": {
"TASKDATA": "/home/user/.backlog",
"BACKLOG_AUTO_NAMESPACE": "true",
"BACKLOG_AGENT_ID": "claude-desktop"
}
}
}
}Ambos métodos permiten que múltiples proyectos compartan el mismo backend de almacenamiento mientras mantienen backlogs aislados y específicos del proyecto.
Backend S3
Almacena datos de tareas en S3 para compartir en equipo o persistencia en la nube. Requiere @backloghq/opslog-s3:
npm install @backloghq/opslog-s3Configura mediante variables de entorno en .claude/settings.json:
{
"mcpServers": {
"backlog": {
"command": "node",
"args": ["/path/to/backlog/dist/index.js"],
"env": {
"TASKDATA": "my-project/tasks",
"BACKLOG_BACKEND": "s3",
"BACKLOG_S3_BUCKET": "my-team-backlog",
"BACKLOG_S3_REGION": "us-east-1"
}
}
}
}Al usar S3, TASKDATA se convierte en el prefijo de clave en el bucket en lugar de una ruta del sistema de archivos.
Docker
docker build -t backlog .
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' \
| docker run --rm -i backlogDesarrollo
npm install
npm run build # compile TypeScript
npm run lint # run ESLint
npm test # run tests
npm run test:coverage # run tests with coverage
npm run dev # watch modeComunidad
GitHub Discussions — preguntas, ideas, mostrar y contar
Issue Tracker — informes de errores y solicitudes de funciones
Documentación — documentación completa, referencia de habilidades, sintaxis de filtro
Si backlog te resulta útil, considera darle una estrella: ayuda a otros a encontrar el proyecto.
Licencia
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 24 tools
Each tool has a distinct, clearly separated purpose with explicit cross-references in descriptions (e.g., 'use task_log instead', 'use task_doc_write instead'). No overlapping functionality—CRUD, lifecycle, archival, and document operations are cleanly partitioned.
Strict snake_case convention with consistent 'task_' prefix. Sub-resources follow predictable patterns (task_doc_read/write/delete, task_archive_list/load). Verbs are clear and consistently placed (task_add, task_delete, task_modify).
24 tools is above the typical ideal range but justified by the domain complexity. The set covers full task lifecycle, document attachments, archival management, annotations, and discovery without redundancy. Each tool earns its place for a comprehensive backlog system.
Excellent coverage of CRUD, status workflow (start/stop/done), soft-delete with purge, annotations, document attachments, and archival. Minor gap: archived tasks are view-only with no restore-to-active operation, though this appears to be an intentional cold-storage design.
Maintenance
Related MCP Connectors
Project management shared by people and AI agents, with persistent project state through MCP.
Persistent AI memory shared across Claude, ChatGPT, coding agents, and compatible MCP clients.
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
A task list shared by you and your coding agents (Claude Code, Cursor, Codex and any MCP client). Agents plan each task into steps, report live progress to a board, and block on questions you answer from your phone.
Related MCP Servers
- AlicenseAqualityCmaintenancePersistent memory and task board for Claude Code. 14 tools spanning projects, tasks, sessions, and activity logs — backed by Firestore, runs on the free tier. Handoff notes survive context compaction; the next session reads the last handoff and picks up where you stopped.14MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive project management and workflow tracking system that integrates with Claude Code via MCP, automatically capturing sessions, tools, agents, and project tasks into a centralized dashboard and database.13 npmMIT
- FlicenseNot gradedqualityDmaintenanceMCP server for project planning inside Claude. It tracks progress, knows your codebase, and resumes exactly where you left off every session.7 npm5-
- FlicenseNot gradedqualityDmaintenanceProvides memory and project tracking for Claude Code via MCP, enabling semantic search over past transcripts, durable notes, and structured project management with milestones, epics, tickets, and todos.-