DeepSeek Harness (DSH) 插件:dsh-mcp-matlab

前言

DeepSeek Harness (DSH) 是一个支持插件化扩展的智能体开发框架。在本地环境部署了 MATLAB 等工具后,通过 MCP (Model Context Protocol) 协议将工具能力接入 DSH,是实现本地计算与模型对话的关键一步。

dsh-mcp-matlab 是一个 DSH 桥接插件。它的作用是将本地的 matlab-mcp-server-windows-x64.exe 接入 DSH 环境,注册 mcp__matlab__* 系列工具,让 AI 代理能够直接在 DSH 会话中执行 MATLAB 代码、运行脚本或检测工具箱。

这是什么

这是一个纯粹的配置文件插件,不包含 MATLAB 本体或 MCP Server 可执行文件。它只负责提供 cordis.patch.yml 配置模板,将 DSH 与本地的 MATLAB MCP Server 连接起来。

核心功能

安装并配置完成后,DSH 将获得以下 5 个工具:

  • mcp__matlab__evaluate_matlab_code:在 MATLAB 会话中执行代码片段,返回命令行输出。
  • mcp__matlab__run_matlab_file:执行指定的 .m 脚本文件。
  • mcp__matlab__run_matlab_test_file:使用 MATLAB 的 runtests 命令运行测试文件。
  • mcp__matlab__check_matlab_code:对 .m 脚本进行静态代码检查。
  • mcp__matlab__detect_matlab_toolboxes:列出当前 MATLAB 已安装的工具箱版本。

安装与启用

使用以下命令安装插件:

dsh plugin --profile desktop add github:yh01010/dsh-mcp-matlab

安装后需要重启 DSH 生效。需要注意的是,安装完成后工具列表中不会直接出现 mcp__matlab__* 工具,还需要进行外部依赖的配置。

前置条件与配置

本插件仅包含配置文件,不包含依赖。使用前必须准备好以下外部依赖:

  1. MATLAB MCP Server 可执行文件:需自行下载 matlab-mcp-server-windows-x64.exe(建议放置在 %USERPROFILE%\.local\bin\ 等固定目录)。
  2. MATLAB 环境:需安装 MATLAB R2021a 或更新版本,且拥有有效许可证。

安装完成后,需修改 $DSH_HOME/cordis.patch.yml 文件。不要在 home patch 中使用 insert 写入配置,如果插件包已安装,应使用 id 覆盖方式(override)修改配置。

在 $DSH_HOME/cordis.patch.yml 中添加或修改以下内容:

# $DSH_HOME/cordis.patch.yml
- id: mcp-matlab
  name: '@deepseek-ai/dsh-mcp-client'
  config:
    serverName: matlab
    transport: stdio
    command: 'C:\Users\<你的用户名>\.local\bin\matlab-mcp-server-windows-x64.exe'
    args:
      - '--matlab-root=D:\path\to\your\matlab'
      - '--matlab-display-mode=nodesktop'
      - '--disable-telemetry'
    toolCallTimeoutMs: 120000
    failOnStartupError: false

关键配置说明:

  • command:填入 matlab-mcp-server-windows-x64.exe 的完整路径。
  • args:通过 --matlab-root 指定 MATLAB 安装根目录。
  • failOnStartupError:默认设为 false。若设为 true 且路径配置错误,会导致 DSH 启动失败。

排障

  • 看不到 mcp__matlab__* 工具:最常见原因是配置文件中的路径仍为占位符。请检查 $DSH_HOME/cordis.patch.yml 中的 command 和 args 是否已填入真实路径。
  • DSH 启动失败:错误信息 serverName "matlab" is already in use 通常是因为在 home patch 中使用了 insert 插入了与插件包配置重复的条目。请删除重复的 insert 行,改用 id 覆盖。
  • 工具调用报 JSON Schema 错误:部分模型供应商(如阿里云 DashScope)可能拒绝空参数 schema 的工具定义。此问题通常出在模型适配层,而非插件本身。
  • 工具调用超时:MATLAB 冷启动或加载工具箱耗时较长,可能导致调用超时。可适当调大 toolCallTimeoutMs 配置值。

移除

如需移除插件:

dsh plugin --profile desktop remove dsh-mcp-matlab

许可证

MIT

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