TodoList MCP服务器
一个全面的Python MCP服务器,用于管理ToDoList(.tdl)XML文件。此服务器为ToDoList应用程序格式的任务提供完整的CRUD操作,允许您以编程方式管理任务,同时保持与ToDoList桌面应用程序的兼容性。
特性
- 完整的CRUD操作:创建、读取、更新和删除任务
- 分层任务支持:处理嵌套任务和子任务
- 元数据:支持优先级、截止日期、类别、任务和进度跟踪
- 搜索和筛选:按各种标准进行高级任务筛选
- ToDoList兼容性:与ToDoList应用程序XML格式完全兼容
- 实时同步:适用于实时ToDoList文件
先决条件
- Python 3.7或更高版本
- ToDoList应用程序(用于创建.tdl文件)
安装
- 克隆此存储库:
git clone https://github.com/yourusername/todolist-mcp.git
cd todolist-mcp- 安装依赖项:
pip install -r requirements.txt配置
默认情况下,服务器会监视 D:\Projects\mylist.tdl。您可以通过修改 DEFAULT_TDL_FILE 常数in tdl_mcp_server.py.
用法
启动服务器
python tdl_mcp_server.py可用工具
任务管理
get_my_tasks:从主ToDoList文件中获取所有任务get_today_tasks:获取今天(或特定日期)到期的任务add_task:使用完整元数据创建新任务update_task:更新现有任务move_task:将任务移动到层次结构中的不同位置get_task:获取特定任务的详细信息
搜索和筛选
search_tasks:按各种条件搜索和筛选任务
文件操作
get_file_status:检查ToDoList文件状态和统计信息read_any_tdl_file:从任何.tdl文件读取任务analyze_structure:分析ToDoList文件的XML结构
MCP配置示例
添加到MCP客户端配置中:
{
"mcpServers": {
"todolist": {
"command": "python",
"args": ["path/to/todolist-mcp/tdl_mcp_server.py"]
}
}
}api参考
任务操作
任务
add_task({
"title": "Complete project documentation",
"description": "Write comprehensive README files",
"due_date": "2024-12-31",
"priority": "High",
"category": "Documentation"
})更新任务
update_task({
"task_id": "123",
"percent_done": 75,
"allocated_to": "John Doe",
"priority": "Above Normal"
})搜索任务
search_tasks({
"search_term": "documentation",
"category": "Work",
"completed": false,
"priority": "High"
})任务属性
| 属性 | 类型 | 描述 |
|---|---|---|
title | string | 任务标题 |
description | string | 详细任务描述 |
due_date | string | 截止日期(YYYY-MM-DD格式) |
priority | enum | 低、低于正常、正常、高于正常、高、紧急 |
category | string | 任务类别或项目 |
allocated_to | string | 分配给任务的人员 |
percent_done | integer | 完成百分比(0-100) |
position | string | 层次位置(例如“1.2.3”) |
项目结构
todolist-mcp/
├── tdl_mcp_server.py # Main MCP server
├── requirements.txt # Python dependencies
├── test_server.py # Server tests
├── test_update_functionality.py # Update functionality tests
├── claude_desktop_config.json # Example MCP configuration
├── Introduction.tdl # Sample ToDoList file
└── README.md # This fileToDoList文件格式
服务器使用ToDoList的原生XML格式(.tdl文件)。主要特点:
- 层次结构:任务可以有无限的嵌套子任务
- 元数据:支持所有ToDoList字段和属性
- 位置跟踪:维护任务顺序和层次结构
- 兼容性:文件与ToDoList应用程序完全兼容
任务结构示例
Work
John Doe
测试
运行测试套件:
python test_server.py
python test_update_functionality.py与ToDoList应用程序集成
此MCP服务器旨在与ToDoList桌面应用程序协同工作:
- 实时编辑:修改ToDoList打开的文件
- 实时更新:更改立即出现在ToDoList中
- 备份安全:ToDoList维护自动备份
- 格式保存:保留所有ToDoList特定的格式
高级功能
分层任务管理
- 创建嵌套任务结构
- 在层次结构级别之间移动任务
- 维护亲子关系
职位管理
# Add task at specific position
add_task({"title": "New Task", "position": "1.2.3"})
# Move task to new location
move_task({"task_id": "123", "new_position": "2.1"})灵活搜索
# Complex search example
search_tasks({
"search_term": "urgent",
"category": "Work",
"priority": "High",
"completed": false,
"assigned_to": "John"
})错误处理
服务器提供全面的错误处理:
- 文件验证和格式检查
- 任务ID验证
- 日期格式验证
- 层次结构一致性检查
性能注意事项
- 文件大小:针对大型ToDoList文件(1000+个任务)进行了优化
- 内存使用:高效的XML解析和操作
- 并发访问:与运行的ToDoList应用程序一起使用是安全的
故障排除
常见问题
- 文件访问:确保.tdl文件存在并且可访问
- XML格式:验证文件是否为有效的ToDoList XML格式
- 权限:检查文件写入权限
- ToDoList锁:如果遇到文件锁定问题,请关闭ToDoList
调试模式
启用详细日志记录:
python -u tdl_mcp_server.py贡献
- 分叉存储库
- 创建要素分支
- 添加新功能的测试
- 确保ToDoList兼容性
- 提交拉取请求
许可证
根据Apache许可证2.0授权。有关详细信息,请参阅LICENSE文件。
支持
有关问题和疑问,请在GitHub上打开问题。
更新日志
v0.4.0
- 增加了全面的任务管理
- 改进的分层支持
- 增强的搜索功能
- 更好的错误处理
v0.3.0
- 添加了更新功能
- 职位管理
- 文件状态检查
v0.2.0版本
- 初始CRUD操作
- 基本搜索功能
v0.1.0
- 初始版本
- 只读操作
