MCP Todo.txt Integration
[









](https://www.npmjs.com/package/mcp-server-todotxt)
[](https://mseep.ai/app/ed03168b-6f90-46ed-b75b-e55fc025da33)
---
# MCP Todo.txt Integration
## Overview
The MCP Todo.txt Integration is a server implementation of the Model Context Protocol (MCP) that enables interaction with Todo.txt files. This project allows LLMs to manage tasks in a Todo.txt file programmatically using the MCP protocol.
## Features
### Core Features
- **Resources**
- Expose the list of tasks as a resource.
- Filter tasks by context, project, or priority.
- **Tools**
1. Add Task: Add a new task with optional metadata.
2. Mark Task as Completed: Mark a task as completed.
3. Delete Task: Remove a task.
4. List Tasks: Retrieve all tasks with filtering options.
5. Search Tasks: Search for tasks based on keywords or metadata.
6. Sort Tasks: Sort tasks by priority, creation date, or completion date.
7. Filter Tasks: Filter tasks by specific criteria.
8. Add Metadata: Add custom metadata to tasks.
9. Remove Metadata: Remove specific metadata from tasks.
10. Batch Operations: Perform batch updates or deletions.
- **Prompts**
- Summarize tasks.
- Generate a new task description.
### Advanced Features
- Dynamic Task Management: Update tasks dynamically based on input or triggers.
- Session Management: Manage tasks across multiple requests.
## Installation
For quick installation, use the one-click installation button below
[
](https://insiders.vscode.dev/redirect/mcp/install?name=todotxt&config=%7B%22type%22%3A%20%22stdio%22%2C%22command%22%3A%20%22npx%22%2C%22args%22%3A%20%5B%22-y%22%2C%22guifelix%2Fmcp-server-todotxt%40latest%22%5D%2C%22gallery%22%3A%20true%2C%22env%22%3A%20%7B%22TODO_FILE_PATH%22%3A%20%22full_path%2Ftodo.txt%22%7D%7D)
1. Clone the repository:
```bash
git clone <repository-url>
cd todomcp
```
2. Install dependencies:
```bash
npm install
```
3. Build the project:
```bash
npm run build
```
## Usage
1. Start the MCP server:
```bash
npm start
```
2. Interact with the server using MCP-compliant clients or tools.
## Configuration
- The path to the Todo.txt file can be configured using the `TODO_FILE_PATH` environment variable. If not set, the default path is `todo.txt` in the project root.
## Development
- To run the project in development mode:
```bash
npm run dev
```
- To run tests:
```bash
npm test
```
## Dependencies
- `@modelcontextprotocol/sdk`
- `jsTodoTxt`
- `zod`
## Documentation
- [Todo.txt Format](https://github.com/todotxt/todo.txt)
- [jsTodoTxt Documentation](https://jstodotxt.velvetcache.org/)
## Contributing
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
## License
This project is licensed under the MIT License.
TDQS
Scored across 11 tools
Most tools have clear, distinct purposes (add, update, delete, complete, list, search, sort, filter, metadata operations). However, filter-tasks and list-tasks overlap somewhat since list-tasks already supports filtering by priority, context, project, or metadata, which could cause an agent to pick the wrong one.
Tool names consistently use a verb-noun pattern (add-task, update-task, delete-task, list-tasks, search-tasks, sort-tasks, complete-task). Minor deviations: batch-operations is a noun phrase rather than verb-noun, and filter-tasks overlaps with list-tasks' filtering capability.
11 tools is a reasonable count for a todo.txt server covering task CRUD, metadata, search, sorting, filtering, and batch operations. It is slightly on the higher side but each tool addresses a distinct operation, so the count feels appropriate.
The tool set covers the core todo.txt lifecycle well: add, list, update, complete, delete, search, sort, filter, and metadata management. Minor gaps include no explicit undo/reopen-completed-task operation and no way to move tasks between lists, but these are not critical for a todo.txt integration.