mcp-server-test
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"math-server": {
"args": [
"path/to/dist/index.js",
"http"
],
"command": "node",
"env": {
"PORT": "3000"
}
}
}
}
服务介绍
数学运算 MCP 服务器
这是一个提供基本数学运算加减乘除的 Model Context Protocol (MCP) 服务器
该服务器支持两种运行模式
- Stdio标准输入/输出默认
- HTTP支持 SSE 的 Streamable HTTP
前置要求
- Node.js (v18 或更高版本)
- npm
安装
- 克隆仓库
- 安装依赖
npm install - 构建项目
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
原因
- 无状态问题MCP 协议依赖内存状态来关联 SSE 连接和 POST 请求Vercel 的 Serverless 环境可能会将请求分发到不同的实例导致找不到会话的错误
- 连接超时MCP 需要长连接 (SSE)Vercel 函数有执行时间限制通常 10-60 秒超时后会强制断开连接
如果您执意尝试 Vercel
- 本项目已包含
vercel.json配置 - 在 Vercel 仪表盘中导入项目
- 确保
Framework Preset设置为Other - Build Command:
npm run build - Output Directory:
dist(或者留空)
推荐部署方式Docker / Render / Railway
推荐将服务器作为长运行的容器应用部署
使用 Docker 运行
-
构建镜像
docker build -t mcp-math-server . -
运行容器
docker run -p 3000:3000 mcp-math-server
部署到 Render/Railway/Heroku
- 将代码推送到 GitHub
- 在 Render/Railway 等平台上创建一个新的 "Web Service"
- 平台会自动检测
package.json和Dockerfile - 确保启动命令为
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