mcpField
M
matlab-list-products

matlab-list-products

github.com/matlab开发1.2k109 次安装1 天前更新
代码仓库

关于 matlab-list-products

用于检查 MATLAB 安装中已安装产品和支持包的技能。它读取安装元数据,并以清理后的名称排序呈现结果。

主要功能

  1. 01读取已安装产品的元数据
  2. 02列出已安装的支持包
  3. 03清除版本号和平台后缀
  4. 04按 MATLABabetical 顺序排列产品名称

适用场景

  1. 01检查是否安装了某个工具箱
  2. 02列出 MATLAB 安装中的产品
  3. 03查看某个发行版的支持包

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-list-products

安装后在 Claude Code 中输入/matlab-list-products确认已加载。

附带文件manifest.yaml

详细介绍

显示已安装的 MATLAB 产品

当用户要求显示、列出或检查某个 MATLAB 安装中已安装的 MATLAB 产品或支持包时,使用此技能。

$ARGUMENTS

适用场景

  • 用户询问某个 MATLAB 安装中已安装的产品、工具箱或支持包
  • 用户想确认是否已安装某个特定产品
  • 用户要求列出或检查 MATLAB 安装的内容
  • 用户提供 matlabroot 路径或发行版名称,并想查看其中的内容

不适用场景

  • 用户想安装新产品(改用 matlab-install-products)
  • 用户想检查 MATLAB 许可证状态或激活情况(使用不同的工作流)
  • 用户想在 MATLAB 中管理或更新附加组件
  • 用户只询问 MATLAB 版本或发行版信息(在 MATLAB 中使用 ver 或 version)

输入

用户可能会提供 matlabroot 路径或发行版名称,也可能会提供平台。按以下方式解析 matlabroot:

  • 提供了路径(例如 C:\Program Files\MATLAB\R2025a、/usr/local/MATLAB/R2025a、/Applications/MATLAB_R2025a.app):按原样使用。根据路径格式推断平台(反斜杠 / 驱动器号 -> Windows;/Applications/MATLAB_ 前缀 -> macOS;其他 Unix 路径 -> Linux)。
  • 提供了发行版名称(例如 R2025a,或简写形式,如 25a):将简写扩展为完整形式(25a -> R2025a、26a -> R2026a 等),并根据检测到或指定的平台构造默认路径:
    • Windows: C:\Program Files\MATLAB\<release>
    • Linux: /usr/local/MATLAB/<release>
    • macOS: /Applications/MATLAB_<release>.app
  • 未提供任何内容:请用户提供发行版名称;如果平台不明确,再询问平台,然后继续。

如果无法从路径推断平台,则假设为 Windows。

协议

重要: 以下所有步骤都要静默执行。不要向用户叙述、描述或显示进度。仅输出第 6 步中格式化后的最终结果。

第 1 步 -- 提取发行版名称

将 matlabroot 路径的最后一个组成部分作为发行版名称。对于 macOS 路径,去掉末尾的 .app 后缀。

示例:

  • C:\Program Files\MATLAB\R2025a -> release = R2025a
  • /usr/local/MATLAB/R2025a -> release = R2025a
  • /Applications/MATLAB_R2025a.app -> release = R2025a

备用方案: 如果路径的最后一个组成部分与 R20\d{2}[ab] 不匹配(例如 L:\prod25b 这类自定义安装),读取 {matlabroot}/VersionInfo.xml,并从 <release> 元素中提取发行版。如果该文件不存在,请用户提供发行版名称。

第 2 步 -- 从 matlabroot 读取已安装的产品

读取文件(Linux/macOS 使用正斜杠,Windows 使用反斜杠):

{matlabroot}/appdata/prodcontents.json

这是一个单行 JSON 对象。将其解析为 JSON,并提取其中的键——这些就是已安装产品的名称(例如 "MATLAB 25.1 win64"、"MATLAB 25.1 glnxa64"、"MATLAB 25.1 maca64")。无需使用值(XML 路径)。

第 3 步 -- 读取已安装的支持包

根据平台推导支持包根目录:

  • Windows: C:\ProgramData\MATLAB\SupportPackages\{release}
  • Linux: /usr/local/MATLAB/SupportPackages/{release}
  • macOS: ~/Library/Application Support/MathWorks/MATLAB/SupportPackages/{release}

读取文件:

{supportpkgroot}/appdata/prodcontents.json

如果文件不存在,说明未安装任何支持包,并跳过此部分。

步骤 4 —— 清理产品名称

prodcontents.json 中的每个键都类似于 "MATLAB 25.1 win64" 或 "MATLAB Support Package for USB Webcams 25.1.0 win64"。

去掉末尾的版本号和平台标记,得到简洁的显示名称:

  • 移除版本后缀:一段或两段数字,可选加上第三段(例如 25.1、25.1.0、25.2)
  • 移除平台标记:win64、glnxa64、maci64、maca64 或 common
  • 去掉末尾的空格

示例:

原始键显示名称
MATLAB 25.1 win64MATLAB
Simulink 25.1 win64Simulink
Datafeed Toolbox 25.1 win64Datafeed Toolbox
Motor Control Blockset 25.1 win64Motor Control Blockset
MATLAB Documentation 25.1.0 win64MATLAB Documentation
MATLAB Support Package for USB Webcams 25.1.0 win64MATLAB Support Package for USB Webcams
步骤 5 —— 排序产品

按 MATLABabetical order 对清理后的产品名称排序:

  1. MATLAB
  2. MATLAB Copilot
  3. Simulink
  4. Simulink Copilot
  5. 其余产品按标准字母顺序排列

未安装的四个锚点产品直接省略。不在锚点列表中的产品按字母顺序排在其后。

支持包按标准字母顺序排序。

步骤 6 —— 显示结果

将发行版名称显示为标题,然后显示安装文件夹,接着显示两个单独的表格。

使用以下确切格式:


{Release Name}

安装位置: {matlabroot} 支持包位置: {supportpkgroot}

产品
已安装产品
MATLAB
Simulink
...
支持包
已安装支持包
MATLAB Support Package for USB Webcams
...

如果未安装任何支持包,则显示标题和单独一行:No support packages installed.

关键函数和模式

模式用途
{matlabroot}/appdata/prodcontents.json列出已安装产品的 JSON 文件(键 = 产品名称)
{supportpkgroot}/appdata/prodcontents.json列出已安装支持包的 JSON 文件
MATLABabetical 排序优先排列 MATLAB、MATLAB Copilot、Simulink、Simulink Copilot,其余按字母顺序排列
移除版本/平台标记从原始键中移除末尾的 25.1 win64 等内容

版权所有 2026 The MathWorks, Inc.


评论

支持 Markdown