todo-mcp-server
The Todo MCP Server is a simple server built using the Model Context Protocol (MCP) to manage todo items stored in an SQLite database. It supports basic operations such as adding, listing, and removing todo items and is implemented in TypeScript using better-sqlite3 and the MCP SDK.
Todo MCP Server
A simple MCP (Model Context Protocol) server for managing todo items with SQLite database storage.
Features
- Add new todo items
- List all todo items
- Remove todo items by ID
Setup
-
Install dependencies:
npm install
-
Configure database location (optional):
Open
src/database.ts
and modify theDB_LOCATION
variable to your preferred location:// Examples: // - Windows: "C:/todos" // - macOS: join(homedir(), "todos") // - Linux: "/home/username/todos" or join(homedir(), "todos") // - Current directory: join(process.cwd(), "data") const DB_LOCATION = "C:/todos";
-
Build the project:
npm run build
Database
The application uses SQLite for data storage. By default, the database file is created at C:/todos/todos.db
. You can change this location by modifying the DB_LOCATION
variable in src/database.ts
.
The database and its directory will be automatically created if they don't exist.
Available Tools
add-todo
Adds a new todo item to the list.
Parameters:
text
(string): The text content of the todo item
Example:
add-todo(text: "Buy groceries")
get-todos
Lists all todo items.
Example:
get-todos()
remove-todo
Removes a todo item by its ID.
Parameters:
id
(number): The ID of the todo item to remove
Example:
remove-todo(id: 1)
Development
This project is built with:
- TypeScript
- better-sqlite3 for database operations
- MCP SDK for the server implementation