dsh-dr-panda-mcp:把已运行的 DrPanda MCP 接到 DeepSeek Harness

前言

在 DeepSeek Harness(DSH)里做生产排障时,智能体往往需要读 MySQL、搜 CLS、查队列积压、看各环境探测结果,但这些能力通常散落在各自的后台与 CLI。若每次都在 Harness 里手写 HTTP 或脚本,维护和权限边界都会变重。

DrPanda MCP 是一套只读的生产问题排查服务(Web 控制台 + /mcp 端点)。本文介绍的 dsh-dr-panda-mcp 是 DSH 的 carrier 插件:它不内嵌 DrPanda,而是用 Harness 自带的 @deepseek-ai/dsh-mcp-client,通过 Streamable HTTP 连接你已经部署好的 DrPanda /mcp,把远端工具以 mcp__drpanda__* 的形式挂载进当前智能体。

这是什么

一句话:在 DSH Web 侧一键安装桥接配置,用环境变量指向 DrPanda 的 MCP URL 与 Bearer Token,即可让智能体调用 DrPanda 已注册目标上的只读工具。

架构关系

DeepSeek Harness
  └─ dsh-dr-panda-mcp(本插件)
       ├─ drpanda_mcp_doctor          (本机诊断工具)
       └─ @deepseek-ai/dsh-mcp-client
            transport: streamable-http
            url:       $DR_PANDA_MCP_URL
            headers:   Authorization: Bearer $DR_PANDA_MCP_TOKEN
                 └─ dr-panda-mcp(需你单独部署的 Python 服务)

与 dr-panda-mcp 的分工如下:

仓库 角色
linyu19872008/dr-panda-mcp Python MCP + Web 控制台(PyPI:dr-panda-mcp)
linyu19872008/dsh-dr-panda-mcp DSH 一键安装 + 桥接配置 + doctor

安装本插件 不会 自动部署 DrPanda。应先部署服务、在控制台注册目标,再连接 Harness。

核心功能

桥接成功后,智能体可见的工具命名空间为 mcp__drpanda__*(默认 server 名为 drpanda,可由 DR_PANDA_MCP_SERVER 调整)。README 中列出的示例如下:

工具(示例) 用途
mcp__drpanda__systems_status 列出环境/目标及近期探测结果
mcp__drpanda__mysql_query / mysql_explain 只读 MySQL
mcp__drpanda__cls_search / cls_context CLS 日志检索
mcp__drpanda__gitlab_search_code 代码搜索
mcp__drpanda__kafka_lag / rabbit_queues 队列积压
mcp__drpanda__mongo_* / es_* / redis_* / nacos_* / jenkins_* 等 其他已注册目标

此外提供本机工具 drpanda_mcp_doctor:当桥接工具未出现或调用返回 401 时,可先让智能体执行该工具做连通性与鉴权排查。

前置条件

  1. 已安装 DeepSeek Harness,且内置 @deepseek-ai/dsh-mcp-client(Desktop 或 dsh web)。
  2. 已有运行中的 dr-panda-mcp 实例(Web 控制台 + /mcp)。
  3. 在 DrPanda 控制台 My account 中取得 MCP Bearer Token(/mcp 不接受 Web 会话 Cookie)。

安装与启用

下面介绍官方 README 中的安装步骤。

安装插件

dsh plugin --profile web add github:linyu19872008/dsh-dr-panda-mcp

若使用本地目录(已 checkout 的副本):

dsh plugin --profile web add ./dsh-dr-panda-mcp

配置凭证并重启

为 DSH 进程 导出环境变量后重启 Web:

export DR_PANDA_MCP_URL=http://127.0.0.1:8111/mcp
export DR_PANDA_MCP_TOKEN='<token from DrPanda My account>'
# optional:
# export DR_PANDA_MCP_SERVER=drpanda

dsh web

校验配置

dsh --profile web --dump-config | grep -A20 drpanda-mcp

环境变量说明

变量 默认值 含义
DR_PANDA_MCP_URL http://127.0.0.1:8111/mcp Streamable HTTP MCP 端点
DR_PANDA_MCP_TOKEN (空) Bearer Token,真实调用必填
DR_PANDA_MCP_SERVER drpanda 工具命名空间(mcp__<name>__*)

若不想用环境变量,可在 profile patch 中覆盖桥接行(示例见 README);不要把有效 Token 提交进 cordis.patch.yml。

典型用法

经过上面的步骤并重启 dsh web 后,可按 README 建议验证:

  1. 让智能体调用 drpanda_mcp_doctor,确认桥接与鉴权。
  2. 再调用 mcp__drpanda__systems_status,查看环境与探测概况。
  3. 按排障需要调用对应的 mcp__drpanda__* 工具(如只读 SQL、CLS 搜索、队列 lag 等)。

具体能调用哪些工具,取决于你在 DrPanda 控制台中为该实例注册的目标类型。

适用场景与注意

适合谁

  • 已在团队内部署 DrPanda,希望在 DSH Web 智能体里统一使用同一套只读排障 MCP 工具的研发、SRE 或值班同学。
  • 希望用 Harness 生态「插件 + 内置 MCP 客户端」方式接入远端服务,而不是在对话里临时拼 HTTP 的同学。

务必注意

  • 插件随 当前 dsh 进程 运行,具备该进程的环境与网络权限;安装前应阅读仓库源码与 MIT 许可证,并确认 Token 与 MCP URL 的来源可信。
  • 本仓库 不嵌入 DrPanda:未部署 dr-panda-mcp 时,仅安装本插件无法获得 mcp__drpanda__* 能力。
  • DrPanda 定位为 只读 生产排查;写入、变更类操作不在该 MCP 工具集设计范围内。
  • DSH 社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系;安装命令以各插件 README 为准。

结尾

dsh-dr-panda-mcp 解决的是「Harness 与已运行 DrPanda 之间的 Streamable HTTP 桥接」:一键 patch、环境变量凭证、drpanda_mcp_doctor 辅助排障。部署好 DrPanda 并注册目标后,即可在智能体侧使用 mcp__drpanda__* 做联网只读排查。

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

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

小夜