mcpField
M
Mcp Math Calculator

Mcp Math Calculator

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

关于 Mcp Math Calculator

Mcp Math Calculator 是为 AI 客户端提供数学表达式计算的 MCP 服务。它支持精确小数、大数、复杂表达式和科学函数,并通过受限解析与超时保护执行计算。

主要功能

  1. 01精确小数运算
  2. 02支持超出安全范围的大数
  3. 03计算带括号的复杂表达式
  4. 04提供科学函数与数学常数
  5. 05安全解析并限制计算时长

适用场景

  1. 01核验浮点数计算结果
  2. 02计算大数与复杂表达式
  3. 03求值三角函数和对数表达式

MCP 相关

它向 MCP 客户端提供 `calculate` 工具,可传入数学表达式和可选精度进行计算。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"math-calculator": {
"command": "npx",
"args": [
"-y",
"mcp-math-calculator"
]
}
}
}
启动命令npx -y mcp-math-calculator

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-math-calculator

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
expressionstring是要计算的数学表达式
precisionnumber否小数精度位数(可选,默认15位,范围1-64)

详细介绍

来自项目 README

mcp-math-calculator

🧮 精确数学计算的 MCP 服务器 - 为 AI 提供 100% 准确的计算能力

npm version License: MIT

🌟 特性

  • ✅ 精确算术运算 - 解决浮点数精度问题(如 0.1 + 0.2 = 0.3)
  • ✅ 大数支持 - 处理超出 JavaScript 安全整数范围的数字
  • ✅ 复杂表达式 - 支持括号、运算符优先级
  • ✅ 科学函数 - sqrt, pow, sin, cos, log, exp 等 300+ 函数
  • ✅ 安全求值 - 无代码注入风险,沙箱隔离执行
  • ✅ 超时保护 - 5秒自动超时,防止恶意计算

📦 安装

快速开始(推荐)

在你的 MCP 客户端配置中添加(如 Claude Desktop):

macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "math-calculator": {
      "command": "npx",
      "args": ["-y", "mcp-math-calculator"]
    }
  }
}
方式 2: 全局安装
npm install -g mcp-math-calculator
# 或
pnpm add -g mcp-math-calculator

然后配置:

{
  "mcpServers": {
    "math-calculator": {
      "command": "mcp-math-calculator"
    }
  }
}

🚀 使用方法

配置完成后,重启你的 AI 客户端,然后可以这样提问:

  • "精确计算 0.1 + 0.2"
  • "123456789 * 987654321 等于多少?"
  • "计算 (10 + 20) * 3 / 2"
  • "sqrt(16) + pow(2, 3) 的值是多少?"
  • "帮我算一下 sin(pi/2)"

AI 会自动调用此工具进行精确计算。

🛠️ 可用工具

calculate

精确计算数学表达式。

参数:

  • expression (string, 必需): 要计算的数学表达式
  • precision (number, 可选): 小数精度位数(默认: 15,范围: 1-64)

支持的运算:

类型示例
基础运算+, -, *, /, ^, %
括号(, )
函数sqrt(), pow(), abs(), round(), floor(), ceil()
三角函数sin(), cos(), tan(), asin(), acos(), atan()
对数指数log(), log10(), log2(), exp()
常数pi, e, tau, phi

示例:

// 基础运算
"2 + 2"                    // 4
"10 - 3"                   // 7
"6 * 7"                    // 42
"20 / 4"                   // 5

// 浮点数精度
"0.1 + 0.2"                // 0.3 (不是 0.30000000000000004)

// 复杂表达式
"(10 + 20) * 3"            // 90
"2 + 3 * 4 - 5 / 5"        // 13

// 科学函数
"sqrt(16)"                 // 4
"pow(2, 3)"                // 8
"sin(pi / 2)"              // 1

// 大数运算
"123456789 * 987654321"    // 121932631112635269
"999999999999999999 + 1"   // 1000000000000000000

🔒 安全性

本工具采用多层安全机制:

  • ✅ 不使用 eval() - 使用 mathjs 安全解析器
  • ✅ 沙箱执行 - 隔离计算环境
  • ✅ 函数白名单 - 仅允许安全的数学函数
  • ✅ 输入验证 - 拒绝危险模式(import, require, eval 等)
  • ✅ 超时保护 - 5秒自动终止
  • ✅ 结果大小限制 - 防止内存溢出

🧪 开发

# 克隆仓库
git clone https://github.com/Cosmiumx/mcp-math-calculator.git
cd mcp-math-calculator

# 安装依赖
pnpm install

# 构建
pnpm build

# 运行测试
pnpm test

# 监听模式
pnpm watch

📊 测试覆盖

项目包含 37 个测试用例,覆盖:

  • ✅ 基础算术运算
  • ✅ 浮点数精度问题
  • ✅ 复杂表达式计算
  • ✅ 科学函数
  • ✅ 数学常数
  • ✅ 大数运算
  • ✅ 错误处理
  • ✅ 安全性验证
  • ✅ 精度控制

🤝 贡献

欢迎贡献!请随时提交 Issue 或 Pull Request。

  1. Fork 本仓库
  2. 创建你的特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交你的改动 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启一个 Pull Request

📝 License

MIT License - 详见 LICENSE 文件

🐛 问题反馈

遇到问题?请在 GitHub Issues 中报告。

📚 相关资源

⭐ Star History

如果这个项目对你有帮助,请给它一个 ⭐️!


Made with ❤️ by Cosmiumx

评论

支持 Markdown

第一次接触 MCP?

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

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