基于 Python AST 的安全表达式计算器 MCP 服务,支持基本数学运算和错误防护机制。
+, -, *, /)**)+5, -3)eval)pip install mcp-calculate-server
from mcp.server.fastmcp import FastMCP
# 启动计算器服务
calculator = FastMCP("CalculatorServer")
calculator.run(transport='stdio')
perform_calculation(expression: str) -> str接收数学表达式字符串并返回格式化的结果或错误信息
>>> perform_calculation("5+3")
"🧮 计算结果:5+3 = 8"
>>> perform_calculation("10/3")
"🧮 计算结果:10/3 = 3.333333333333333"
>>> perform_calculation("10**20")
"🧮 计算结果:10**20 = 100000000000000000000"
>>> perform_calculation("2**3")
"🧮 计算结果:2**3 = 8"
>>> perform_calculation("10/0")
"❌ 错误:除数不能为零"
>>> perform_calculation("0**-1")
"❌ 错误:零的负数次幂未定义"
>>> perform_calculation("(-1)**0.5")
"❌ 错误:负数的非整数次幂未定义"
| 运算符 | 描述 | 示例 |
|---|---|---|
| + | 加法 | 3+4 |
| - | 减法 | 5-2 |
| * | 乘法 | 6*7 |
| / | 除法 | 8/2 |
| ** | 幂运算 | 2**3 |
| -x | 取负 | -5 |
| +x | 取正 | +3 |
| 错误类型 | 示例输出 |
|---|---|
| 语法错误 | ❌ 表达式语法错误:意外的 EOF |
| 不支持的运算符 | ❌ 不支持的运算符:取模 |
| 零错误 | ❌ 错误:除数不能为零 |
| 非法操作数类型 | TypeError: 不支持的常量类型 |
| 零的负数次幂 | ❌ 错误:零的负数次幂未定义 |
| 负数的非整数次幂 | ❌ 错误:负数的非整数次幂未定义 |
mcp-server 库(自动安装)MIT 许可证,详情见 LICENSE
GitHub: https://github.com/xiaoyingv/mcp_calculate_server
欢迎提交 PR 和报告问题。提交前请阅读 CONTRIBUTING.md