使用说明

项目简介

math-mcp 仓库是一个 Model Context Protocol (MCP) 服务器的参考实现,它演示了如何使用 Cloudflare Workers 和 Durable Objects 构建一个通过 WebSockets 提供数学计算服务的后端应用。该项目包含完整的客户端和服务端代码,展示了 MCP 协议在 WebSocket 传输协议下的应用,以及如何利用 Durable Objects 实现状态持久化的会话管理。

主要功能点

  • MCP 协议实现: 完整实现了 MCP 协议,能够处理 MCP 客户端的请求和响应。
  • WebSocket 支持: 使用 WebSocket 作为主要通信协议,提供双向、实时的通信能力。
  • 数学工具集: 内置了多种数学计算工具,如加法、减法、乘法、除法、平方根、三角函数、对数等。
  • 工具发现: 支持 MCP 客户端通过 'discover' 方法动态发现服务器提供的工具列表及其参数。
  • 持久化会话: 利用 Cloudflare Durable Objects 实现用户会话的持久化,保持会话状态。
  • Cloudflare Workers 部署: 易于部署到 Cloudflare Workers 平台,利用其全球 CDN 和 Serverless 架构。
  • 示例客户端: 提供了一个基于 HTML/JS 的客户端,方便用户在浏览器中体验和测试 MCP 服务器的功能。

安装步骤

  1. 安装 Prerequisites: 确保已安装 Node.js (v18 或更高版本)、Wrangler (Cloudflare Workers CLI) 和拥有 Cloudflare 账户。
  2. 克隆仓库:
    git clone https://github.com/dinasaur404/math-mcp
    cd math-mcp
  3. 安装依赖:
    npm install
  4. 部署服务端:
    cd server
    wrangler deploy
  5. 部署客户端:
    cd ../client
    wrangler deploy
  6. 记录部署 URL: 请记录服务端和客户端部署后 Cloudflare Workers 分配的 URL,后续使用需要用到服务端 URL。

服务器配置

对于 MCP 客户端,您需要配置连接到此 MCP 服务器的信息。以下是一个 JSON 格式的配置示例,您需要将 'YOUR_DEPLOYED_SERVER_WORKER_URL' 替换为您服务端部署后获得的 URL。

{
  "serverName": "Math MCP Server",
  "serverURL": "YOUR_DEPLOYED_SERVER_WORKER_URL", // 替换为服务端 Worker 的 URL,例如:https://your-server.workers.dev
  "transportProtocol": "WebSocket" // 使用 WebSocket 协议进行通信
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,可以自定义。
  • 'serverURL': 必须配置。这是您部署的 MCP 服务器的 URL 地址,MCP 客户端将通过此 URL 与服务器建立连接。
  • 'transportProtocol': 指定传输协议,这里配置为 '"WebSocket"',表明客户端将使用 WebSocket 与服务器通信。

基本使用方法

  1. 访问客户端: 在浏览器中打开客户端部署后获得的 URL。
  2. 配置服务器 URL: 在客户端页面中,将 "MCP Server URL" 输入框的值替换为您服务端部署后获得的 URL。
  3. 连接服务器: 点击 "Connect" 按钮连接到 MCP 服务器。连接成功后,连接状态指示器会变为绿色,并显示 "Connected"。
  4. 使用数学工具:
    • 在 "Basic Math" 或 "Advanced Math" 部分选择要执行的数学运算。
    • 输入相应的参数数值。
    • 点击 "Calculate" 按钮执行计算。结果将显示在 "Result will appear here" 区域。
  5. 工具发现: 点击 "Discover Tools" 按钮,可以查看服务器提供的所有数学工具及其详细描述和参数信息。
  6. 查看日志: "Connection Log" 区域会显示 WebSocket 连接的日志信息,包括发送和接收的消息,方便调试和监控。

通过以上步骤,您就可以体验和使用这个基于 WebSocket 的 Math MCP Server 示例。

信息

分类

AI与计算