使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的简单 ToDo 应用后端服务器。它允许 LLM 客户端通过 MCP 协议管理待办事项列表。你可以使用自然语言指令,借助 LLM 客户端与该服务器交互,例如添加新的待办事项、查看现有事项、标记完成事项或删除不再需要的任务。

主要功能点

  • 创建待办事项 (Add ToDo): 允许用户添加新的待办事项到列表中。
  • 查看待办事项列表 (List ToDos): 获取当前所有的待办事项,并显示其ID、内容和完成状态。
  • 标记待办事项为完成 (Complete ToDo): 将指定ID的待办事项标记为已完成。
  • 删除待办事项 (Delete ToDo): 从列表中永久删除指定ID的待办事项。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/bizprat/model-context-provider-server.git
    cd model-context-provider-server
  2. 安装依赖: 确保你已安装 Node.js 和 npm。在项目根目录下运行:
    npm install
  3. 构建项目:
    npm run build

服务器配置

为了让 MCP 客户端连接到此服务器,你需要提供以下配置信息。这是一个 JSON 格式的配置示例,你需要在你的 MCP 客户端应用中进行配置。

{
  "serverName": "TODO",
  "command": "node",
  "args": [
    "dist/index.js"
  ],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器名称,这里设置为 'TODO',与服务器代码中定义的一致。
  • 'command': 启动服务器的命令,由于这是一个 Node.js 项目,所以使用 'node' 命令来运行 JavaScript 文件。
  • 'args': 命令的参数,这里指定了服务器入口文件 'dist/index.js' 的路径。请注意,构建项目后,JavaScript 文件位于 'dist' 目录下。
  • 'transport': 传输协议,这里使用 'stdio',表示标准输入输出流。

重要提示:

  • 确保你的 MCP 客户端支持 'stdio' 传输协议。
  • 'dist/index.js' 文件是项目构建后的服务器入口文件,请在完成安装步骤中的 构建项目 后再进行配置。
  • 客户端配置时,请根据你的实际环境调整 'command' 和 'args',例如 Node.js 的安装路径等。

基本使用方法

  1. 启动服务器: 在项目根目录下,运行以下命令启动 MCP 服务器:

    npm run start

    服务器成功启动后,你会在控制台看到 'Server is running...' 的提示信息。

  2. 使用 MCP 客户端与服务器交互: 配置你的 MCP 客户端,使其连接到正在运行的 ToDo MCP 服务器。客户端可以使用以下预定义的工具 (Tools) 与服务器进行交互:

    • 'add-todo': 添加新的待办事项。客户端需要提供 'text' 参数,例如:
      {
        "tool_call_id": "tool_call_1",
        "tool_name": "add-todo",
        "tool_input": {
          "text": "购买牛奶"
        }
      }
    • 'get-todos': 获取所有待办事项列表。无需参数。
      {
        "tool_call_id": "tool_call_2",
        "tool_name": "get-todos",
        "tool_input": {}
      }
    • 'complete-todo': 标记待办事项为完成。客户端需要提供 'id' 参数,指定要完成的待办事项的 ID。例如:
      {
        "tool_call_id": "tool_call_3",
        "tool_name": "complete-todo",
        "tool_input": {
          "id": 1
        }
      }
    • 'delete-todo': 删除待办事项。客户端需要提供 'id' 参数,指定要删除的待办事项的 ID。例如:
      {
        "tool_call_id": "tool_call_4",
        "tool_name": "delete-todo",
        "tool_input": {
          "id": 2
        }
      }

    客户端发送符合 MCP 协议的 JSON-RPC 请求到服务器,服务器会处理请求并返回 JSON-RPC 响应。你可以通过 LLM 客户端的界面或日志查看服务器的响应结果。

信息

分类

生产力应用