MathCAD MCP Server

MathCAD MCP Server

MathCAD MCP 服务器 (MathCAD MCP fúwùqì)

hvkshetry

研究与数据
访问服务器

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. 打开现有的 MathCAD 工作表:
   "你能打开我在 C:\Users\username\Documents\Physics\projectile_motion.mcdx 的物理工作表吗?"

2. 设置输入参数:
   "将初始速度设置为 50 m/s,发射角度设置为 30 度。"

3. 计算结果:
   "现在计算轨迹,并告诉我最大高度和距离。"

4. 提取输出值:
   "抛射物达到的最大高度是多少?"

示例 2:工程分析

1. 打开或创建用于分析的工作表:
   "我需要分析一个梁挠度问题。你能打开 structural_analysis.mcdx 工作表吗?"

2. 配置工作表:
   "将载荷 P 设置为 5000 N,梁长 L 设置为 2 m,杨氏模量 E 设置为 200 GPa,惯性矩 I 设置为 4×10⁻⁶ m⁴。"

3. 运行计算:
   "计算工作表并告诉我最大挠度。"

4. 导出结果:
   "将工作表保存为 PDF,以便我可以将其包含在我的报告中。"

环境变量

  • 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 文件。

致谢

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python