Servidor del Administrador de tareas MCP
Un servidor de Protocolo de Contexto de Modelo (MCP) local que proporciona herramientas de backend para la gestión de proyectos y tareas impulsados por el cliente mediante una base de datos SQLite.
Descripción general
Este servidor actúa como un backend persistente para clientes locales de MCP (como agentes de IA o scripts) que necesitan gestionar datos estructurados de tareas en distintos proyectos. Gestiona el almacenamiento de datos y proporciona un conjunto estandarizado de herramientas para la interacción, mientras que la lógica estratégica del flujo de trabajo reside en el cliente.
Características principales:
- Basado en proyectos: las tareas se organizan dentro de proyectos distintos.
- Persistencia de SQLite: utiliza un archivo SQLite local (
./data/taskmanager.db
de forma predeterminada) para un almacenamiento de datos simple y autónomo. - Orientado al cliente: proporciona herramientas para los clientes; no dicta el flujo de trabajo.
- Compatible con MCP: se adhiere al Protocolo de contexto de modelo para la definición y comunicación de herramientas.
- Gestión de tareas: admite la creación de proyectos, la adición de tareas, la enumeración/visualización de tareas, la actualización del estado, la expansión de tareas en subtareas y la identificación de la próxima tarea procesable.
- Importar/Exportar: Permite exportar datos del proyecto a JSON e importar desde JSON para crear nuevos proyectos.
Herramientas MCP implementadas
Las siguientes herramientas están disponibles para los clientes de MCP:
createProject
:- Descripción: Crea un nuevo proyecto vacío.
- Parámetros:
projectName
(cadena, opcional, máximo 255) - Devuelve:
{ project_id: string }
addTask
:- Descripción: Agrega una nueva tarea a un proyecto.
- Parámetros:
project_id
(cadena, obligatorio, UUID),description
(cadena, obligatorio, 1-1024),dependencies
(cadena[], opcional, máximo 50),priority
(enumeración 'alta'|'media'|'baja', opcional, predeterminado 'media'),status
(enumeración 'todo'|'en progreso'|'revisión'|'listo', opcional, predeterminado 'todo') - Devuelve: objeto
TaskData
completo de la tarea creada.
listTasks
:- Descripción: Enumera las tareas de un proyecto, con filtrado opcional e inclusión de subtareas.
- Parámetros:
project_id
(cadena, obligatorio, UUID),status
(enumeración 'todo'|'en progreso'|'revisión'|'terminado', opcional),include_subtasks
(booleano, opcional, predeterminado falso) - Devuelve: Matriz de objetos
TaskData
oStructuredTaskData
.
showTask
:- Descripción: Recupera detalles completos de una tarea específica, incluidas dependencias y subtareas directas.
- Parámetros:
project_id
(cadena, obligatorio, UUID),task_id
(cadena, obligatorio) - Devuelve: objeto
FullTaskData
.
setTaskStatus
:- Descripción: Actualiza el estado de una o más tareas.
- Parámetros:
project_id
(cadena, obligatorio, UUID),task_ids
(cadena[], obligatorio, 1-100),status
(enumeración 'todo'|'en progreso'|'revisión'|'terminado', obligatorio) - Devoluciones:
{ success: true, updated_count: number }
expandTask
:- Descripción: Divide una tarea principal en subtareas y, opcionalmente, reemplaza las existentes.
- Parámetros:
project_id
(cadena, obligatorio, UUID),task_id
(cadena, obligatorio),subtask_descriptions
(cadena[], obligatorio, 1-20, cada 1-512),force
(booleano, opcional, predeterminado falso) - Devoluciones: objeto padre
FullTaskData
actualizado incluidas nuevas subtareas.
getNextTask
:- Descripción: Identifica la próxima tarea procesable en función del estado ('todo'), las dependencias ('hecho'), la prioridad y la fecha de creación.
- Parámetros:
project_id
(cadena, obligatorio, UUID) - Devuelve: objeto
FullTaskData
de la próxima tarea, onull
si no hay ninguna lista.
exportProject
:- Descripción: Exporta datos completos del proyecto como una cadena JSON.
- Parámetros:
project_id
(cadena, obligatorio, UUID),format
(enumeración 'json', opcional, predeterminado 'json') - Devuelve: cadena JSON que representa el proyecto.
importProject
:- Descripción: Crea un nuevo proyecto a partir de una cadena JSON exportada.
- Parámetros:
project_data
(cadena, obligatorio, JSON),new_project_name
(cadena, opcional, máximo 255) - Devuelve:
{ project_id: string }
del proyecto recién creado.
updateTask
:- Descripción: Actualiza detalles específicos (descripción, prioridad, dependencias) de una tarea existente.
- Parámetros:
project_id
(cadena, obligatorio, UUID),task_id
(cadena, obligatorio, UUID),description
(cadena, opcional, 1-1024),priority
(enumeration 'high'|'medium'|'low', opcional),dependencies
(cadena[], opcional, máx. 50, reemplaza las existentes) - Devuelve: objeto
FullTaskData
actualizado.
deleteTask
:- Descripción: Elimina una o más tareas (y sus subtareas/enlaces de dependencia mediante cascada).
- Parámetros:
project_id
(cadena, obligatorio, UUID),task_ids
(cadena[], obligatorio, 1-100) - Devoluciones:
{ success: true, deleted_count: number }
deleteProject
:- Descripción: Elimina permanentemente un proyecto y todos los datos asociados. ¡Úselo con precaución!
- Parámetros:
project_id
(cadena, obligatorio, UUID) - Devuelve:
{ success: true }
(Nota: Consulte los archivos src/tools/*Params.ts
correspondientes para obtener esquemas Zod detallados y descripciones de parámetros).
Empezando
- Prerrequisitos: Node.js (se recomienda LTS), npm.
- Dependencias de instalación:
- Ejecutar en modo de desarrollo: (Utiliza
ts-node
ynodemon
para recarga automática)El servidor se conectará mediante stdio. Los registros (formato JSON) se imprimirán en stderr. La base de datos SQLite se creará/actualizará en./data/taskmanager.db
. - Construir para producción:
- Ejecutar compilación de producción:
Configuración
- Ruta de la base de datos: La ubicación del archivo de base de datos de SQLite se puede sobrescribir configurando la variable de entorno
DATABASE_PATH
. El valor predeterminado es./data/taskmanager.db
. - Nivel de registro: El nivel de registro se puede configurar mediante la variable de entorno
LOG_LEVEL
(p. ej.,debug
,info
,warn
,error
). El valor predeterminado esinfo
.
Estructura del proyecto
/src
: Código fuente./config
: Gestión de la configuración./db
: Administrador de base de datos y esquema (schema.sql
)./repositories
: Capa de acceso a datos (interacción con SQLite)./services
: Lógica empresarial básica./tools
: definiciones de herramientas MCP (*Params.ts) e implementación (*Tool.ts)./types
: Interfaces TypeScript compartidas (actualmente mínimas, principalmente en repositorios/servicios)./utils
: Registro, errores personalizados, etc.createServer.ts
: Creación de instancia de servidor.server.ts
: Punto de entrada de la aplicación principal.
/dist
: Salida JavaScript compilada./docs
: Documentación del proyecto (PRD, especificaciones de características, RFC)./data
: Ubicación predeterminada para el archivo de base de datos SQLite (creado automáticamente).tasks.md
: Archivo de seguimiento manual de tareas para desarrollo.- Archivos de configuración (
package.json
,tsconfig.json
,.eslintrc.json
, etc.)
Pelusa y formato
- Pelusa:
npm run lint
- Formato:
npm run format
(El código se formatea y revisa automáticamente al confirmar mediante Husky/lint-staged).
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Un servidor de protocolo de contexto de modelo local que proporciona herramientas de backend para que los agentes de IA administren proyectos y tareas con almacenamiento persistente en SQLite, lo que permite el seguimiento estructurado de las tareas del proyecto con dependencias, prioridades y estados.
- Descripción general
- Herramientas MCP implementadas
- Empezando
- Configuración
- Estructura del proyecto
- Pelusa y formato
Related Resources
Related MCP Servers
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to explore and interact with Cursor IDE's SQLite databases, providing access to project data, chat history, and composer information.Last updated -10Python
- AsecurityAlicenseAqualityA Model Context Protocol server that integrates with Linear, enabling AI assistants to create, update, search, and comment on issues for project management and issue tracking.Last updated -56PythonApache 2.0
- -security-license-qualityA Model Context Protocol server implementation that enables AI assistants to interact with Linear project management systems, allowing them to create, retrieve, and modify data related to issues, projects, teams, and users.Last updated -202TypeScript
- -securityAlicense-qualityA Model Context Protocol server implementation that enables AI assistants to execute SQL queries and interact with SQLite databases through a structured interface.Last updated -6TypeScriptMIT License