Todo MCP Server
Un servidor de gestión de tareas y pendientes para crear, actualizar y administrar tareas, utilizando una base de datos SQLite.
Documentación
Todo MCP Server
Un pequeño servidor MCP (Model Context Protocol) para gestionar tareas, de modo que un asistente como Claude pueda crear, actualizar y consultar tu lista de tareas mediante una conversación normal. Escrito en TypeScript, almacena todo en un archivo SQLite local.
Lo construí principalmente para aprender cómo funciona MCP de principio a fin (tools, resources y prompts), y un gestor de tareas era un dominio lo bastante simple como para terminarlo.
Qué expone
Tools (las cosas que Claude puede llamar): crear, actualizar, eliminar, completar, listar y buscar tareas, además de una herramienta de estadísticas.
Resources (datos de solo lectura que Claude puede consultar): todas / completadas / pendientes / vencidas, una sola tarea por id, tareas filtradas por prioridad o etiqueta, y estadísticas generales. Un par de ellos admiten autocompletado.
Prompts (flujos predefinidos): revisión diaria, planificación semanal, análisis de productividad y desglose de tareas.
Configuración
npm install
npm run build
Ejecución
npm start # run the server (talks over stdio)
npm run dev # watch mode while developing
npm test # run the test script against an in-memory db
Para probarlo sin Claude, el inspector de MCP es muy útil:
npx @modelcontextprotocol/inspector node dist/index.js
Integrarlo en Claude Desktop
Añade esto a tu configuración de Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"todo-manager": {
"command": "node",
"args": ["/path/to/todo-mcp-server/dist/index.js"],
"env": {
"TODO_DB_PATH": "/path/to/your/todos.db"
}
}
}
}
TODO_DB_PATH es opcional: por defecto usa todos.db en el directorio de trabajo.
Cómo está organizado
src/
├── database.ts # sqlite layer (better-sqlite3)
├── todo-service.ts # validation + business logic
├── mcp-server.ts # wires the service up to MCP tools/resources/prompts
├── index.ts # entry point
├── types.ts # shared types
└── test.ts # quick sanity test
La tabla todos almacena id, title, description, completed, priority, due_date, tags y timestamps, con algunos índices en las columnas por las que realmente filtro.
Licencia
MIT