MCP 数学 WebSocket 示例

MCP 数学 WebSocket 示例

基于 Cloudflare Workers 和 Durable Objects 的 MCP 协议实现,支持 WebSockets。

快速入门

前置条件

安装与部署

  1. 克隆仓库:
    git clone https://github.com/dinasaur404/math-mcp.git
    cd math-mcp
    
  2. 安装依赖:
    npm install
    
  3. 部署服务端:
    cd server
    wrangler deploy
    
  4. 部署客户端:
    cd ../client
    wrangler deploy
    
  5. 记录生成的 URL 以供后续使用。

使用方法

Web 界面

访问客户端 URL,连接到 MCP 服务器并运行数学运算。

编程接口

HTTP 示例

// 创建代理
const agentResponse = await fetch('https://your-server.workers.dev/agent', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'MathAgent' })
});
const { agentId } = await agentResponse.json();

// 发送请求
const result = await fetch('https://your-server.workers.dev/mcp', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    agentId,
    request: {
      method: 'add',
      params: { a: 5, b: 3 }
    }
  })
});

WebSocket 示例

// 建立 WebSocket 连接
const ws = new WebSocket(`wss://your-server.workers.dev/agent/${agentId}/websocket`);
ws.addEventListener('message', (event) => {
  console.log('收到:', JSON.parse(event.data));
});
ws.addEventListener('open', () => {
  ws.send(JSON.stringify({
    type: 'mcp_request',
    request: {
      method: 'add',
      params: { a: 5, b: 3 }
    }
  }));
});