这是一个基于MCP概念实现的简单待办事项列表管理工具,借助JSON - RPC协议提供远程过程调用(RPC)接口,方便用户管理待办事项。
本项目是一个基于MCP概念的待办事项列表管理工具,通过JSON - RPC协议提供远程过程调用接口。下面将详细介绍其安装与运行步骤。
git clone https://github.com/yourusername/toyMCP-todo.git
cd toyMCP-todo
npm install
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
目录下查看报告。
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
}
(文档中此处原响应未给出,可根据实际情况补充)