任务管理器MCP服务器
一种创造性的模型上下文协议(MCP)服务器,具有用于任务管理的内存数据库。此服务器提供用于管理用户、项目、任务、标记和评论的工具、资源和提示。
特性
- 🗄️ 内存数据库:使用JavaScript对象进行快速、轻量级的数据存储
- 🛠️ 丰富的工具集:20多种CRUD操作、搜索和分析工具
- 📚 资源:访问用户、项目、任务、标签和统计信息
- 💬 提示词:用于常见操作的预构建模板
- 🧪 经过全面测试:Vitest的全面测试套件
- 📝 类型安全:具有严格类型的完全TypeScript支持
技术栈
- TypeScript -类型安全开发
- pnpm -快速、高效的包管理器
- ESLint -代码linting
- 更漂亮 -代码格式
- Vitest -测试框架
- TSX -TypeScript执行
- @模型上下文协议/sdk -MCP-SDK
安装
# Install dependencies
pnpm install
# Build the project
pnpm build
# Run in development mode
pnpm dev
# Run tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Format code
pnpm format
# Lint code
pnpm lint数据模型
用户
id:唯一标识符name:全名email:电子邮件地址role:admin |用户|查看器createdAt,updatedAt:时间戳
项目
id:唯一标识符name:项目名称description:项目描述ownerId:所有者用户IDstatus:活动|已存档|已完成createdAt,updatedAt:时间戳
任务
id:唯一标识符title:任务标题description:任务描述projectId:关联的项目IDassigneeId:分配的用户ID(可以为空)status:todo|进行中|审核|完成priority:低|中|高|紧急dueDate:截止日期(可以为空)tags:标签ID数组createdAt,updatedAt:时间戳
标签
id:唯一标识符name:标签名称color:十六进制颜色代码createdAt:时间戳
评论
id:唯一标识符taskId:关联的任务IDuserId:评论作者IDcontent:评论文本createdAt,updatedAt:时间戳
工具
用户管理
create_user-创建新用户get_user-按ID获取用户list_users-列出所有用户
项目管理
create_project-创建新项目get_project-按ID获取项目list_projects-列出所有项目(可选择按所有者筛选)
任务管理
create_task-创建新任务get_task-按ID获取任务list_tasks-列出带有筛选器的任务(项目、受让人、状态、标签)update_task-更新任务属性delete_task-删除任务search_tasks-按标题/描述搜索任务
标签管理
create_tag-创建新标签list_tags-列出所有标签
评论
add_comment-向任务添加注释get_task_comments-获取任务的所有评论
分析
get_task_statistics-获取总体任务统计信息get_project_statistics-获取特定项目的统计数据
资源
通过MCP资源访问数据:
task-manager://users-所有用户task-manager://projects-所有项目task-manager://tasks-所有任务task-manager://tags-所有标签task-manager://statistics-任务统计
提示词
常见操作的预构建提示:
- create_task_template -使用最佳实践创建任务的模板
- task_status_update -用于通过验证更新任务状态的模板
- 项目_总结 -生成全面的项目摘要
- 用户工作负载 -分析用户工作负载和任务分配
- 紧急任务报告 -生成紧急和逾期任务报告
用法示例
服务器预先填充了示例数据:
- 2名用户(Alice和Bob)
- 1个项目(Web应用程序)
- 2个任务(设计UI,修复登录错误)
- 3个标签(前端、后端、bug)
- 1条评论
您可以使用任何兼容MCP的客户端与服务器进行交互。
发展
项目结构
src/
├── index.ts # Main MCP server implementation
├── database.ts # In-memory database with all operations
├── types.ts # TypeScript type definitions
└── database.test.ts # Test suite添加新功能
- 将类型添加到
src/types.ts如有需要 - 将数据库操作添加到
src/database.ts - 向添加工具/资源/提示
src/index.ts - 将测试添加到
src/database.test.ts
测试
单元测试
# Run all tests
pnpm test
# Run tests in watch mode
pnpm test:watch
# Run with coverage
pnpm test:coverageMCP检验员测试
您可以使用MCP检查器工具交互式测试MCP服务器:
pnpm build && npx @modelcontextprotocol/inspector node dist/index.js注: 使用检查器时,始终使用内置服务器(node dist/index.js)而不是 pnpm dev,因为pnpm的输出会干扰stdio上的JSON-RPC通信。
检查员将打开一个web界面,您可以在其中:
- 浏览所有可用工具
- 具有不同参数的测试工具
- 查看资源
- 尝试提示
- 查看请求/响应详细信息
许可证
麻省理工学院
