MCP ToDo Server
Click on "Install 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., "@MCP ToDo ServerAdd a high priority task for the project kickoff due next Friday"
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.
MCP ToDo Server
Production-ready Model Context Protocol server for task and todo management with dual storage backends, error handling, and modern Python tooling.
Features
Dual Storage: File-based JSON or database (SQLite/PostgreSQL)
Todo Management: Standalone todos and structured tasks with priorities/due dates
Bulk Operations: Efficient multi-item management and analytics
Security: Input validation, error handling, containerization
Modern Tooling: uv package manager, comprehensive testing, structured logging
Related MCP server: Task Manager MCP Server
Architecture
MCP Server → Business Logic → Storage (File/Database) → InfrastructureQuick Start
# Clone and install
git clone https://github.com/AnoRebel/mcp-todo-server.git
cd mcp-todo-server
uv sync # or pip install -r requirements.txt
# Run with file storage (default)
uv run python server.py
# Run with database storage
export MCP_STORAGE_TYPE=database
export MCP_DATABASE_URL=sqlite:///todos.db
uv run python server.py
# Docker
docker-compose up -d
# Development
make test && make formatConfiguration
Environment variables:
MCP_STORAGE_TYPE:fileordatabase(default: file)MCP_DATABASE_URL: Database connection stringMCP_LOG_LEVEL: DEBUG, INFO, WARNING, ERRORMCP_MAX_TASKS: Maximum tasks (default: 1000)MCP_MAX_TODOS: Maximum todos (default: 1000)
Usage
Basic Operations
# Standalone todos
add_todo("Buy groceries")
list_todos(status="open")
complete_todo("todo-id")
# Structured tasks
create_task(name="Project", priority="high", due_date="2024-12-31")
add_task_todo("task-id", "Subtask description")
bulk_task_operation(operation="complete", filters={"priority": "low"})
# Analytics
get_productivity_stats()Error Handling
Circuit breaker pattern for failure prevention
Automatic retry with exponential backoff
Categorized errors with user-friendly messages
Comprehensive logging and monitoring
Testing
make test # All tests with coverage
pytest tests/ -v # Verbose test outputCoverage includes storage backends, CRUD operations, error handling, and data models.
Security & Performance
Input validation and sanitization
Container security (non-root execution)
Database connection pooling and atomic operations
Configurable limits and graceful degradation
Structured logging for observability
Deployment
Docker
docker-compose up -d # File storage
docker-compose --profile database up -d # With PostgreSQLKubernetes
apiVersion: apps/v1
kind: Deployment
metadata:
name: mcp-todo-server
spec:
replicas: 3
template:
spec:
containers:
- name: mcp-todo-server
image: mcp-todo-server:latest
env:
- name: MCP_STORAGE_TYPE
value: "database"
- name: MCP_DATABASE_URL
valueFrom:
secretKeyRef:
name: db-secret
key: urlIntegration
Claude Desktop
{
"mcpServers": {
"todo-manager": {
"command": "python",
"args": ["/path/to/server.py"],
"env": {
"MCP_STORAGE_TYPE": "file",
"MCP_DATA_DIR": "/Users/username/.claude_todos"
}
}
}
}Project Structure
mcp-todo-server/
├── server.py # Main server
├── config.py # Configuration
├── models/ # Data models
├── storage/ # Storage backends
├── tests/ # Test suite
├── docker-compose.yml # Container setup
└── requirements.txt # DependenciesContributing
Fork and create feature branch
Add tests and follow PEP 8
Run
make test && make formatSubmit PR with clear description
Performance
Storage Comparison:
File: Simple, <1000 items recommended
Database: Scalable, concurrent access, millions of items
Benchmarks:
Operation | File | SQLite | PostgreSQL |
Add Todo | 5ms | 2ms | 3ms |
List 100 | 15ms | 5ms | 8ms |
License
MIT License - see LICENSE file.
Support
GitHub Issues for bugs/features
Email: hacker4rebel@gmail.com
Built with ❤️ following MCP best practices
This server cannot be installed
Maintenance
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
- Flicense-qualityDmaintenanceA Model Context Protocol server that provides persistent task management capabilities for AI assistants, allowing them to create, update, and track tasks beyond their usual context limitations.Last updated5
- Alicense-qualityDmaintenanceA Model Context Protocol server providing comprehensive task management capabilities with support for project organization, task tracking, and automatic PRD parsing into actionable items.Last updated37MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server providing AI assistants with comprehensive project, task, and subtask management capabilities with project-specific storage.Last updated296087MIT
- AlicenseAqualityCmaintenanceA comprehensive and efficient Model Context Protocol server for task management that works with Claude, Cursor, and other MCP clients, providing powerful search, filtering, and organization capabilities across multiple file formats.Last updated53246MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
MCP server for generating rough-draft project plans from natural-language prompts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/AnoRebel/mcp-todo-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server