Skip to content

wxt2rr/mcp-server-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

数学运算 MCP 服务器

这是一个提供基本数学运算(加、减、乘、除)的 Model Context Protocol (MCP) 服务器。

该服务器支持两种运行模式:

  1. Stdio:标准输入/输出(默认)
  2. HTTP:支持 SSE 的 Streamable HTTP

前置要求

  • Node.js (v18 或更高版本)
  • npm

安装

  1. 克隆仓库
  2. 安装依赖:
    npm install
  3. 构建项目:
    npx tsc

使用方法

1. Stdio 模式(默认)

当与通过子进程启动服务器的 MCP 客户端(如 Claude Desktop, Trae)集成时使用此模式。

node dist/index.js
# 或者
node dist/index.js stdio

2. HTTP 模式(Streamable HTTP & SSE)

此模式启动一个支持 Streamable HTTP 和 SSE (Server-Sent Events) 的 HTTP 服务器。

node dist/index.js http

服务器将在 3000 端口启动(默认)。

  • 端点:http://localhost:3000/mcp

部署

⚠️ 关于 Vercel 部署的重要警告

虽然本项目已配置了 vercel.json 以支持部署,但 强烈不推荐 将此 MCP 服务器部署到 Vercel Serverless Functions。

原因:

  1. 无状态问题:MCP 协议依赖内存状态来关联 SSE 连接和 POST 请求。Vercel 的 Serverless 环境可能会将请求分发到不同的实例,导致“找不到会话”的错误。
  2. 连接超时:MCP 需要长连接 (SSE)。Vercel 函数有执行时间限制(通常 10-60 秒),超时后会强制断开连接。

如果您执意尝试 Vercel:

  1. 本项目已包含 vercel.json 配置。
  2. 在 Vercel 仪表盘中导入项目。
  3. 确保 Framework Preset 设置为 Other
  4. Build Command: npm run build
  5. Output Directory: dist (或者留空)

✅ 推荐部署方式:Docker / Render / Railway

推荐将服务器作为长运行的容器应用部署。

使用 Docker 运行

  1. 构建镜像:

    docker build -t mcp-math-server .
  2. 运行容器:

    docker run -p 3000:3000 mcp-math-server

部署到 Render/Railway/Heroku

  1. 将代码推送到 GitHub。
  2. 在 Render/Railway 等平台上创建一个新的 "Web Service"。
  3. 平台会自动检测 package.jsonDockerfile
  4. 确保启动命令为 npm start(默认已配置)。

部署后如何请求接口

部署完成后(假设域名为 https://your-app.vercel.app),您的 MCP Endpoint 地址将是: https://your-app.vercel.app/mcp

1. 使用测试客户端

您可以使用本项目提供的测试客户端进行连接测试:

# 格式:node dist/test-client.js http <YOUR_DEPLOYED_URL>
node dist/test-client.js http https://your-app.vercel.app/mcp

2. 集成到 Claude Desktop / Trae

如果您的客户端支持 SSE 连接,配置如下:

{
  "mcpServers": {
    "math-server": {
      "command": "node",
      "args": ["path/to/dist/index.js", "http"], 
      "env": {
        "PORT": "3000"
      }
    }
  }
}

注意:目前大多数 MCP 客户端(如 Claude Desktop)主要支持 Stdio 模式,对 HTTP/SSE 的支持可能需要特定的配置或适配器。

工具 (Tools)

服务器提供一个名为 calculate 的工具,包含以下参数:

  • operation:操作类型,可选 "add"(加), "subtract"(减), "multiply"(乘), "divide"(除)
  • a:第一个数字
  • b:第二个数字

测试

项目中包含一个测试客户端,用于验证两种模式。

测试 HTTP 模式(请先确保服务器已启动):

# 终端 1:启动服务器
node dist/index.js http

# 终端 2:运行客户端
node dist/test-client.js http

测试 Stdio 模式:

node dist/test-client.js stdio

About

mcp-server-test

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published