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 快速安装
-
安装所需的依赖项:
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. 打开现有的 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
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。
mixpanel
连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

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

Nefino MCP Server
为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。
Vectorize
将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。
Mathematica Documentation MCP server
一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。
kb-mcp-server
一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。
Research MCP Server
这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

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