MCP ToDo Server

MCP ToDo Server

A production-ready Model Context Protocol server for managing tasks and todos with support for both file-based and database storage backends. It enables users to perform bulk operations, track priorities, and access productivity analytics through a structured management system.

Category
访问服务器

README

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

Architecture

MCP Server → Business Logic → Storage (File/Database) → Infrastructure

Quick 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 format

Configuration

Environment variables:

  • MCP_STORAGE_TYPE: file or database (default: file)
  • MCP_DATABASE_URL: Database connection string
  • MCP_LOG_LEVEL: DEBUG, INFO, WARNING, ERROR
  • MCP_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 output

Coverage 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 PostgreSQL

Kubernetes

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: url

Integration

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    # Dependencies

Contributing

  1. Fork and create feature branch
  2. Add tests and follow PEP 8
  3. Run make test && make format
  4. Submit 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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选