mcpField
C
Calculator MCP Server 🧮

Calculator MCP Server 🧮

本地服务
github.com/xiaoyingv科研与教育364 周前更新

关于 Calculator MCP Server 🧮

Calculator MCP Server 是基于 Python AST 的表达式计算 MCP 服务,面向需要安全执行基础数学运算的 MCP 客户端。它支持常见算术和幂运算,并通过解析表达式提供错误防护。

主要功能

  1. 01支持四则运算与幂运算
  2. 02支持正负号
  3. 03格式化整数和小数结果
  4. 04通过 AST 解析表达式
  5. 05检查除零与幂运算错误

适用场景

  1. 01在 MCP 客户端中计算数学表达式
  2. 02执行带正负号的基础算术
  3. 03安全处理除零和无效表达式

MCP 相关

它向 MCP 客户端提供 `perform_calculation` 工具,用于计算表达式并返回格式化结果或错误信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

来自项目 README

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。