A simple Model Context Protocol (MCP) server that provides todo list management functionality to Claude Desktop and other MCP clients.
Configuration
View docs{
"mcpServers": {
"havfar-todo-mcp-server": {
"command": "bash",
"args": [
"/absolute/path/to/mcp-todo/mcp/run-todo.sh"
],
"env": {
"DATABASE_URL": "file:/absolute/path/to/mcp-todo/data/todos.db"
}
}
}
}You run a lightweight MCP server that manages a todo list using a local SQLite database. It exposes tools to create, read, update, delete, and search todos, making it easy for client apps like Claude Desktop to interact with your data in a structured way.
To use the Mongo (MCP) Todo Server with an MCP client, run the server locally and connect your client to the configured MCP endpoint. You will access a set of tools that let you list all todos, add new ones, toggle their completion state, delete items by ID, and search by title. The server stores data in SQLite via Prisma for reliable concurrent access, so your list stays consistent even as multiple clients interact.
Prerequisites: ensure you have Node.js installed on your system. You will also need access to a terminal and permission to write to a project directory.
# Step 1: Install dependencies
npm install
# Step 2: Create environment file for local database
# This will set the path to your SQLite database
# Use an absolute or repository-relative path as appropriate
# Example shown below:
DATABASE_URL="file:./dev.db"Step 3: Initialize the database schema and migrations for Prisma.
npx prisma migrate devStep 4: Start the MCP server using the provided startup script. You will run a shell command that launches the server in the correct context.
npm run mcp:todoConfigure Claude Desktop to load the MCP server by adding the following to your Claude Desktop configuration. This creates a local stdio MCP server named todo that runs the startup script and sets the database path.
{
"mcpServers": {
"todo": {
"command": "bash",
"args": ["/absolute/path/to/mcp-todo/mcp/run-todo.sh"],
"env": {
"DATABASE_URL": "file:/absolute/path/to/mcp-todo/data/todos.db"
}
}
}
}Returns all todos sorted by creation date (newest first).
Creates a new todo item with a required title and an optional due date.
Toggles or sets the completion status of a todo by its ID.
Deletes a todo by its ID.
Searches todos by a title substring.