1.0.1 • Published 5 months ago
@mcpcn/mcp-math-eval v1.0.1
数学表达式计算 MCP 服务器
基于 mathjs 的数学表达式计算 MCP 服务器,支持各种数学运算、数值积分和符号微分。
功能特性
- 基本数学运算:加、减、乘、除、幂运算
- 高级函数:三角函数、对数、平方根等
- 数学常数:π (pi)、e 等
- 数值积分:使用辛普森规则进行高精度数值积分
- 🆕 符号微分:支持多种函数的符号求导
- 智能识别:支持"计算:"前缀或直接输入数学表达式
- 错误处理:提供详细的错误信息和使用示例
安装
# 安装依赖
npm install
# 构建项目
npm run build使用示例
支持的表达式格式
基本运算
2 + 3 * 4→ 14(342-342*3/2)^2→ 92313
三角函数
sin(pi/4)→ 0.7071067811865476cos(0)→ 1
对数和幂运算
log(100)→ 2sqrt(16)→ 42^10→ 1024
复杂表达式
(sin(pi/6) + cos(pi/3)) * 2→ 2log(e^3)→ 3
数值积分
integrate("2*x", "x", 0, 5)→ 25integrate("sin(x)", "x", 0, pi)→ 2integrate("x^2", "x", 0, 2)→ 2.667integrate("1/(1+x^2)", "x", 0, 1)→ 0.785 (π/4)
🆕 符号微分
derivative("x^3 + 2*x", "x")→ 3 * x^2 + 2derivative("sin(x)", "x")→ cos(x)derivative("e^x", "x")→ e^xderivative("x^2 * sin(x)", "x")→ 2 x sin(x) + x^2 * cos(x)
MCP 工具说明
calculate_math_expression
计算数学表达式并返回结果,包括数值积分和符号微分。
参数:
expression(string): 要计算的数学表达式
使用方式:
- 普通计算:
"(342-342*3/2)^2" - 积分计算:
"integrate(\"2*x\", \"x\", 0, 5)" - 导数计算:
"derivative(\"x^3 + 2*x\", \"x\")" - 带前缀:
"计算:derivative(\"sin(x)\", \"x\")"
导数功能详解
导数语法
derivative("被求导函数", "求导变量")导数示例
- 多项式求导:
derivative("x^3 + 2*x", "x")- 计算 d/dx(x³ + 2x) = 3x² + 2
- 三角函数求导:
derivative("sin(x)", "x")- 计算 d/dx(sin(x)) = cos(x)
- 指数函数求导:
derivative("e^x", "x")- 计算 d/dx(eˣ) = eˣ
- 乘积法则:
derivative("x^2 * sin(x)", "x")- 计算 d/dx(x²·sin(x)) = 2x·sin(x) + x²·cos(x)
支持的导数函数
- 多项式:
x^n,ax^n + bx^m + c - 三角函数:
sin(x),cos(x),tan(x) - 指数函数:
e^x,a^x - 对数函数:
log(x)(自然对数) - 复合函数: 支持链式法则和乘积法则
- 常数: 常数的导数为0
积分功能详解
积分语法
integrate("被积函数", "积分变量", 下限, 上限)积分示例
- 多项式积分:
integrate("x^2", "x", 0, 3)- 计算 ∫₀³ x² dx = 9
- 三角函数积分:
integrate("sin(x)", "x", 0, pi)- 计算 ∫₀π sin(x) dx = 2
- 指数函数积分:
integrate("e^x", "x", 0, 1)- 计算 ∫₀¹ eˣ dx ≈ 1.718
- 复合函数积分:
integrate("x*sin(x)", "x", 0, pi)- 计算 ∫₀π x·sin(x) dx ≈ 3.14
积分精度
- 使用辛普森规则进行数值积分
- 默认分割数:1000(自动调整为偶数)
- 精度:约10⁻¹²到10⁻¹⁵
- 适合连续函数的积分计算
支持的数学函数
- 基本运算:
+,-,*,/,^ - 三角函数:
sin,cos,tan,asin,acos,atan - 对数函数:
log(自然对数),log10 - 其他函数:
sqrt,abs,ceil,floor,round - 常数:
pi,e - 积分:
integrate("函数", "变量", 下限, 上限) - 🆕 导数:
derivative("函数", "变量")
开发
# 开发模式运行
npm run dev
# 构建
npm run build
# 启动
npm start
# 测试积分功能
npx tsx test-integration.js
# 测试导数功能
npx tsx test-derivative.js配置MCP客户端
将以下配置添加到您的MCP客户端配置中:
{
"mcpServers": {
"math-eval": {
"command": "node",
"args": ["path/to/mcp-math-eval/dist/index.js"]
}
}
}性能测试结果
积分测试结果
| 积分表达式 | 数值结果 | 理论值 | 误差 | 精度等级 |
|---|---|---|---|---|
| ∫₀⁵ 2x dx | 25.000 | 25 | ~10⁻¹⁵ | ✅ 高精度 |
| ∫₀² x² dx | 2.667 | 8/3 | ~10⁻¹⁵ | ✅ 高精度 |
| ∫₀π sin(x) dx | 2.000 | 2 | ~10⁻¹² | ✅ 高精度 |
| ∫₀¹⁰ 1 dx | 10.000 | 10 | 0 | ✅ 高精度 |
导数测试结果
| 原函数 | 导数结果 | 状态 |
|---|---|---|
| x³ + 2x | 3x² + 2 | ✅ 完美 |
| sin(x) | cos(x) | ✅ 完美 |
| eˣ | eˣ | ✅ 完美 |
| x²·sin(x) | 2x·sin(x) + x²·cos(x) | ✅ 完美 |
| 5x⁴ - 3x² + 7 | 20x³ - 6x | ✅ 完美 |
1.0.1
5 months ago