bachai-mcp-calculator
v1.0.0
Published
一个基于 SSE 的计算器 MCP 服务器
Maintainers
Readme
MCP 计算器服务器
一个基于 SSE (Server-Sent Events) 的 Model Context Protocol 计算器服务器,运行在 8000 端口。
功能特性
✨ 支持的计算操作:
- ➕ 加法 (add): 计算两个数的和
- ➖ 减法 (subtract): 计算两个数的差
- ✖️ 乘法 (multiply): 计算两个数的积
- ➗ 除法 (divide): 计算两个数的商
- 🔢 幂运算 (power): 计算 a 的 b 次方
- √ 平方根 (sqrt): 计算一个数的平方根
- 🎯 阶乘 (factorial): 计算非负整数的阶乘
- 👤 启动者信息 (get_operator_info): 查看服务器启动者和配置信息
🔒 安全特性:
- 必须设置启动者姓名才能启动服务器
- 环境变量验证,确保配置正确
技术栈
- 🚀 Node.js + TypeScript
- 📡 SSE (Server-Sent Events) 传输协议
- 🌐 Express 作为 HTTP 服务器
- 🔧 MCP SDK (@modelcontextprotocol/sdk)
安装
# 安装依赖
npm install
# 构建项目
npm run build配置
⚠️ 必须设置环境变量才能启动服务器!
创建 .env 文件:
cp .env.example .env编辑 .env 文件,设置启动者姓名:
# 启动者姓名(必需)
OPERATOR_NAME=张三
# 服务器端口
PORT=8000
# Node 环境
NODE_ENV=development运行
# 启动服务器
npm start
# 或者直接在命令行设置环境变量
OPERATOR_NAME=张三 npm start
# 开发模式(自动重新构建)
npm run dev服务器将运行在 http://localhost:8000
API 端点
健康检查
GET http://localhost:8000/health返回服务器状态信息。
SSE 连接
GET http://localhost:8000/sse建立 SSE 连接,用于 MCP 通信。
使用示例
连接到服务器
// 客户端连接示例
const eventSource = new EventSource('http://localhost:8000/sse');
eventSource.onmessage = (event) => {
console.log('收到消息:', event.data);
};可用工具
加法运算
{ "name": "add", "arguments": { "a": 10, "b": 5 } }返回:
10 + 5 = 15减法运算
{ "name": "subtract", "arguments": { "a": 10, "b": 5 } }返回:
10 - 5 = 5乘法运算
{ "name": "multiply", "arguments": { "a": 10, "b": 5 } }返回:
10 × 5 = 50除法运算
{ "name": "divide", "arguments": { "a": 10, "b": 5 } }返回:
10 ÷ 5 = 2幂运算
{ "name": "power", "arguments": { "a": 2, "b": 3 } }返回:
2^3 = 8平方根
{ "name": "sqrt", "arguments": { "a": 16 } }返回:
√16 = 4阶乘
{ "name": "factorial", "arguments": { "n": 5 } }返回:
5! = 120获取启动者信息
{ "name": "get_operator_info", "arguments": {} }返回服务器信息,包括启动者姓名、版本、端口等
项目结构
mcp-calculator/
├── src/
│ └── index.ts # 主服务器文件
├── dist/ # 编译输出目录
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
└── README.md开发
# 监听文件变化,自动重新编译
npm run watch
# 在另一个终端运行
npm start许可证
MIT
