Todo MCP Server
A Todo and Task Manager server for creating, updating, and managing tasks, using a SQLite database.
Todo MCP Server
A comprehensive Todo/Task Manager MCP (Model Context Protocol) Server built with Node.js, TypeScript, and SQLite. This server provides tools, resources, and prompts for managing todos through Claude and other MCP-compatible clients.
Features
🛠️ Tools (7 available)
- create_todo - Create new todos with title, description, priority, due date, and tags
- update_todo - Update existing todos (any field)
- delete_todo - Delete todos by ID
- complete_todo - Mark todos as completed
- list_todos - List todos with filtering (completion status, priority, tag, limit)
- search_todos - Search todos by title, description, or tags
- get_todo_stats - Get comprehensive todo statistics
📄 Resources (9 available)
- todos://all - All todos (JSON)
- todos://completed - Completed todos (JSON)
- todos://pending - Pending todos (JSON)
- todos://overdue - Overdue todos (JSON)
- todos://todo/{id} - Specific todo by ID (JSON)
- todos://priority/{priority} - Todos by priority (JSON) with autocomplete
- todos://tag/{tag} - Todos by tag (JSON) with autocomplete
- todos://stats - Todo statistics (JSON)
- todos://tags - All available tags (JSON)
💬 Prompts (5 available)
- create_todo_prompt - Interactive todo creation
- daily_review - Daily todo review and planning
- weekly_planning - Weekly planning session
- productivity_analysis - Analyze productivity patterns
- task_breakdown - Break down complex tasks
Installation
-
Clone or create the project directory:
mkdir todo-mcp-server cd todo-mcp-server -
Install dependencies:
npm install -
Build the project:
npm run build
Usage
Basic Server Operations
-
Test the todo service:
npm run test -
Run the MCP server:
npm start -
Development mode (with file watching):
npm run dev
Testing with MCP Inspector
-
Start the inspector:
npx @modelcontextprotocol/inspector node dist/index.js -
Open the web interface:
- Follow the URL provided in the terminal output
- Use the provided authentication token
Claude Desktop Integration
Add this configuration to your Claude Desktop config file:
{
"mcpServers": {
"todo-manager": {
"command": "node",
"args": ["/path/to/todo-mcp-server/dist/index.js"],
"env": {
"TODO_DB_PATH": "/path/to/your/todos.db"
}
}
}
}
Configuration
Environment Variables
- TODO_DB_PATH: Path to SQLite database file (default:
todos.dbin current directory)
Database
The server uses SQLite with better-sqlite3 for data persistence. The database is automatically created with the following schema:
- todos table with fields: id, title, description, completed, priority, due_date, tags, created_at, updated_at
- Indexes on completion status, priority, due date, and creation date for optimal performance
API Examples
Creating a Todo
// Using the create_todo tool
{
"title": "Review documentation",
"description": "Read through the MCP protocol documentation",
"priority": "high",
"dueDate": "2024-06-27T10:00:00.000Z",
"tags": ["work", "learning"]
}
Filtering Todos
// Using the list_todos tool
{
"completed": false,
"priority": "high",
"limit": 10
}
Resource Access
GET todos://pending # All pending todos
GET todos://priority/high # High priority todos
GET todos://tag/work # Todos tagged with "work"
GET todos://stats # Todo statistics
Architecture
src/
├── database.ts # SQLite database layer with better-sqlite3
├── index.ts # Main server entry point
├── mcp-server.ts # MCP server implementation
├── todo-service.ts # Business logic layer
├── test.ts # Test suite
└── types.ts # TypeScript type definitions
Key Components
- TodoDatabase - Direct SQLite interface with better-sqlite3
- TodoService - Business logic with validation and error handling
- TodoMcpServer - MCP protocol implementation with tools, resources, and prompts
Development
Scripts
npm run build- Compile TypeScript to JavaScriptnpm run dev- Development mode with file watchingnpm start- Start the production servernpm run test- Run the test suite
Technology Stack
- Runtime: Node.js
- Language: TypeScript
- Database: SQLite with better-sqlite3
- Protocol: Model Context Protocol (MCP)
- Validation: Zod schemas
Testing
The project includes comprehensive testing:
npm run test
This will:
- Create an in-memory database
- Test all CRUD operations
- Verify search and filtering functionality
- Check statistics generation
- Validate tag management
Troubleshooting
Common Issues
- Database permission errors: Ensure the directory is writable
- Port conflicts: The MCP server uses stdio, no ports needed
- TypeScript errors: Run
npm run buildto check for compilation issues
Debugging
Enable debug logging by setting:
export DEBUG=todo-mcp-server
License
MIT License - see LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
Changelog
v1.0.0
- Initial release
- Complete MCP implementation with tools, resources, and prompts
- SQLite database with better-sqlite3
- Comprehensive test suite
- Node.js compatibility (migrated from Bun)
Related Servers
上海迪士尼门票查询
sh-disney-mcp 是一个基于 Model Context Protocol (MCP) 的mcp server,旨在通过标准化的接口,帮助大模型快速获取上海迪士尼乐园的门票价格和售卖状态信息。
Outline
Interact with Outline, the open-source knowledge base and wiki, directly through your AI assistant.
Awesome Agent Skills MCP Server
A Model Context Protocol (MCP) server that provides access to 100+ curated AI agent skills from the VoltAgent Awesome Agent Skills collection.
VISO TRUST
Access and manage your VISO TRUST third-party risk program directly through your AI assistant.
Notes MCP Server
An MCP server for interacting with Obsidian notes. Requires the OBSIDIAN_VAULT_PATH environment variable to be set.
KonQuest Meta Ads MCP
Supervised Meta Ads operating system for Claude Code - 57 tools for campaign management, multi-asset ads, targeting, pixel diagnostics, catalogs, and safety gates
n8n Video Compilation
Automate AI-powered video compilation workflows using n8n.
Bright Security MCP
The new Bright MCP Server enables AI assistants to directly interact with Bright and manage security scans end-to-end. Using natural language prompts, AI can now analyze existing coverage, identify missing or hidden entrypoints, add them to the project, select the most relevant security tests based on the application’s technology, and start scans automatically.
GistPad MCP
Manage and share personal knowledge, daily notes, and reusable prompts using GitHub Gists.
ActiveCampaign
Built for the next generation of intelligent experiences, ActiveCampaign's remote MCP server makes it easy for AI agents to understand, store, and use customer context across tools, channels, and workflows.