关于 MathCAD MCP Server
MathCAD MCP 服务通过 Windows COM 自动化控制 PTC MathCAD Prime,使 AI 助手能够操作工作表。它面向需要借助 AI 处理 MathCAD 计算的工程与科研用户,支持带单位的数值读写和结果导出。
主要功能
- 01工作表打开、关闭与保存
- 02带单位的输入与输出读写
- 03计算暂停、恢复与重新计算
- 04导出 PDF、RTF 和 XPS 格式
- 05工作表只读与修改状态查询
适用场景
- 01让 AI 助手修改参数并获取工程计算结果
- 02批量导出 MathCAD 工作表为 PDF 文件
- 03分析梁挠度等工程问题的参数变化
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露用于工作表管理、输入输出读写和计算控制的工具、资源及提示词模板。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MathCAD MCP 服务
一个模型上下文协议(MCP)服务,可与 PTC MathCAD Prime 集成,使 Claude 等 AI 助手能够通过标准化接口与 MathCAD 工作表交互。
功能
- 工作表管理:打开、关闭和保存 MathCAD 工作表
- 输入控制:设置带单位的数值、字符串和矩阵
- 输出访问:获取带正确单位的计算结果
- 计算管理:暂停、恢复和重新计算工作表
- 导出选项:将工作表保存为 PDF、RTF 和 XPS 文件
要求
- Windows 操作系统(MathCAD COM 自动化所必需)
- Python 3.10 或更高版本
- 已安装 PTC MathCAD Prime 3.0 或更高版本
- 依赖项:MathcadPy、pywin32 和 MCP Python SDK(参见 requirements.txt)
安装
使用 Claude Desktop 快速安装
-
安装所需依赖项:
pip install -r requirements.txt -
运行安装脚本:
python install_standalone.py选项:
- 使用
--hide标志可在运行时隐藏 MathCAD 窗口:python install_standalone.py --hide
- 使用
-
重启 Claude Desktop 以使更改生效。
手动配置
编辑 Claude Desktop 配置文件:~/Library/Application Support/Claude/claude_desktop_config.json(Mac)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"mathcad": {
"command": "python",
"args": [
"path/to/mathcad-mcp/standalone.py"
],
"env": {
"MATHCAD_VISIBLE": "true"
}
}
}
}
用法
工具
该服务提供以下 MCP 工具:
list_mathcad_version:获取正在运行的 MathCAD 版本open_worksheet:从文件路径打开 MathCAD 工作表close_worksheet:关闭指定工作表close_all_worksheets:关闭所有已打开的工作表quit_mathcad:完全退出 MathCAD 应用程序save_worksheet:将工作表保存到指定路径并采用指定格式save_worksheet_inplace:就地保存工作表activate_worksheet:将工作表置于前台set_real_input:设置带可选单位的数值输入set_string_input:设置字符串输入set_matrix_input:设置带可选单位的矩阵输入get_input:获取指定输入(实数/字符串/矩阵)的当前值get_matrix_input:获取指定矩阵输入的当前值calculate_worksheet:重新计算工作表sync_worksheet:计算工作表的别名pause_calculation:暂停工作表计算resume_calculation:恢复工作表计算get_output:获取指定输出值(实数、字符串或矩阵)get_real_output:从工作表获取数值输出get_real_output_with_units:获取数值输出并转换为指定单位get_matrix_output:从工作表获取矩阵输出get_matrix_output_with_units:获取经过单位转换的矩阵输出save_as_pdf:将工作表保存为 PDF 文件(仅适用于 Mathcad Prime 5+)save_as_rtf:将工作表保存为 RTF 文件save_as_xps:将工作表保存为 XPS 文件is_worksheet_readonly:检查工作表是否为只读is_worksheet_modified:检查工作表是否有未保存的更改set_worksheet_modified:强制设置工作表的“已修改”状态
资源
该服务提供以下 MCP 资源:
mathcad://worksheets:列出所有已打开的工作表mathcad://worksheets/paths:列出包含完整文件路径的工作表mathcad://worksheet/{worksheet_name}/inputs:列出工作表中的输入mathcad://worksheet/{worksheet_name}/outputs:列出工作表中的输出mathcad://worksheet/{worksheet_name}/output/{output_name}:获取指定输出值mathcad://worksheet/{worksheet_name}/output/{output_name}/matrix:获取矩阵输出mathcad://worksheet/{worksheet_name}/output/{output_name}/with_units/{units}:获取经过单位转换的输出mathcad://worksheet/{worksheet_name}/info:获取工作表信息mathcad://worksheet/{worksheet_name}/status:获取工作表状态
提示词模板
该服务提供以下提示词模板,以辅助完成 MathCAD 相关任务:
solve_equation:求解数学方程的模板plot_function:绘制函数图像的模板analyze_engineering_problem:分析工程问题的模板unit_conversion:执行单位换算任务的模板create_worksheet_template:创建新工作表模板的模板
工作流示例
示例 1:求解物理问题
1. Open an existing MathCAD worksheet:
"Can you open my physics worksheet at C:\Users\username\Documents\Physics\projectile_motion.mcdx?"
2. Set input parameters:
"Set the initial velocity to 50 m/s and the launch angle to 30 degrees."
3. Calculate the results:
"Now calculate the trajectory and show me the maximum height and distance."
4. Extract output values:
"What's the maximum height reached by the projectile?"
示例 2:工程分析
1. Open or create a worksheet for analysis:
"I need to analyze a beam deflection problem. Can you open the structural_analysis.mcdx worksheet?"
2. Configure the worksheet:
"Set the load P to 5000 N, beam length L to 2 m, Young's modulus E to 200 GPa, and moment of inertia I to 4×10⁻⁶ m⁴."
3. Run the calculation:
"Calculate the worksheet and tell me the maximum deflection."
4. Export the results:
"Save the worksheet as a PDF so I can include it in my report."
环境变量
MATHCAD_VISIBLE:设为 "true" 以显示 MathCAD 应用程序窗口(默认),或设为 "false" 以隐藏窗口。
架构
该服务使用 MCP Python SDK 的 FastMCP 框架构建。主要组件包括:
standalone.py:集成 MathCAD 的独立服务脚本install_standalone.py:用于在 Claude Desktop 中安装该服务的实用脚本
故障排除
常见问题
COM 自动化错误
如果遇到 COM 自动化错误:
- 确保已安装 MathCAD 并获得有效许可
- 检查是否在 Windows 上运行
- 尝试重启 MathCAD 和 MCP 服务
未找到工作表
如果找不到工作表:
- 使用绝对路径,而非相对路径
- 确保文件路径已正确转义
- 确认文件存在且是有效的
.mcdx文件
单位换算问题
如果单位换算失败:
- 检查单位之间是否兼容(例如,长度单位无法换算为质量单位)
- 确保使用正确的单位符号(例如,米使用 'm')
- 尝试使用标准单位格式(例如,使用 'm/s',而非 'm*s^(-1)')
许可证
本项目根据 MIT License 授权,详情请参阅 LICENSE 文件。
致谢
- MathcadPy - MathCAD Prime 自动化 API 的 Python 封装
- Model Context Protocol - 协议规范和 SDK
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。