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