Skip to main content
Glama

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 Markdown MCP Server

Setup

npm install
npm run build

Running

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

To poke at it without Claude, the MCP inspector is handy:

npx @modelcontextprotocol/inspector node dist/index.js

Hooking 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 test

The 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

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An 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.
    5
    12
    6
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A task management MCP server that allows users to create, list, and organize tasks with priorities, labels, and projects using natural language. It provides a persistent SQLite-backed system for tracking due dates and managing task workflows directly within Claude Code.
    6
    2
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A simple MCP server for managing todo items with SQLite database storage, supporting add, list, and remove operations.
    9
    6
    ISC

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • MCP server for AI dialogue using various LLM models via AceDataCloud

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Xczer/todo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server