数学工具
███╗ ███╗ █████╗ ████████╗██╗ ██╗ ████████╗ ██████╗ ██████╗ ██╗ ███████╗
████╗ ████║██╔══██╗╚══██╔══╝██║ ██║ ╚══██╔══╝██╔═══██╗██╔═══██╗██║ ██╔════╝
██╔████╔██║███████║ ██║ ███████║ ██║ ██║ ██║██║ ██║██║ ███████╗
██║╚██╔╝██║██╔══██║ ██║ ██╔══██║ ██║ ██║ ██║██║ ██║██║ ╚════██║
██║ ╚═╝ ██║██║ ██║ ██║ ██║ ██║ ██║ ╚██████╔╝╚██████╔╝███████╗███████║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝一个全面的模型上下文协议(MCP)服务器,为LLM提供 34+数学工具 和一个强大的 表达式计算将您的AI助手转变为数学计算引擎,支持从基本算术到高级统计分析和数据科学操作的所有内容。
🚀 特性
表达式计算
这 evaluate 工具是最强大的功能,允许在一次调用中使用复杂的数学表达式:
- 复杂数学表达式:评估复杂的数学表达式
- 功能组成:将数学函数无缝连接在一起
- 阵列支持:使用数组表示法
[1,2,3,4,5]直接在表达式中 - 操作员支持:全力支持
+,-,*,/,^(功率),%(模块) 运算符 - 常量:内置数学常数(
pi,e) - 优先级处理:适当的数学运算符优先级和括号支持
专业错误处理
- 具有清晰、描述性错误消息的全面输入验证
- 巧妙处理边缘情况(除零、空数组等)
- Zod模式验证的类型安全
📦 安装
- 克隆存储库:
git clone https://github.com/ohqay/math-tools.git
cd math-tools- 安装依赖项:
npm install- 构建项目:
npm run build- 配置Claude桌面 通过添加到MCP设置中:
{
"mcpServers": {
"math": {
"command": "node",
"args": ["PATH/TO/PROJECT/math-tools/build/index.js"]
}
}
}替换 PATH/TO/PROJECT 使用克隆存储库的实际路径。
🔧 工具参考
基本算术
| 工具 | 参数 | 说明 |
|---|---|---|
add | firstNumber, secondNumber | 添加两个数字 |
subtract | minuend, subtrahend | 减法(减号-减数) |
multiply | firstNumber, secondNumber | 两个数字的乘法 |
division | numerator, denominator | 零检查划分 |
sum | numbers[] | 将数组中的所有数字相加 |
modulo | dividend, divisor | 模运算(股息%除数) |
remainder | dividend, divisor | IEEE 754剩余操作 |
power | base, exponent | 指数(基数^指数) |
sqrt | number | 平方根计算 |
abs | number | 绝对值 |
高等数学
| 工具 | 参数 | 说明 |
|---|---|---|
factorial | n (≥0) | 因式计算(n!) |
gcd | a, b | 最伟大的共同分析者 |
lcm | a, b | 最小公倍数 |
floor | number | 四舍五入为整数 |
ceiling | number | 四舍五入为整数 |
round | number | 四舍五入到最接近的整数 |
精密圆整
| 工具 | 参数 | 说明 |
|---|---|---|
roundToPrecision | number, decimalPlaces | 四舍五入到N位小数 |
floorToPrecision | number, decimalPlaces | 小数点后N位 |
ceilToPrecision | number, decimalPlaces | 上限为N位小数 |
统计分析
| 工具 | 参数 | 说明 |
|---|---|---|
mean | numbers[] | 算术平均值(平均值) |
median | numbers[] | 排序数据集的中间值 |
mode | numbers[] | 最常见值 |
min | numbers[] | 最小值 |
max | numbers[] | 最大值 |
variance | numbers[] | 总体方差 |
standardDeviation | numbers[] | 总体标准偏差 |
range | numbers[] | 最大-最小差值 |
percentile | numbers[], p (0-100) | 百分位p值 |
机器学习与数据科学
| 工具 | 参数 | 说明 |
|---|---|---|
correlation | xArray[], yArray[] | 皮尔逊相关系数 |
covariance | xArray[], yArray[] | 样本协方差 |
zscore | value, mean, stdDev | 标准分数计算 |
normalizeArray | numbers[] | 最小-最大归一化(0-1标度) |
standardizeArray | numbers[] | Z分数标准化 |
表达式计算
| 工具 | 参数 | 说明 |
|---|---|---|
evaluate | expression (string) | 计算复杂的数学表达式 |
表达式支持:
- 运算符:
+,-,*,/,^(功率),%(模) - 常量:
pi,e - 函数:上面列出的所有33+数学工具
- 数组:
[1,2,3,4,5]统计函数符号 - 括号:完全支持分组和优先级
💡 使用示例
表达式计算
这 evaluate 工具是最强大的功能,允许复杂的数学表达式:
// Financial calculations
evaluate('(1 + 0.05)^10 * 10000'); // → Compound interest: $16,288.95
// Statistics with embedded calculations
evaluate('mean([1,2,3,4,5]) + variance([10,20,30,40,50])'); // → Mean + variance
// Advanced mathematical operations
evaluate('factorial(5) + gcd(48, 18) * sqrt(16)'); // → 120 + 6 * 4 = 144
// Machine learning preprocessing
evaluate('correlation([1,2,3,4], [2,4,6,8]) * 100'); // → Perfect correlation: 100
// Complex statistical analysis
evaluate('zscore(85, mean([70,75,80,85,90]), standardDeviation([70,75,80,85,90]))');
// Modulo operations in expressions
evaluate('17 % 5 + power(2, 3)'); // → 2 + 8 = 10
evaluate('(100 % 7) * factorial(3)'); // → 2 * 6 = 12个人工具使用
每个数学运算也可以作为独立工具使用:
// Basic arithmetic
add(15, 27); // → 42
multiply(6, 7); // → 42
power(2, 10); // → 1024
// Modulo operations
modulo(17, 5); // → 2 (remainder when 17 is divided by 5)
remainder(17, 5); // → 2 (IEEE 754 remainder operation)
modulo(100, 7); // → 2 (checking divisibility)
modulo(123, 10); // → 3 (extracting last digit)
// Statistical analysis
mean([85, 92, 78, 96, 88]); // → 87.8
standardDeviation([10, 12, 14, 16, 18]); // → 2.83
percentile([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 75); // → 7.75
// Data science operations
normalizeArray([10, 20, 30, 40, 50]); // → [0, 0.25, 0.5, 0.75, 1]
correlation([1, 2, 3, 4, 5], [2, 4, 6, 8, 10]); // → 1 (perfect positive correlation)🎯 实际应用
财务分析
// Investment growth calculation
evaluate('10000 * (1 + 0.07)^20'); // $38,696.84 after 20 years at 7%
// Risk assessment using standard deviation
standardDeviation([12.5, 15.2, 8.7, 18.9, 11.3]); // Portfolio volatility数据科学与分析
// Correlation analysis
correlation([100, 150, 200, 250, 300], [25, 30, 35, 40, 45]); // → 1.0
// Data preprocessing pipeline
evaluate('mean(normalizeArray([10, 20, 30, 40, 50]))'); // → 0.5统计研究
// Population analysis
evaluate(
'zscore(175, mean([160, 165, 170, 175, 180]), standardDeviation([160, 165, 170, 175, 180]))'
);
// Percentile calculations for distributions
percentile([45, 52, 58, 61, 66, 72, 78, 83, 89, 95], 90); // → 91.5工程计算
// Complex mathematical formulas
evaluate('sqrt(power(3, 2) + power(4, 2))'); // → 5 (Pythagorean theorem)
// Precision engineering
roundToPrecision(3.14159265359, 4); // → 3.1416程序设计与算法应用
// Checking divisibility
modulo(128, 8); // → 0 (128 is divisible by 8)
modulo(129, 8); // → 1 (129 is not divisible by 8)
// Cycling through values (circular arrays)
evaluate('5 % 3'); // → 2 (index 5 maps to position 2 in 3-element array)
evaluate('(10 + 7) % 12'); // → 5 (hours calculation: 10 AM + 7 hours = 5 PM)
// Hash table indexing
modulo(1337, 101); // → 17 (hash value 1337 maps to bucket 17 in 101-bucket table)
// Digital signal processing
evaluate('modulo(123456, power(10, 3))'); // → 456 (extract last 3 digits)
// Game development (wrapping coordinates)
evaluate('(playerX + moveX) % mapWidth'); // Wrap player position on game map⚙️ 技术规格
- MCP SDK版本: 1.6.0+
- Node.js:需要ES模块支持
- TypeScript:具有Zod验证的全类型安全
- 精确度:IEEE 754双精度浮点
- 数组大小:没有任意限制(内存受限)
- 表达式复杂性:支持深度嵌套表达式
- 错误处理:全面的验证和用户友好的消息
🛡️ 错误处理
Math Tools为所有边缘情况提供了强大的错误处理:
- 除以零:清除除法和模运算的错误信息
- 无效输入:带有描述性反馈的类型验证
- 空数组:强制执行最低要素要求
- 表达式格式错误:详细的解析错误信息
- 数值溢出:正确处理无限/NaN结果
- 数组长度不匹配:配对数据集的验证
🚀 入门指南
- 安装 使用Smithery或手动设置的数学工具
- 重新启动克劳德桌面 加载新的MCP服务器
- 用简单的操作进行测试:试试
add(2, 3)或mean([1,2,3,4,5]) - 探索表达式计算器:使用
evaluate("sqrt(16) + power(2, 3)") - 构建复杂的计算:结合多种功能和操作
📝 许可证
麻省理工学院许可证-您可以在项目中自由使用!
______________________________________________________________________
将你的人工智能助手变成一个拥有34多种工具和无限表达式复杂性的数学强国。 🧮✨
