mcpField
M
MathCAD MCP Server

MathCAD MCP Server

本地服务
github.com/hvkshetry科研与教育2083 周前更新

关于 MathCAD MCP Server

MathCAD MCP 服务通过 Windows COM 自动化控制 PTC MathCAD Prime,使 AI 助手能够操作工作表。它面向需要借助 AI 处理 MathCAD 计算的工程与科研用户,支持带单位的数值读写和结果导出。

主要功能

  1. 01工作表打开、关闭与保存
  2. 02带单位的输入与输出读写
  3. 03计算暂停、恢复与重新计算
  4. 04导出 PDF、RTF 和 XPS 格式
  5. 05工作表只读与修改状态查询

适用场景

  1. 01让 AI 助手修改参数并获取工程计算结果
  2. 02批量导出 MathCAD 工作表为 PDF 文件
  3. 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 快速安装
  1. 安装所需依赖项:

    pip install -r requirements.txt
    
  2. 运行安装脚本:

    python install_standalone.py
    

    选项:

    • 使用 --hide 标志可在运行时隐藏 MathCAD 窗口:python install_standalone.py --hide
  3. 重启 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 文件。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。