Mathematica MCP服务器
此MCP(模型上下文协议)服务器为Claude提供了对Wolfram Mathematica的访问,用于高级数学计算、符号操作和可视化。
我已经安装了Mathematica 14.3,它运行良好,但我还没有用其他版本进行测试。只要你指向你的wolframscript.exe版本,你可能就没事了。
特性
- 符号数学:求解方程、积分、微分、操纵表达式
- 数值计算:高精度计算、数值方法、优化
- 图形与可视化:创建绘图、3D图形、轮廓图等
- 会话管理:在复杂工作流程的评估之间保持状态
- 完全Mathematica访问权限:任何Mathematica函数或操作都可用
先决条件
- 沃尔夫勒姆研究公司 Mathematica (建议使用12.x或更高版本,用14.3测试)
- Python 3.8+
- WolframScript 必须可以从命令行访问
验证WolframScript安装
打开命令提示符并运行:
wolframscript -code "2+2"如果返回 4你都准备好了!如果没有,您可能需要将Mathematica添加到PATH中。
安装
- 安装Python依赖项:
cd path/to/Mathematica_mcp
python -m venv venv
venv\Scripts\pip install -r requirements.txt- 配置Claude桌面:
将此添加到您的 claude_desktop_config.json (通常在 %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"mathematica": {
"command": "path/to/Mathematica_mcp/venv/Scripts/python.exe",
"args": ["path/to/Mathematica_mcp/server.py"],
"env": {
"PYTHONUNBUFFERED": "1"
}
}
}
}替换 path/to/Mathematica_mcp 使用您的实际安装路径。
- 重新启动克劳德桌面
可用工具
mathematica_evaluate
评估Mathematica代码的主要工具。处理符号和数值计算。
参数:
code:要计算的Mathematica表达式output_format:“文本”(默认)、“明文”或“格式化”
示例:
Integrate[x^2, x]
Solve[x^2 - 5x + 6 == 0, x]
FactorInteger[123456789]
D[Sin[x]*Cos[x], x]
Limit[Sin[x]/x, x -> 0]mathematica_evaluate_with_graphics
计算生成图形的代码并将结果导出到文件。
参数:
code:生成图形的Mathematica代码export_format:“png”(默认)、“svg”或“pdf”image_size:宽度(像素)(默认值:800)
示例:
Plot[Sin[x], {x, 0, 2Pi}]
Plot3D[Sin[x*y], {x, -3, 3}, {y, -3, 3}]
ContourPlot[x^2 + y^2, {x, -2, 2}, {y, -2, 2}]
ListPlot[Table[{x, x^2}, {x, 0, 10}]]mathematica_session_evaluate
在持久会话中评估代码,该会话在调用之间维护状态。
使用案例:
- 定义函数一次,使用多次
- 一次性加载大型数据集
- 逐步构建复杂的计算
工作流程示例:
Call 1: f[x_] := x^2 + 2x + 1
Call 2: f[5] (* Returns 36 *)
Call 3: D[f[x], x] (* Returns 2 + 2x *)mathematica_clear_session
清除持久会话中的所有定义和状态。
mathematica_get_info
获取有关Mathematica安装的版本信息和系统详细信息。
mathematica_help
获取Mathematica函数的文档。
例子:
mathematica_help("Integrate")用法示例
微积分基础
Integrate[Exp[x]*Sin[x], x]
D[x^3 + 2x^2 - x + 1, {x, 2}]
Limit[(1 + 1/n)^n, n -> Infinity]求解方程
Solve[x^3 - 6x^2 + 11x - 6 == 0, x]
DSolve[y'[x] == y[x], y[x], x]
NSolve[x^5 - x - 1 == 0, x]线性代数
Eigenvalues[{{1, 2}, {3, 4}}]
Inverse[{{1, 2, 3}, {4, 5, 6}, {7, 8, 10}}]
Det[{{a, b}, {c, d}}]统计
Mean[{1, 2, 3, 4, 5}]
StandardDeviation[{1, 2, 3, 4, 5}]
PDF[NormalDistribution[0, 1], x]数论
PrimeQ[1000000007]
FactorInteger[123456789]
GCD[12345, 67890]使用技巧
- 复杂表达式Mathematica可以处理非常复杂的符号表达式。不要犹豫,要求复杂的积分或方程求解。
- 验证:使用Mathematica验证数学结果或检查你的工作。
- 符号vs数字:默认情况下,Mathematica尝试符号计算。使用
N[expr]以获得数值近似值。
- 图形:始终使用
mathematica_evaluate_with_graphics用于绘图和可视化。该工具将保存图像并告诉您在哪里找到它。
- 会话:定义函数或处理跨越多个操作的定义时,请使用会话模式。
故障排除
“未找到WolframScript”
- 确保安装了Mathematica
- 将WolframScript添加到系统PATH
- 在Windows上,通常:
C:\Program Files\Wolfram Research\Mathematica\14.3\
超时
- 复杂的计算有5分钟的超时时间
- 将非常长的计算分解为更小的步骤
- 考虑使用会话模式进行增量工作
会话问题
- 如果会话损坏,请使用
mathematica_clear_session重新开始 - MCP服务器重新启动时会话重置
14.3版本的新增功能
Mathematica 14.3包含许多现代功能:
- 增强的机器学习能力
- 改进的符号张量运算
- 更好的大规模计算性能
- 扩展的可视化选项
- 更全面的特殊功能
在以下网址探索新功能:https://www.wolfram.com/mathematica/new-in-14/
许可证
这个MCP服务器是Wolfram Mathematica的包装器。您必须拥有有效的Mathematica许可证才能使用此工具。
支持
有关Mathematica的具体问题,请参阅官方文档:
- 在线的https://reference.wolfram.com/language/
- 在Mathematica中:使用“帮助”菜单或F1键
对于MCP服务器问题,请检查:
- WolframScript可以从命令行访问
- Claude桌面配置正确
- Python依赖项已安装
