Todo MCP Server
@idsulik
The repository todo-mcp-server is a minimal Todo application implemented as an MCP (Model Context Protocol) server. It provides basic functionalities such as listing, viewing, adding, removing, and clearing todo items.
Overview
What is Todo MCP Server?
A minimal Todo application implemented as an MCP (Model Context Protocol) server. It exposes resources, tools, and prompts to list, view, add, remove, and clear todo items, and to create structured tasks with metadata. The project serves as a test bed for building and interacting with MCP servers.
How to use Todo MCP Server?
Install Python 3.10+ and uv, clone the repository, install dependencies with uv pip install -e ., then register the server with mcp install server.py --name "Todo MCP". Alternatively, use mcp dev server.py to launch with the MCP Inspector, or run via Docker with the configuration shown in the README.
Key features of Todo MCP Server
- List all todo items
- View a specific todo item by index
- Add new todo items
- Remove todo items
- Clear all todo items
- Create structured tasks with priority and due date
Use cases of Todo MCP Server
- Testing and demonstrating MCP interactions
- Managing a simple todo list through MCP-enabled applications (e.g., Claude Desktop)
- Learning how to build and expose functionality via the MCP protocol
FAQ from Todo MCP Server
What are the prerequisites for running Todo MCP Server?
Python 3.10 or later and the uv Python package installer are required.
How do I install and register the server?
Clone the repository, run uv pip install -e . from the project root, then execute mcp install server.py --name "Todo MCP" to register it with MCP-enabled apps like Claude Desktop.
How can I run the server using Docker?
Add the provided Docker configuration to your MCP client settings. The image idsulik/todo-mcp-server will be pulled automatically if not already present locally.
What tools and resources does Todo MCP Server provide?
Resources: todo://list and todo://view/{item_idx}. Tools: add_todo, remove_todo, clear_todo. Prompt: create_task with parameters for task name, priority, and due date.