taskqueue-mcp

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Referenced in examples for web design tasks, with CSS reset and editing mentioned as part of the workflow for creating responsive websites.

  • Mentioned in toolRecommendations as a recommended tool for project setup tasks, allowing for repository initialization and version control.

  • Mentioned in an example for repository hosting, allowing tasks to reference GitHub repositories as part of project setup.

Administrador de tareas de MCP

El Administrador de Tareas MCP ( paquete npm: taskqueue-mcp ) es un servidor de Protocolo de Contexto de Modelo (MCP) para la gestión de tareas de IA. Esta herramienta ayuda a los asistentes de IA a gestionar tareas de varios pasos de forma estructurada, con puntos de control de aprobación de usuario opcionales.

Características

  • Planificación de tareas con múltiples pasos
  • Seguimiento del progreso
  • Aprobación del usuario de las tareas completadas
  • Aprobación de finalización del proyecto
  • Visualización de detalles de tareas
  • Gestión del estado de las tareas
  • CLI mejorada para la inspección y gestión de tareas

Configuración básica

Normalmente, configurará la herramienta en Claude Desktop, Cursor u otro cliente MCP de la siguiente manera:

{ "tools": { "taskqueue": { "command": "npx", "args": ["-y", "taskqueue-mcp"] } } }

Para utilizar la utilidad CLI, puede utilizar el siguiente comando:

npx taskqueue --help

Esto mostrará los comandos y opciones disponibles.

Configuración avanzada

El administrador de tareas admite varios proveedores LLM para generar planes de proyecto. Puede configurar una o más de las siguientes variables de entorno según los proveedores que desee utilizar:

  • OPENAI_API_KEY : Necesario para usar modelos OpenAI (por ejemplo, GPT-4)
  • GOOGLE_GENERATIVE_AI_API_KEY : Necesario para usar los modelos Gemini de Google
  • DEEPSEEK_API_KEY : Necesario para usar modelos Deepseek

Para generar planes de proyecto utilizando la CLI, configure estas variables de entorno en su shell:

export OPENAI_API_KEY="your-api-key" export GOOGLE_GENERATIVE_AI_API_KEY="your-api-key" export DEEPSEEK_API_KEY="your-api-key"

O puede incluirlos en la configuración de su cliente MCP para generar planes de proyecto con llamadas a herramientas MCP:

{ "tools": { "taskqueue": { "command": "npx", "args": ["-y", "taskqueue-mcp"], "env": { "OPENAI_API_KEY": "your-api-key", "GOOGLE_GENERATIVE_AI_API_KEY": "your-api-key", "DEEPSEEK_API_KEY": "your-api-key" } } } }

Herramientas MCP disponibles

El Administrador de tareas ahora utiliza una interfaz de herramientas directa con herramientas específicas y diseñadas específicamente para cada operación:

Herramientas de gestión de proyectos

  • list_projects : enumera todos los proyectos en el sistema
  • read_project : Obtiene detalles sobre un proyecto específico
  • create_project : Crea un nuevo proyecto con tareas iniciales
  • delete_project : elimina un proyecto
  • add_tasks_to_project : Agrega nuevas tareas a un proyecto existente
  • finalize_project : Finaliza un proyecto después de que se hayan realizado todas las tareas

Herramientas de gestión de tareas

  • list_tasks : enumera todas las tareas para un proyecto específico
  • read_task : Obtiene detalles de una tarea específica
  • create_task : Crea una nueva tarea en un proyecto
  • update_task : modifica las propiedades de una tarea (título, descripción, estado)
  • delete_task : elimina una tarea de un proyecto
  • approve_task : Aprueba una tarea completada
  • get_next_task : Obtiene la próxima tarea pendiente en un proyecto
  • mark_task_done : marca una tarea como completada con detalles

Estado de tareas y flujos de trabajo

Las tareas tienen un campo de estado que puede ser uno de los siguientes:

  • not started : la tarea aún no se ha iniciado
  • in progress : Actualmente se está trabajando en la tarea.
  • done : La tarea se ha completado (requiere completedDetails )

Reglas de transición de estado

