SciCompute MCP Server:
简介
SciCompute MCP Server 是一个基于 MCP(Model Context Protocol)协议的科学计算服务器,为 OpenCode / Claude Code 提供数学计算和可视化能力。通过这个插件,AI 助手可以直接调用 Mathematica、SageMath、Octave、R、Python 等多种计算后端,完成符号计算、数值分析、绘图等任务。
主要特性
- 多后端支持:支持 Mathematica、SageMath、Python Scientific、R、Octave 五大计算引擎
- 图像输出:支持绘图和图形输出,可视化计算结果
- 自动选择:根据计算任务自动选择最合适的后端
- 会话持久化:变量在多次调用间保持,支持复杂的多步计算
- 文档查询:内置符号文档查询功能,快速了解函数用法
- 多平台兼容:支持 Claude Code、Claude Desktop、OpenCode/Crush 等平台
支持的计算后端
| 后端 | 状态 | 能力 |
|---|---|---|
| Mathematica | ✅ | 符号计算、数值计算、绘图、图像、音频 |
| SageMath | ✅ | 符号计算、数值计算、绘图 |
| Python Scientific | ✅ | 符号计算、数值计算、绘图 |
| R | ✅ | 数值计算、绘图 |
| Octave | ✅ | 数值计算、绘图 |
| Maxima | 🔒 | 符号计算、数值计算、绘图(需启用) |
| MATLAB | 🔲 | 计划中 |
| Julia | 🔲 | 计划中 |
快速开始
安装
# 使用 uvx 一键安装运行
uvx scicompute-mcp
# 或使用 pip 安装
pip install scicompute-mcp
配置 MCP 客户端
在 .mcp.json 或对应的配置文件中添加:
{
"mcpServers": {
"scicompute": {
"command": "uvx",
"args": ["scicompute-mcp"]
}
}
}
使用示例
OpenCode / Claude Code安装此插件后,可以直接处理各种科学计算请求:
符号计算
用户:计算 ∫sin(x)dx
AI 调用:compute("integrate(sin(x), x)", "sage")
结果:-cos(x)
绘图可视化
用户:绘制 sin(x) 从 0 到 2π 的图像
AI 调用:compute("Plot[Sin[x], {x, 0, 2 Pi}]", "mathematica")
数值分析
用户:生成1000个正态分布随机数并计算均值
AI 调用:compute("mean(rnorm(1000))", "r")
微分方程
用户:查一下 NDSolve 的用法
AI 调用:doc("NDSolve", "mathematica")
图片

当然这些只是简单的演示,您可以尝试让AI用这些工具推导一些比较复杂的数学问题。
应用场景
- 数学推导:符号积分、微分、方程求解
- 数据分析:统计分析、数据处理
- 可视化:函数绘图、数据图表
- 科学计算:数值模拟、优化问题
- 教学辅助:数学概念演示、步骤展示
项目信息
- GitHub :https://github.com/sanshanjianke/scicompute-mcp
- 许可证:Unlicense(公共领域)
- 开发语言:Python 3.10+
缧起
作为一个数学水平很渣,但又菜又爱的玩家。一直希望AI不是只给我写代码,还能处理一些比较高大上的数学问题。可惜编程水平也很渣,苦苦等待数年之后,幸运的是现在写代码可以用vibe了,于是就把这个早已期盼多年的功能实现了。
这个项目还在早期阶段,肯定有不少问题和不足,欢迎提 issue 或者 PR。
已知问题
说实话目前还有不少问题:
- 错误处理不完善:有时候后端报错了,错误信息传回来的格式不太友好
- 后端选择逻辑简单:目前只是按优先级选,没有根据任务特点智能选择
- 文档查询功能有限 :
doc()函数目前只支持部分符号 - 测试覆盖不够:单元测试还没写全,可能有不少隐藏的 bug
- 部分后端安装麻烦:特别是 SageMath,需要单独的 conda 环境
最后
就是个个人项目,代码质量和稳定性都还有很大提升空间。如果你也觉得这个方向有意思,欢迎一起完善。