Todos MCP Server Todo List Manager for Chatbots
Organize and track tasks with Todos MCP server, the todo list manager for chatbots that syncs, creates, and shares tasks with your favorite bot.
npx -y @tomelliot/todos-mcpOverview
Todos MCP Server is a lightweight Model Context Protocol (MCP) server that provides a simple todo list manager intended for integration with chatbots and conversational agents. Its purpose is to give bots a persistent, shareable place to create, update, and synchronize task lists using a standard, programmatic interface. By exposing a small set of RESTful endpoints and MCP-compatible discovery metadata, the server makes it straightforward for bots to read and manipulate a user’s todo items as part of a conversation.
This project is useful when you want your chatbot to manage tasks on behalf of users — for example, create todos from user messages, show a list of outstanding tasks, or allow team members to share and edit a common set of todos through a bot. The server is designed for developers who want a minimal, easily-deployable backing store for todo data that can be wired into any bot supporting web requests or MCP-style resource discovery.
Features
- RESTful JSON API for creating, reading, updating, and deleting todo items
- MCP-compatible discovery/manifest endpoints for bot integration
- Support for syncing and sharing tasks across chatbot sessions
- Lightweight deployment (single-process, minimal dependencies)
- Environment-driven configuration suitable for local, container, or cloud deployments
- Example client usage with curl and simple JavaScript snippets
Installation / Configuration
Clone the repository and install dependencies (Node.js/npm used as an example):
Configuration is controlled via environment variables. Create a .env file or export variables directly:
# .env
PORT=3000
DATA_FILE=./data/todos.json
MCP_BASE_URL=https://your-server.example.com
SECRET=change-me
Start the server:
# development
# or explicitly with node
To run in Docker, build and run the container:
Common environment variables:
- PORT — HTTP port to listen on (default: 3000)
- DATA_FILE — path to persistent storage (file or DB connection string)
- MCP_BASE_URL — public base URL used for MCP discovery links
- SECRET — optional shared secret for signing requests or webhook verification
Adjust these values to match your deployment and security needs.
Available Resources
The server exposes a small set of HTTP endpoints. Exact paths may vary slightly with versions — consult the repository for the canonical API.
Typical endpoints:
- GET /mcp-manifest — MCP discovery/manifest that describes available resources and endpoints
- GET /todos — list all todos (with optional query params)
- GET /todos/:id — retrieve a single todo item
- POST /todos — create a new todo
- PUT /todos/:id — update an existing todo
- DELETE /todos/:id — remove a todo
Example request/response for creating a todo:
Request:
POST /todos
Content-Type: application/json
{
"title": "Buy groceries",
"notes": "Milk, eggs, bread",
"due": "2026-04-20"
}
Response:
Available resources in the repo:
- Source code with server implementation
- Example client snippets (curl, Node.js)
- Basic data persistence layer (file-based or pluggable)
Use Cases
Add todos from natural language in a chatbot
- A chatbot receives: “Remind me to email Sarah tomorrow.”
- The bot extracts the task and calls POST /todos to create an entry.
- Later, the bot can list tasks with GET /todos to remind the user.
Shared team task list managed via a shared bot
- Team members interact with a central bot in a workspace to add or complete tasks.
- The bot calls the Todos MCP API, enabling everyone in the chat to see the current todo state.
Sync task state across devices and assistants
- Multiple conversational agents (desktop assistant, mobile bot, web widget) integrate with the same MCP server.
- Changes made by one agent are persisted and immediately visible to others via the API.
Programmatic automation and workflows
- Integrate with CI/CD, calendar, or notification services: automated jobs can create todos for follow-ups detected in logs or alerts.
Getting Started Tips
- Start by running the server locally and experimenting with the REST endpoints using curl or Postman.
- Add simple validation or authentication (e.g., bearer tokens) before exposing the server publicly.
- For production, swap file-based persistence for a database and configure TLS (HTTPS) for the MCP_BASE_URL.
- Use the MCP manifest endpoint to enable automatic discovery by compliant bots.
Resources & Links
- Source on GitHub: https://github.com/tomelliot/todos-mcp
- Use the manifest endpoint (e.g., /mcp-manifest) to help bots discover the todo service and available actions.
This server is intended as a minimal, extensible component to attach todo management capabilities to chatbots and conversational systems.