El sistema aplica las siguientes reglas para las transiciones de estado de tareas:

  • Las tareas siguen un flujo de trabajo específico con transiciones válidas definidas:
    • Desde not started : solo se puede mover a in progress
    • Desde in progress : puede pasar a done o volver a not started
    • De done : puede volver a estar in progress si se necesita trabajo adicional
  • Cuando una tarea se marca como "terminada", se debe proporcionar el campo completedDetails para documentar lo que se completó.
  • Las tareas aprobadas no se pueden modificar
  • Un proyecto solo puede aprobarse cuando todas las tareas estén realizadas y aprobadas.

Estas reglas ayudan a mantener la integridad del progreso de la tarea y garantizan la documentación adecuada del trabajo completado.

Flujo de trabajo de uso

Un flujo de trabajo típico para un LLM que utiliza este administrador de tareas sería:

  1. create_project : Iniciar un proyecto con tareas iniciales
  2. get_next_task : Obtener la primera tarea pendiente
  3. Trabajar en la tarea
  4. mark_task_done : Marcar la tarea como completada con detalles
  5. Esperar aprobación (el usuario debe llamar a approve_task a través de la CLI)
  6. get_next_task : Obtener la próxima tarea pendiente
  7. Repita los pasos 3 a 6 hasta completar todas las tareas.
  8. finalize_project : Completa el proyecto (requiere la aprobación del usuario)

Comandos CLI

Aprobación de tareas

La aprobación de tareas está controlada exclusivamente por el usuario humano a través del comando CLI:

npx taskqueue approve-task -- <projectId> <taskId>

Opciones:

  • -f, --force : Fuerza la aprobación incluso si la tarea no está marcada como realizada

Nota: Las tareas deben estar marcadas como "finalizadas" con los detalles completados antes de que puedan aprobarse (a menos que se utilice --force).

Listado de tareas y proyectos

La CLI proporciona un comando para enumerar todos los proyectos y tareas:

npx taskqueue list-tasks

Para ver los detalles de un proyecto específico:

npx taskqueue list-tasks -- -p <projectId>

Este comando muestra información sobre todos los proyectos del sistema o un proyecto específico, incluyendo:

  • Identificación del proyecto y solicitud inicial
  • Estado de finalización
  • Detalles de la tarea (título, descripción, estado, aprobación)
  • Métricas de progreso (tareas aprobadas/completadas/total)

Esquema de datos y almacenamiento

Ubicación del archivo

El administrador de tareas almacena datos en un archivo JSON que debe ser accesible tanto para el servidor como para la CLI.

La ubicación específica de la plataforma predeterminada es:

  • Linux : ~/.local/share/taskqueue-mcp/tasks.json
  • macOS : ~/Library/Application Support/taskqueue-mcp/tasks.json
  • Ventanas : %APPDATA%\taskqueue-mcp\tasks.json

No se recomienda usar una ruta de archivo personalizada para almacenar datos de tareas, ya que debe recordar configurar la misma ruta tanto para el servidor MCP como para la CLI; de lo contrario, no podrán coordinarse. Sin embargo, si desea usar una ruta personalizada, puede configurar la variable de entorno TASK_MANAGER_FILE_PATH en la configuración del cliente MCP:

{ "tools": { "taskqueue": { "command": "npx", "args": ["-y", "taskqueue-mcp"], "env": { "TASK_MANAGER_FILE_PATH": "/path/to/tasks.json" } } } }

Luego, antes de ejecutar la CLI, debes exportar la misma ruta en tu shell:

export TASK_MANAGER_FILE_PATH="/path/to/tasks.json"

Esquema de datos

El archivo JSON utiliza la siguiente estructura:

TaskManagerFile ├── projects: Project[] ├── projectId: string # Format: "proj-{number}" ├── initialPrompt: string # Original user request text ├── projectPlan: string # Additional project details ├── completed: boolean # Project completion status └── tasks: Task[] # Array of tasks ├── id: string # Format: "task-{number}" ├── title: string # Short task title ├── description: string # Detailed task description ├── status: string # Task status: "not started", "in progress", or "done" ├── approved: boolean # Task approval status ├── completedDetails: string # Completion information (required when status is "done") ├── toolRecommendations: string # Suggested tools that might be helpful for this task └── ruleRecommendations: string # Suggested rules/guidelines to follow for this task

Licencia

Instituto Tecnológico de Massachusetts (MIT)

ID: wb0ya36k4k