README
🚀 玩具MCP待办事项列表服务器
这是一个基于MCP概念实现的简单待办事项列表管理工具,借助JSON - RPC协议提供远程过程调用(RPC)接口,方便用户管理待办事项。
🚀 快速开始
本项目是一个基于MCP概念的待办事项列表管理工具,通过JSON - RPC协议提供远程过程调用接口。下面将详细介绍其安装与运行步骤。
📦 安装指南
先决条件
- Node.js(建议使用版本16或更高)
- npm(建议使用版本7或更高)
- Docker(用于PostgreSQL容器化部署)
安装步骤
- 克隆仓库
git clone https://github.com/yourusername/toyMCP-todo.git
cd toyMCP-todo
- 安装依赖
npm install
- 启动PostgreSQL数据库容器
docker run -d --name todo-mcp-postgres -e POSTGRES_PASSWORD=yourpassword -p 5432:5432 postgres:latest
- 初始化数据库表结构
npm run init-database
- 启动服务
npm start
🔧 清洁启动脚本
为了方便重新初始化数据库和服务器环境,项目提供了一个清洁启动脚本:
npm run clean-start
这个命令会自动清理数据库、重建表结构并重启服务。
🧪 测试
单元测试
运行单元测试以验证核心功能是否正常工作:
npm test
集成测试
集成测试用于验证各个模块之间的协作:
npm run integration-test
覆盖率报告
生成代码覆盖报告,帮助开发者了解测试的充分性:
npm run coverage
完成后,可以在./coverage目录下查看报告。
📄 API文档
方法列表
mcp.discover:返回所有可用方法的信息。todo.add:添加一个新的待办事项。todo.list:获取所有的待办事项。todo.remove:根据ID删除指定的待办事项。
请求与响应示例
发现方法(mcp.discover)
请求:
{
"jsonrpc": "2.0",
"method": "mcp.discover",
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"name": "玩具MCP待办事项服务",
"version": "1.0.0",
"methods": [
{
"name": "mcp.discover",
"params": {},
"description": "返回所有可用方法的信息"
},
{
"name": "todo.add",
"params": {"text": "string"},
"description": "添加一个新的待办事项"
}
]
},
"id": 1
}
添加待办事项(todo.add)
请求:
{
"jsonrpc": "2.0",
"method": "todo.add",
"params": {
"text": "安装Node.js"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": {
"id": 1,
"text": "安装Node.js",
"createdAt": "2024-03-15T12:34:56Z"
},
"id": 1
}
获取所有待办事项(todo.list)
请求:
{
"jsonrpc": "2.0",
"method": "todo.list",
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"id": 1,
"text": "安装Node.js",
"createdAt": "2024-03-15T12:34:56Z"
},
{
"id": 2,
"text": "学习Docker",
"createdAt": "2024-03-15T12:35:12Z"
}
],
"id": 1
}
删除待办事项(todo.remove)
请求:
{
"jsonrpc": "2.0",
"method": "todo.remove",
"params": {
"id": 1
},
"id": 1
}
(文档中此处原响应未给出,可根据实际情况补充)
Scan to contact