数学计算服务器

Mathematica MCP Server 是一个提供高级数学计算、符号操作和可视化功能的服务器,适用于需要进行复杂数学运算的场景。

  • by jkoets
  • 本地部署
  • 更新于
在 GitHub 查看 jkoets/Mathematica-MCP-Server

使用说明

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中。

安装

  1. 安装Python依赖项:

    cd path/to/Mathematica_mcp
    python -m venv venv
    venv\Scripts\pip install -r requirements.txt
    
  2. 配置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 使用您的实际安装路径。

  3. 重新启动克劳德桌面

可用工具

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]

使用技巧

  1. 复杂表达式Mathematica可以处理非常复杂的符号表达式。不要犹豫,要求复杂的积分或方程求解。

  2. 验证:使用Mathematica验证数学结果或检查你的工作。

  3. 符号vs数字:默认情况下,Mathematica尝试符号计算。使用 N[expr] 以获得数值近似值。

  4. 图形:始终使用 mathematica_evaluate_with_graphics 用于绘图和可视化。该工具将保存图像并告诉您在哪里找到它。

  5. 会话:定义函数或处理跨越多个操作的定义时,请使用会话模式。

故障排除

“未找到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服务器问题,请检查:

  1. WolframScript可以从命令行访问
  2. Claude桌面配置正确
  3. Python依赖项已安装