这是一个基于MCP(模型上下文协议)的服务器,提供基于简单Markdown文件的待办事项功能。该服务器允许AI助手以标准化的Markdown格式管理待办事项。
todo.md文件中,使用标准的复选框语法。npm install -g @danjdewhurst/todo-md-mcp
git clone https://github.com/danjdewhurst/todo-md-mcp.git
cd todo-md-mcp
npm install
npm run build
在你的Claude Desktop配置中添加此服务器:
{
"mcpServers": {
"todo-md": {
"command": "node",
"args": ["/path/to/todo-md-mcp/dist/index.js"]
}
}
}
或者如果通过NPM全局安装:
{
"mcpServers": {
"todo-md": {
"command": "npx",
"args": ["@danjdewhurst/todo-md-mcp"]
}
}
}
默认情况下,服务器会在当前工作目录中创建一个todo.md文件。当使用Claude Desktop时,这可能是你没有写权限的系统目录。为了指定待办事项文件的自定义位置,请使用TODO_FILE_PATH环境变量:
{
"mcpServers": {
"todo-md": {
"command": "npx",
"args": ["@danjdewhurst/todo-md-mcp"],
"env": {
"TODO_FILE_PATH": "/Users/yourname/Documents/todo.md"
}
}
}
}
这样可以解决常见的“只读文件系统”错误,确保待办事项文件创建在你有写权限的位置。
推荐位置:
~/Documents/todo.md - 你的文档文件夹~/Desktop/todo.md - 你的桌面/path/to/your/project/todo.md - 在特定项目内重要提示: 确保指定的目录存在并且你有写权限。
服务器提供了以下MCP工具:
list_todos列出所有待办事项。
参数: 无
返回值: 包含待办事项数组和汇总统计信息的JSON对象
add_todo添加一个新的待办事项。
参数:
text (字符串,必需):待办事项文本返回值: 创建的待办事项及其生成的ID
update_todo更新现有的待办事项。
参数:
id (字符串,必需):待办事项IDtext (字符串,可选):新的待办事项文本completed (布尔值,可选):标记为完成或未完成返回值: 更新后的待办事项
delete_todo删除待办事项。
参数:
id (字符串,必需):要删除的待办事项ID返回值: 成功确认
clear_completed移除所有已完成的待办事项。
参数: 无
返回值: 清除的项目数量
服务器管理项目根目录中的todo.md文件,格式如下:
# 待办事项列表
- [ ] 第一项未完成的任务 <!-- id:550e8400-e29b-41d4-a716-446655440000 -->
- [x] 已完成的任务 <!-- id:6ba7b810-9dad-11d1-80b4-00c04fd430c8 -->
- [ ] 另一项任务 <!-- id:6ba7b811-9dad-11d1-80b4-00c04fd430c8 -->
<!-- 由MCP待办事项服务器生成 -->
每个待办事项包括:
- [ ] 或 - [x])npm run build - 构建TypeScript项目npm run dev - 构建并运行服务器npm run watch - 监控更改并重新构建npm test - 运行测试套件npm run test:watch - 在监视模式下运行测试npm run lint - 运行ESLintnpm run format - 使用Prettier格式化代码该项目包含覆盖所有功能的综合测试:
npm test
测试涵盖:
todo-md-mcp/
├── src/
│ ├── index.ts # 主MCP服务器实现
│ ├── todoManager.ts # 待办事项CRUD操作和Markdown解析
│ └── types.ts # TypeScript类型定义
├── tests/
│ └── todoManager.test.ts # 测试套件
├── dist/ # 构建的JavaScript文件
├── package.json
├── tsconfig.json
├── .eslintrc.json
├── .prettierrc
├── vitest.config.ts
└── README.md
MIT
此服务器实现了模型上下文协议(MCP),这是一种开放协议,标准化了应用程序如何向大型语言模型提供上下文。MCP使安全、受控访问本地和远程资源成为可能。
有关MCP的更多信息,请访问官方文档。