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)

Status: Beta Python: 3.12+

Tabla de Contenidos

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
VariableDescripciónPor defectoRequerido
TRANSPORTProtocolo de transporte (sse o stdio)sseNo
HOSTHost al que vincularse al usar transporte SSE0.0.0.0No
PORTPuerto en el que escuchar al usar transporte SSE8050No
TASKS_FILERuta al archivo de almacenamiento de tareastasks.jsonNo

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 --help ya 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

HerramientaDescripciónParámetros
create_issueCrear un nuevo issuename (string), description (string, opcional), status (string, opcional)
list_issuesMostrar todos los issues disponiblesNinguno
select_issueEstablecer el issue activoname (string)
initialize_issueCrear o restablecer un issuename (string), description (string, opcional), status (string, opcional)
update_issue_statusActualizar el estado del issuename (string), status (string)

Gestión de Tareas

HerramientaDescripciónParámetros
add_taskAñadir tarea al issue activotitle (string), description (string, opcional)
list_tasksListar tareas en el issue activostatus (string, opcional)
update_task_statusActualizar el estado de la tareatask_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:

  1. Leerá y analizará el documento de especificaciones
  2. Identificará características y componentes clave
  3. Creará issues para las principales áreas funcionales
  4. Desglosará cada issue en tareas específicas
  5. Organizará todo en un backlog estructurado