Backlog Manager
Gestiona los backlog de tareas utilizando un sistema de almacenamiento JSON basado en archivos.
Documentación
Backlog Manager MCP Server
Un servidor MCP simple de seguimiento de tareas y gestión de backlog para asistentes de IA (proyecto hack)
Tabla de Contenidos
- Resumen
- Características
- Requisitos Previos
- Instalación
- Configuración
- Ejecutando el Servidor
- Herramientas MCP
- Integración con Clientes MCP
- Ejemplos de Uso
- Solución de Problemas
- Contribuciones
- Licencia
Resumen
Backlog Manager es un servidor MCP (Machine-Consumable Programming) para la gestión de issues y tareas con un enfoque basado en archivos. Proporciona herramientas para que agentes de IA y otros clientes creen issues, añadan tareas a ellos y realicen seguimiento del estado de las tareas. Los issues representan solicitudes de funcionalidad de alto nivel o errores, mientras que las tareas representan elementos de trabajo específicos necesarios para resolver el issue.
Construido con el protocolo MCP de Anthropic, soporta tanto transporte SSE como stdio para una integración flexible con asistentes de IA como Claude, u otros clientes compatibles con MCP.
Características
- Gestión de Issues: Crear, listar, seleccionar y rastrear issues con descripciones
- Seguimiento de Tareas: Añadir tareas a issues con títulos, descripciones y seguimiento de estado
- Flujo de Estado: Rastrear el progreso de las tareas a través de los estados Nuevo, En Progreso y Hecho
- Almacenamiento Basado en Archivos: Formato de almacenamiento JSON portátil para fácil respaldo y control de versiones
- Transporte Flexible: Soporte para comunicación SSE (HTTP) y stdio
- Soporte Docker: Ejecutar en contenedores para fácil despliegue y aislamiento
Requisitos Previos
- Python: 3.12 o superior
- Gestor de Paquetes: uv (recomendado) o pip
- Docker: (Opcional) Para despliegue en contenedores
- Cliente MCP: Claude Code, Windsurf, o cualquier otro cliente compatible con MCP
Instalación
Usando uv (Recomendado)
# Clone the repository
git clone https://github.com/username/backlog-manager-mcp.git
cd backlog-manager-mcp
# Install dependencies
uv pip install -e .
# Verify installation
uv run backlog-manager # This should start the server
Usando Docker
# Build the Docker image
docker build -t backlog/manager --build-arg PORT=8050 .
# Run the container
docker run -p 8050:8050 backlog/manager
# Verify container is running
docker ps | grep backlog/manager
Configuración
Configura el comportamiento del servidor usando variables de entorno en un archivo .env:
# Create environment file from example
cp .env.example .env
Ejemplo de contenido del archivo .env:
# Transport mode: 'sse' or 'stdio'
TRANSPORT=sse
# Server configuration (for SSE transport)
HOST=0.0.0.0
PORT=8050
# Data storage
TASKS_FILE=tasks.json
| Variable | Descripción | Por defecto | Requerido |
|---|---|---|---|
TRANSPORT | Protocolo de transporte (sse o stdio) | sse | No |
HOST | Host al que vincularse al usar transporte SSE | 0.0.0.0 | No |
PORT | Puerto en el que escuchar al usar transporte SSE | 8050 | No |
TASKS_FILE | Ruta al archivo de almacenamiento de tareas | tasks.json | No |
Ejecutando el Servidor
Iniciar el Servidor (Modo SSE)
# Using the CLI command
uv run backlog-manager
# Or directly with Python
uv run src/backlog_manager/main.py
Deberías ver una salida similar a:
INFO: Started server process [12345]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8050 (Press CTRL+C to quit)
Nota: El servidor no soporta la bandera
--helpya que está diseñado como un servidor MCP, no como una aplicación CLI tradicional.
Usando Modo stdio
Cuando se usa el modo stdio, no necesitas iniciar el servidor por separado - el cliente MCP lo iniciará automáticamente cuando esté configurado correctamente (ver Integración con Clientes MCP).
Herramientas MCP
Backlog Manager expone las siguientes herramientas vía MCP:
Gestión de Issues
| Herramienta | Descripción | Parámetros |
|---|---|---|
create_issue | Crear un nuevo issue | name (string), description (string, opcional), status (string, opcional) |
list_issues | Mostrar todos los issues disponibles | Ninguno |
select_issue | Establecer el issue activo | name (string) |
initialize_issue | Crear o restablecer un issue | name (string), description (string, opcional), status (string, opcional) |
update_issue_status | Actualizar el estado del issue | name (string), status (string) |
Gestión de Tareas
| Herramienta | Descripción | Parámetros |
|---|---|---|
add_task | Añadir tarea al issue activo | title (string), description (string, opcional) |
list_tasks | Listar tareas en el issue activo | status (string, opcional) |
update_task_status | Actualizar el estado de la tarea | task_id (string), status (string) |
Valores de Estado
Las tareas y los issues pueden tener uno de los siguientes estados:
New(por defecto para nuevas tareas/issues)InWork(en progreso)Done(completado)
Integración con Clientes MCP
Configuración SSE
Una vez que tengas el servidor ejecutándose con transporte SSE, conéctate a él usando esta configuración:
{
"mcpServers": {
"backlog-manager": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
Configuración de Windsurf:
{
"mcpServers": {
"backlog-manager": {
"transport": "sse",
"serverUrl": "http://localhost:8050/sse"
}
}
}
Configuración de n8n:
Usa host.docker.internal en lugar de localhost para acceder a la máquina host desde el contenedor n8n:
http://host.docker.internal:8050/sse
Configuración de Python con Stdio
{
"mcpServers": {
"backlog-manager": {
"command": "python",
"args": ["path/to/backlog-manager/src/backlog_manager/main.py"],
"env": {
"TRANSPORT": "stdio",
"TASKS_FILE": "tasks.json"
}
}
}
}
Configuración de Docker con Stdio
{
"mcpServers": {
"backlog-manager": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "TRANSPORT=stdio", "backlog/manager"],
"env": {
"TRANSPORT": "stdio"
}
}
}
}
Ejemplo
Backlog Manager está diseñado para trabajar sin problemas con asistentes de IA para ayudarte a organizar el trabajo de tu proyecto. El caso de uso más potente es que la IA lea especificaciones y cree automáticamente un backlog estructurado.
Simplemente pide a tu asistente de IA:
Read the spec and create a backlog for features not completed.
El asistente de IA:
- Leerá y analizará el documento de especificaciones
- Identificará características y componentes clave
- Creará issues para las principales áreas funcionales
- Desglosará cada issue en tareas específicas
- Organizará todo en un backlog estructurado