Flujo de tareas MCP 🔄✅
Un servidor de Protocolo de Contexto de Modelo (MCP) de gestión de tareas para planificar y ejecutar tareas con asistentes de IA.
🌟 Descripción general
TaskFlow MCP es un servidor especializado que ayuda a los asistentes de IA a desglosar las solicitudes de los usuarios en tareas gestionables y a supervisar su finalización. Implementa un flujo de trabajo estructurado con pasos de aprobación para garantizar el correcto seguimiento de las tareas y que los usuarios mantengan el control del proceso.
Related MCP server: Divide and Conquer MCP Server
✨ Características
📋 Planificación de tareas : divida solicitudes complejas en tareas manejables
🔍Subtareas : Divide las tareas en subtareas más pequeñas y manejables.
📊 Seguimiento del progreso : realice un seguimiento del estado de las tareas, subtareas y solicitudes con tablas de progreso visuales
👍 Aprobación del usuario : aplique los pasos de aprobación del usuario para garantizar la calidad y el control
💾 Persistencia : guarda tareas y solicitudes en el disco para que persistan entre sesiones
🔄 Gestión flexible : agregue, actualice o elimine tareas y subtareas según sea necesario
📝 Informes detallados : vea los detalles de las tareas y las tablas de progreso
📤 Opciones de exportación : exporta planes de tareas e informes de estado en formatos Markdown, JSON o HTML
📦 Dependencias : Realice un seguimiento de las dependencias a nivel de proyecto y tarea con información de la versión
📌 Notas : agregue notas a nivel de proyecto para obtener información importante y preferencias
🚀 Instalación
Instalación global
npm install -g @pinkpixel/taskflow-mcpInstalación local
npm install @pinkpixel/taskflow-mcp🛠️ Uso
Iniciando el servidor
Si se instala globalmente:
taskflow-mcpSi se instala localmente:
npx taskflow-mcpConfiguración
De forma predeterminada, TaskFlow MCP guarda las tareas en ~/Documents/tasks.json . Puede cambiar esto configurando la variable de entorno TASK_MANAGER_FILE_PATH :
TASK_MANAGER_FILE_PATH=/path/to/tasks.json taskflow-mcpConfiguración de MCP
Para usar TaskFlow MCP con asistentes de IA, debe configurar su cliente MCP para que use el servidor. Cree un archivo mcp_config.json con el siguiente contenido:
{
"mcpServers": {
"taskflow": {
"command": "npx",
"args": ["-y", "@pinkpixel/taskflow-mcp"],
"env": {
"TASK_MANAGER_FILE_PATH": "/path/to/tasks.json"
}
}
}
}🔄 Flujo de trabajo
TaskFlow MCP aplica un flujo de trabajo específico:
Planificar tareas : dividir una solicitud de usuario en tareas (con subtareas opcionales)
Obtener siguiente tarea : recupera la siguiente tarea pendiente
Completar subtareas : si la tarea tiene subtareas, complete cada subtarea antes de marcar la tarea como realizada
Marcar tarea como completada : marca una tarea como completada (requiere que todas las subtareas se completen primero)
Esperar aprobación : esperar la aprobación del usuario de la tarea completada
Repetir : continuar con la siguiente tarea hasta completar todas las tareas
Aprobación final : obtener la aprobación del usuario para toda la solicitud
Para que los asistentes de IA sigan este flujo de trabajo de manera consistente, consulte el archivo example-system-prompt.md para ver las indicaciones del sistema que puede agregar a las instrucciones de su asistente.
🧰 Herramientas disponibles
TaskFlow MCP expone las siguientes herramientas a los asistentes de IA:
plan_task
Registra una nueva solicitud de usuario y planifica sus tareas asociadas (con subtareas opcionales).
{
"originalRequest": "Create a new website for my business",
"outputPath": "C:/Users/username/Documents/website-project-plan.md",
"dependencies": [
{
"name": "Node.js",
"version": ">=14.0.0",
"description": "JavaScript runtime"
},
{
"name": "npm",
"version": ">=6.0.0",
"description": "Package manager"
}
],
"notes": [
{
"title": "Package Manager Preference",
"content": "User prefers pnpm over npm for package management."
},
{
"title": "Design Guidelines",
"content": "Follow the company's brand guidelines for colors and typography."
}
],
"tasks": [
{
"title": "Design homepage",
"description": "Create a design for the homepage with logo, navigation, and hero section",
"dependencies": [
{
"name": "Figma",
"description": "Design tool"
}
],
"subtasks": [
{
"title": "Design logo",
"description": "Create a logo that represents the business brand"
},
{
"title": "Design navigation",
"description": "Create a user-friendly navigation menu"
}
]
},
{
"title": "Implement HTML/CSS",
"description": "Convert the design to HTML and CSS",
"dependencies": [
{
"name": "HTML5",
"description": "Markup language"
},
{
"name": "CSS3",
"description": "Styling language"
}
]
}
]
}get_next_task
Recuperar la siguiente tarea pendiente para una solicitud.
{
"requestId": "req-1"
}mark_task_done
Marcar una tarea como completada.
{
"requestId": "req-1",
"taskId": "task-1",
"completedDetails": "Created a modern design with a clean layout"
}approve_task_completion
Aprobar una tarea completada.
{
"requestId": "req-1",
"taskId": "task-1"
}approve_request_completion
Aprobar una solicitud completa como completada.
{
"requestId": "req-1"
}open_task_details
Obtenga detalles sobre una tarea específica.
{
"taskId": "task-1"
}list_requests
Enumere todas las solicitudes en el sistema.
{}add_tasks_to_request
Agregar más tareas a una solicitud existente.
{
"requestId": "req-1",
"tasks": [
{
"title": "Add contact form",
"description": "Create a contact form with validation"
}
]
}update_task
Actualizar el título o la descripción de una tarea.
{
"requestId": "req-1",
"taskId": "task-1",
"title": "Design responsive homepage",
"description": "Create a responsive design for the homepage"
}delete_task
Eliminar una tarea de una solicitud.
{
"requestId": "req-1",
"taskId": "task-1"
}add_subtasks
Agregar subtareas a una tarea existente.
{
"requestId": "req-1",
"taskId": "task-1",
"subtasks": [
{
"title": "Design logo",
"description": "Create a logo that represents the business brand"
},
{
"title": "Design navigation",
"description": "Create a user-friendly navigation menu"
}
]
}mark_subtask_done
Marcar una subtarea como completada.
{
"requestId": "req-1",
"taskId": "task-1",
"subtaskId": "subtask-1"
}update_subtask
Actualizar el título o la descripción de una subtarea.
{
"requestId": "req-1",
"taskId": "task-1",
"subtaskId": "subtask-1",
"title": "Design modern logo",
"description": "Create a modern logo that represents the business brand"
}delete_subtask
Eliminar una subtarea de una tarea.
{
"requestId": "req-1",
"taskId": "task-1",
"subtaskId": "subtask-1"
}export_task_status
Exporte el estado actual de todas las tareas de una solicitud a un archivo. Se recomienda usar rutas absolutas para una creación de archivos más fiable.
{
"requestId": "req-1",
"outputPath": "C:/Users/username/Documents/task-status.md",
"format": "markdown"
}add_note
Agregar una nota a una solicitud.
{
"requestId": "req-1",
"title": "Package Manager Preference",
"content": "User prefers pnpm over npm for package management."
}update_note
Actualizar una nota existente.
{
"requestId": "req-1",
"noteId": "note-1",
"title": "Package Manager Preference",
"content": "User prefers pnpm over npm and yarn for package management."
}delete_note
Eliminar una nota de una solicitud.
{
"requestId": "req-1",
"noteId": "note-1"
}add_dependency
Agregar una dependencia a una solicitud o tarea.
{
"requestId": "req-1",
"taskId": "task-1",
"dependency": {
"name": "react",
"version": "^18.2.0",
"description": "JavaScript library for building user interfaces",
"url": "https://reactjs.org"
}
}📚 Documentación
Para obtener información más detallada sobre la arquitectura y la implementación del proyecto, consulte el archivo OVERVIEW.md .
📝 Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.
🤝 Contribuyendo
¡Agradecemos sus contribuciones! Consulte el archivo CONTRIBUTING.md para obtener las directrices.
📜 Registro de cambios
Consulte el archivo CHANGELOG.md para obtener un historial de cambios en este proyecto.
🙏 Agradecimientos
Construido con el Protocolo de Contexto de Modelo (MCP)
Creado por Pink Pixel
Hecho con ❤️ por Pink Pixel