Todo MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Todo MCP Serveradd a todo to buy groceries"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Todo MCP Server
A small MCP (Model Context Protocol) server for managing todos, so an assistant like Claude can create, update and query your task list through a normal conversation. Written in TypeScript, stores everything in a local SQLite file.
I built this mostly to learn how MCP works end to end - tools, resources and prompts - and a todo manager was a simple enough domain to actually finish.
What it exposes
Tools (the things Claude can call): create, update, delete, complete, list, and search todos, plus a stats tool.
Resources (read-only data Claude can pull): all / completed / pending / overdue todos, a single todo by id, todos filtered by priority or tag, and overall stats. A couple of them support autocomplete.
Prompts (canned flows): daily review, weekly planning, productivity analysis and task breakdown.
Related MCP server: Todo MCP Server
Setup
npm install
npm run buildRunning
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 dbTo poke at it without Claude, the MCP inspector is handy:
npx @modelcontextprotocol/inspector node dist/index.jsHooking it into Claude Desktop
Drop this into your Claude Desktop config (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 is optional - defaults to todos.db in the working directory.
How it's laid out
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 testThe todos table keeps id, title, description, completed, priority, due_date, tags and timestamps, with a few indexes on the columns I actually filter by.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- mcpOAuthnet.todoist
Official Todoist MCP server for AI assistants to manage tasks, projects, and workflows.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that allows AI assistants to manage todo lists stored in a simple markdown file, supporting creation, reading, updating, and deletion of todo items with persistent IDs.56 npm6MIT
- AlicenseNot gradedqualityDmaintenanceA simple MCP server for managing todo items with SQLite database storage, supporting add, list, and remove operations.4 npm6ISC
- FlicenseNot gradedqualityDmaintenanceMCP server that exposes a TODO list API to AI assistants, enabling natural language management of tasks with create, read, update, and delete operations.-
- FlicenseAqualityCmaintenanceA small Model Context Protocol (MCP) server that lets an AI assistant manage a to-do list on your behalf.4-