一个模型上下文协议(MCP)服务器,提供与PTC MathCAD Prime的集成,允许像Claude这样的AI助手通过标准化接口与MathCAD工作表进行交互。
安装所需的依赖项:
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. 打开现有的MathCAD工作表:
"你能打开我位于C:\Users\username\Documents\Physics\projectile_motion.mcdx的物理工作表吗?"
2. 设置输入参数:
"将初始速度设为50 m/s,发射角度设为30度。"
3. 计算结果:
"现在计算轨迹并显示最大高度和距离。"
4. 提取输出值:
"投射物达到的最大高度是多少?"
1. 打开或创建用于分析的工作表:
"我需要分析一个梁挠度问题。你能打开structural_analysis.mcdx工作表吗?"
2. 配置工作表:
"将负载P设为5000 N,梁长L设为2 m,杨氏模量E设为200 GPa,惯性矩I设为4×1_6 m⁴。"
3. 运行计算:
"计算工作表并告诉我最大挠度。"
4. 导出结果:
"将工作表保存为PDF,以便我可以将其包含在我的报告中。"
MATHCAD_VISIBLE:设置为"true"以显示MathCAD应用程序窗口(默认),或设置为"false"以隐藏它。该服务器使用MCP Python SDK的FastMCP框架构建。主要组件包括:
standalone.py:具有MathCAD集成的独立服务器脚本install_standalone.py:用于在Claude Desktop中安装服务器的实用脚本如果遇到COM自动化错误:
如果找不到工作表:
.mcdx文件如果单位转换失败:
该项目根据MIT许可证发布 - 详情请参阅LICENSE文件。