任务管理服务器

一个基于Node.js、TypeScript和SQLite构建的全面任务管理MCP服务器,提供工具、资源和提示,用于通过Claude和其他MCP兼容客户端管理任务。

  • by Xczer
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Xczer/todo-mcp-server

使用说明

Todo MCP服务器

使用Node.js、TypeScript和SQLite构建的全面Todo/Task Manager MCP(模型上下文协议)服务器。此服务器提供工具、资源和提示,用于通过Claude和其他兼容MCP的客户端管理待办事项。

特性

🛠️ 工具(7个可用)

  • create_todo -创建带有标题、描述、优先级、截止日期和标签的新待办事项
  • 更新一切 -更新现有待办事项(任何字段)
  • 删除一切 -按ID删除待办事项
  • complete_todo -将待办事项标记为已完成
  • list_todos -列出带有过滤功能的待办事项(完成状态、优先级、标签、限制)
  • 搜索所有 -按标题、描述或标签搜索待办事项
  • get_todo_stats -获取全面的待办事项统计数据

📄 资源(9个可用)

  • todos://all -所有待办事项(JSON)
  • todos://completed -全部完成(JSON)
  • todos://pending -待定待办事项(JSON)
  • todos://overdue -Overdue All(JSON)
  • todos://todo/ {编号} -按ID指定待办事项(JSON)
  • todos://priority/{优先级} -按优先级排列的待办事项(JSON),具有自动补全功能
  • todos://tag/{标签} -标签待办事项(JSON),具有自动补全功能
  • todos://stats -待办事项统计数据(JSON)
  • todos://tags -所有可用标签(JSON)

💬 提示(5个可用)

  • create_todo_prompt -交互式待办事项创建
  • 每日回顾 -每日待办事项审查和规划
  • 周计划 -每周计划会议
  • 生产率分析 -分析生产力模式
  • 任务分解 -分解复杂任务

安装

  1. 克隆或创建项目目录:

    mkdir todo-mcp-server
    cd todo-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建项目:

    npm run build
    

用法

基本服务器操作

  1. 测试todo服务:

    npm run test
    
  2. 运行MCP服务器:

    npm start
    
  3. 开发模式(带文件监视):

    npm run dev
    

MCP检验员测试

  1. 启动检查器:

    npx @modelcontextprotocol/inspector node dist/index.js
    
  2. 打开web界面:

    • 按照终端输出中提供的URL进行操作
    • 使用提供的身份验证令牌

Claude桌面集成

将此配置添加到您的Claude Desktop配置文件中:

{
  "mcpServers": {
    "todo-manager": {
      "command": "node",
      "args": ["/path/to/todo-mcp-server/dist/index.js"],
      "env": {
        "TODO_DB_PATH": "/path/to/your/todos.db"
      }
    }
  }
}

配置

环境变量

  • TODO_DB_PATH:SQLite数据库文件的路径(默认值: todos.db 在当前目录中)

数据库

服务器使用SQLite和better squelite3进行数据持久化。数据库是使用以下架构自动创建的:

  • 全部 带字段的表:id、title、description、completed、priority、due_date、tags、created_at、updated_at
  • 最佳性能的完成状态、优先级、截止日期和创建日期索引

API示例

创建Todo

// Using the create_todo tool
{
  "title": "Review documentation",
  "description": "Read through the MCP protocol documentation",
  "priority": "high",
  "dueDate": "2024-06-27T10:00:00.000Z",
  "tags": ["work", "learning"]
}

过滤待办事项

// Using the list_todos tool
{
  "completed": false,
  "priority": "high",
  "limit": 10
}

资源访问

GET todos://pending          # All pending todos
GET todos://priority/high    # High priority todos
GET todos://tag/work         # Todos tagged with "work"
GET todos://stats            # Todo statistics

建筑

src/
├── database.ts        # SQLite database layer with better-sqlite3
├── index.ts          # Main server entry point
├── mcp-server.ts     # MCP server implementation
├── todo-service.ts   # Business logic layer
├── test.ts          # Test suite
└── types.ts         # TypeScript type definitions

关键组件

  1. TodoDatabase -使用better-sqlite3的直接SQLite接口
  2. 全服务 -具有验证和错误处理功能的业务逻辑
  3. TodoMcpServer -使用工具、资源和提示实现MCP协议

发展

脚本

  • npm run build -将TypeScript编译为JavaScript
  • npm run dev -文件监视开发模式
  • npm start -启动生产服务器
  • npm run test -运行测试套件

技术栈

  • 运行时:Node.js
  • 语言:TypeScript
  • 数据库:带better平方的SQLite 3
  • 协议:模型上下文协议(MCP)
  • 验证:Zod模式

测试

该项目包括全面的测试:

npm run test

这将:

  • 创建内存数据库
  • 测试所有CRUD操作
  • 验证搜索和筛选功能
  • 检查统计数据生成
  • 验证标签管理

故障排除

常见问题

  1. 数据库权限错误:确保目录可写
  2. 端口冲突:MCP服务器使用stdio,不需要端口
  3. TypeScript错误:运行 npm run build 检查编译问题

调试

通过设置启用调试日志记录:

export DEBUG=todo-mcp-server

许可证

MIT许可证-有关详细信息,请参阅许可证文件。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 确保所有测试通过
  5. 提交拉取请求

更新日志

v1.0.0

  • 初始版本
  • 使用工具、资源和提示完成MCP实施
  • 使用better-squarite3的SQLite数据库
  • 全面的测试套件
  • Node.js兼容性(从Bun迁移)