计算器 MCP(Model Context Protocol)服务器是一个基于 Gradio 库实现的在线计算器应用。该服务提供了一个功能完善的计算器,具有直观的 Web 界面,可以通过浏览器进行访问和使用。
- 数字输入:支持 0-9 数字按键输入
- 基本运算:加法(+)、减法(-)、乘法(*)、除法(/)
- 小数点:支持小数点输入
- 等号:计算表达式结果
- 清除(C):清除所有输入和操作栈
- 清除当前输入(CE):仅清除当前输入,保留操作栈
- 退格(⌫):删除最后一个输入的字符
- 正负号切换(+/-):切换当前输入的正负号
- 平方根(√):计算当前输入的平方根
- 平方(x²):计算当前输入的平方
- 倒数(1/x):计算当前输入的倒数
- 百分比(%):将当前输入转换为百分比形式(除以100)
- 内存清除(MC):清除存储在内存中的值
- 内存调用(MR):调用存储在内存中的值
- 内存加法(M+):将当前输入加到内存值
- 内存减法(M-):从内存值中减去当前输入
- 内存存储(MS):将当前输入存储到内存
- 状态查询:显示计算器的当前完整状态,包括当前输入、操作栈、内存值等
计算器服务基于以下核心组件构建:
-
Calculator 类:实现计算器的核心逻辑和状态管理
- 维护计算器状态(当前输入、操作栈、内存等)
- 提供各种计算方法和操作函数
- 处理错误情况和异常
-
Gradio 界面:
- 提供直观的 Web 用户界面
- 将用户操作绑定到计算器功能
- 实时显示计算结果和状态
- Python 3.7 或更高版本
- 安装所需的依赖包
使用以下命令安装所需依赖:
pip install -r requirements.txt或直接安装主要依赖:
pip install gradio>=3.50.0- 确保已安装所有依赖
- 运行以下命令启动服务器:
python calculator_mcp_server.py{ "mcpServers": { "MCP_CALCULATOR_SERVER": { "type": "sse", "url": "" } } }
calculator_mcp_server_config = { "transport": "sse", "url": "" }
mcp_client = MultiServerMCPClient( { 'calculator_mcp': calculator_mcp_server_config, # 可以在这里添加更多MCP服务器配置 } )
calculator
这是一个功能完善的计算器MCP服务,提供基础计算、高级数学运算和内存功能。 你可以执行加减乘除等基本运算,也可以计算平方根、平方、倒数和百分比等高级运算。 此外,还支持内存操作功能,可以存储、调用、增加和减少内存中的值。 使用方法:输入数学表达式或选择相应的计算功能。
在命令行中按 Ctrl+C 可以停止服务器运行。
- 计算器使用
eval()函数进行表达式计算,在生产环境中应考虑更安全的替代方案 - 默认配置允许从任何IP访问服务,如需限制访问,请修改监听地址
- 启用共享模式会生成公共URL,如有安全顾虑,请设置
share=False