dsh-mt-mcp:在 DSH 里用设置页连上手机 MT 管理器的 MCP

前言

在 DeepSeek Harness(DSH)里接外部 MCP,常见做法是通过 composition 改 profile patch、改端点地址,然后重启 Host。手机上的 MT 管理器跑的是 Streamable HTTP MCP,地址往往是局域网 IP,换 Wi-Fi、DHCP 续租或开热点都会变。每次改 YAML 再重启,对日常调试很不顺手。

下面介绍社区插件 dsh-mt-mcp(维护者 aikunx):把「连哪台手机、哪个端口」挪到 Web 设置页里填写,保存即重连,无需重启 DSH。连上之后,MT 暴露的能力在会话里以 mcp__mt__* 工具名出现,可直接用自然语言让智能体读手机文件、分析 APK、操作 ZIP 等。

这是什么

dsh-mt-mcp 是 DSH 的客户端侧插件包(当前版本 0.1.0,MIT 许可证),分类上属于联网工具。它在电脑上充当 MCP 客户端:你在 DSH 设置 → MT 管理器 填入手机上 MT 显示的 MCP 地址(及可选 Bearer token),插件负责连接并把 MT 的工具注册进当前 DSH 会话。

手机端需要 MT 管理器(Android)自行启动 MCP Service;插件不实现文件/APK/ZIP 逻辑,只做转发。能访问哪些路径完全由 MT 在手机上的文件访问规则决定,插件无法绕过。

核心功能

设置页连接与热更新地址

  • 在设置侧边栏出现 MT 管理器 面板:填写 MCP 地址、可选 token,保存并连接。
  • 地址可随时修改并保存,不需要重启 DSH;会断开旧连接并替换已注册工具。
  • 面板可查看连接状态、发现的工具列表,以及配置文件路径;完整 token 不会在输出中明文展示。

会话内工具

MT 侧能力在 DSH 中大致分三组(名称前缀):

前缀 作用
mcp__mt__mt_file_* 手机文件:列目录、按名称/内容/大小/时间搜索、读写文本与二进制、移动删除、建目录等
mcp__mt__mt_apk_* APK:打开工作区、分析 manifest/资源/smali/so、编辑、重打包签名、管理工作区
mcp__mt__mt_zip_* ZIP:浏览、读条目、校验、创建、增删改条目、解压

插件另提供两个辅助工具:mt_mcp_status(地址、连接状态、工具数量、最近错误)、mt_mcp_connect(用已保存地址重连)。

文档中在 MT 2.26.x 上实测约 57 个工具;具体以你手机 MT 版本为准。

实现与依赖

  • 协议实现位于插件内的 lib/mcp-http.js,使用 Node 内置 fetch;除 DSH 自带的 @deepseek-ai/dsh-tools 外,无其它运行时第三方依赖。
  • 要求 DSH 0.2.0-rc.2 及更高(0.2.x);Node 引擎为 ^22.19.0 || >=24.0.0。

安装与启用

先确保本机已能正常打开 DSH(例如 dsh web)。安装命令以仓库 README 为准:

# 从 npm 安装(推荐)
dsh plugin --profile web add dsh-mt-mcp

# 或从 GitHub 源码安装
dsh plugin --profile web add github:aikunx/dsh-mt-mcp

若使用桌面 profile,将命令中的 web 换成 desktop。

装完后 重启 DSH 并刷新页面;新装的客户端插件需要重新加载。随后在 设置 → MT 管理器 填写手机地址即可。

也可在 DSH 插件设置里添加市场索引后从 Discover 安装:

https://raw.githubusercontent.com/aikunx/dsh-mt-mcp/main/market.json

插件以当前 dsh 进程权限 运行;安装前建议查看 GitHub 仓库 源码与 MIT 许可证,确认符合你的环境策略。

典型用法

1. 手机上启动 MCP

  1. MT 管理器 → 侧栏 Tools → MCP Service → Start。
  2. 复制 MT 显示的地址。DSH 跑在电脑上,应使用 局域网地址,例如 http://192.168.5.20:8787/mcp。
    - 路径末尾 /mcp 必填;默认端口 8787。
    - 不要用 127.0.0.1,那会指向电脑本机,而不是手机。

2. DSH 里保存并连接

在 设置 → MT 管理器 粘贴地址,可选填写 Bearer token,点击保存并连接。状态为绿色且面板列出工具即表示已连接。

若 MT 开启了 Settings → Authentication 下的 Bearer 校验,把 MT 生成的 token 填入面板;留空表示保留当前 token,仅「清除 token」会删掉。

3. 在对话里直接提需求

连接成功后,可用自然语言驱动 mcp__mt__* 工具,README 中的示例如下:

Read test.txt in MT's Home folder and summarize it. Don't modify anything yet.
Analyze the startup flow of the current APK and explain the relevant classes and methods.
Pack the project folder in Home into project.zip at the archive root.

中文场景下也可按同样思路描述路径与操作,由智能体选择对应 MT 工具执行。

适用场景与注意

适合谁

  • 已在用 MT 做 APK/ZIP/本地文件处理,希望把同一套能力接到 DSH 智能体工作流的人。
  • 手机 IP 经常变、又不想反复改 composition 并重启 Host 的开发者。

访问范围(在手机上配置)

  • 默认 Home 为 /storage/emulated/0/MT2/mcp(可在 MT Settings → General 修改)。
  • 默认可读写范围以 Home 为主;读 Home 外目录需在 MT Settings → Files 增加规则。
  • 需要「只读保护」的文件应放在 Home 外并按规则单独授权。

网络与安全

  • 手机与电脑须在同一局域网;访客 Wi-Fi、AP 隔离、VPN 可能导致连不上。
  • MT 默认不开启鉴权,局域网内能访问端口即可调用;Bearer 不加密 HTTP,仅在可信 LAN 使用,不要将 8787 暴露到公网。
  • 断线后插件会按 1s → 2s → 4s … 最大 30s 退避重试,最多 10 次;之后可在面板点「重连」。Android 后台可能杀进程,可在 MT 开启悬浮球并授予 overlay 权限以改善存活。

与内置 MCP 客户端的差异

DSH 内置 @deepseek-ai/dsh-mcp-client 仍适合固定端点;本插件针对「手机 MCP 地址会变」的场景,把端点维护放到 UI。

结尾

dsh-mt-mcp 把 Android 上 MT 管理器的 MCP 能力接到 DSH:设置页填地址、随时改、免重启,会话里即用 mcp__mt__* 操作手机侧文件、APK 与 ZIP。社区目录页:SkillHub 插件页;源码与完整说明:github.com/aikunx/dsh-mt-mcp。

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

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

小夜