Skip to main content

Calculator MCP Server 🧮

PyPI version License Python Version

基于 Python AST 的安全表达式计算器 MCP 服务,支持基础数学运算和错误防护机制。

功能特性

  • ✅ 支持加减乘除四则运算(+, -, *, /)
  • ✅ 支持幂运算(**)
  • ✅ 支持正负号处理(+5, -3)
  • ✅ 智能格式化计算结果:
    • 整数结果直接显示整数
    • 小数结果保留最多15位有效数字
    • 自动去除末尾多余的零
  • ⚠️ 安全防护:
    • 拦截代码注入风险(通过 AST 解析而非 eval)
    • 除零错误防护
    • 语法错误提示
    • 类型安全检查
    • 幂运算安全检查

安装方式

pip install mcp-calculate-server

快速使用

from mcp.server.fastmcp import FastMCP

# 启动计算器服务
calculator = FastMCP("CalculatorServer")
calculator.run(transport='stdio')

API 接口

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

错误码说明

错误类型 示例输出
语法错误 ❌ 表达式语法错误:unexpected EOF
不支持的运算符 ❌ 不支持的运算符:Mod
除零错误 ❌ 错误:除数不能为零
非法操作数类型 TypeError: 不支持的常量类型
零的负数次幂 ❌ 错误:零的负数次幂未定义
负数的非整数次幂 ❌ 错误:负数的非整数次幂未定义

依赖环境

  • Python 3.13+
  • mcp-server 库(自动安装)

开源协议

MIT License,详情见 LICENSE

源码地址

GitHub: https://github.com/xiaoyingv/mcp_calculate_server

贡献指南

欢迎提交 PR 和报告 issue,提交前请阅读 CONTRIBUTING.md

Metadata

Release files for mcp-calculate-server 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-calculate-server 1.0.0
File Size Uploaded Provenance
mcp_calculate_server-1.0.0.tar.gz 4.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-calculate-server 1.0.0
File Interpreter ABI Platform
mcp_calculate_server-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.8 kB

Release files / mcp_calculate_server-1.0.0.tar.gz

Download URL mcp_calculate_server-1.0.0.tar.gz
Size 4.5 kB
Tags Source
SHA-256 checksum
How to use checksums
4b7e9cb3e92caef1c0397379b075ea7cfe46161cd3118e1843ca3bd6806fd4a1
BLAKE2b-256 checksum
How to use checksums
e1efc6a116fe1755a1d61ff39e19f400ecce85463ba3c4b6d7cf537bee7236ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Release files / mcp_calculate_server-1.0.0-py3-none-any.whl

Download URL mcp_calculate_server-1.0.0-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f42fd742eb3d43010fb039cd4ddb2b5383ff40b2cb37540d41fcbf125d350720
BLAKE2b-256 checksum
How to use checksums
d5168fb7b49a0a40d831052d079663f906976e03c15cad22ca529fe887aa9223
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.3

Security for mcp-calculate-server 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page