dsh-mcp:MCP 管理界面與 Tool Search

前言

在使用 DeepSeek Harness(DSH)時,接入多個 MCP(Model Context Protocol)服務器會導致工具列表膨脹。全量注入這些工具會消耗大量 token,同時工具列表的反覆更新會破壞緩存。dsh-mcp 是一個客戶端插件,旨在解決這些問題:它提供可視化管理界面,支持按需檢索(tool search)熱注入工具,並確保工具列表穩定,最大化緩存命中率。

核心功能

該插件包含以下核心能力:

  1. 可視化管理:在 Settings → MCP 中管理服務器列表,支持新建、編輯、刪除、測試連接、啓停及刷新。
  2. 工具級精細控制:展開每個服務器查看工具列表,默認全選,可取消勾選僅加載需要的部分。
  3. 進程級環境變量:支持全局 KV 配置。對於 streamable-http 服務器,可在請求頭中使用 ${變量名} 語法,連接時自動替換爲配置值(例如 Authorization: Bearer ${TOKEN})。
  4. 雙注入模式:提供 search(按需檢索,省 token)與 full(全量注入)兩種模式。
  5. 圖片結果透傳:MCP 工具返回的圖片經附件服務投影爲引用進入模型上下文,帶預檢與降級文案。
  6. 零 npm 依賴:直接對接 DSH 內部能力。
  7. OAuth 認證支持:支持授權碼 + PKCE 流程,token 自動刷新(24 小時內活躍自動續期)。
  8. 系統證書校驗:HTTPS 連接默認按系統證書校驗,無需額外配置。

安裝與啓用

安裝命令如下:

dsh plugin --profile web add github:ArvinQi/dsh-mcp

該插件支持版本:dsh 0.2.0-rc.2。

安裝後,插件會自動註冊爲 profile 的 bundle 層。重啓 dsh web 後,通過 Settings → MCP 即可進入可視化管理頁面。

配置與用法

在 Settings → MCP 頁面中,你可以進行以下操作:

  1. 聲明式服務器接管:
    DSH 原生支持在 cordis.patch.yml 中聲明 MCP 服務器。插件會讀取這些聲明。

    • 聲明優先:如果 cordis.patch.yml 中已存在同名聲明的服務器(且未 disabled),插件將不會掛載同名行,以避免工具註冊表衝突。
    • 接管/釋放:點擊“接管”後,插件會在受管塊內寫入 disabled: true,讓出 serverName 並由插件行接管掛載,從而啓用 OAuth、憑據託管等功能。點擊“釋放”則交還控制權。
  2. OAuth 認證:
    OAuth 是顯式開關。只有在設置頁勾選“使用 OAuth 授權”時,纔會掛載 OAuth provider。

    • 未勾選時不會自動掛載。
    • 授權前只顯示“授權中”,授權失敗會寫明原因。
    • 授權由設置頁按鈕發起,宿主打開系統瀏覽器完成,本頁每 5 秒輪詢狀態。
  3. Tool Search 模式:
    使用 search 模式時,模型通過 mcp_tool_search 熱注入所需工具,大幅節省 token。工具列表穩定化機制確保未變化的工具保留原註冊,最大化緩存命中。

適用場景與注意

  • 適用場景:需要精細控制多個 MCP 服務器、希望節省 token 消耗、需要處理複雜認證(OAuth)或內網 HTTPS 證書校驗的場景。
  • 注意:
    • 插件以當前 dsh 進程權限運行,安裝前請檢查源碼與許可證(MIT)。
    • 升級時,插件會按已有 OAuth 憑據自動遷移。
    • 對於使用靜態 token 的服務器,不要勾選 OAuth 選項,否則會被誤判爲 OAuth 挑戰。
羽毛球分组比赛记分
小程序二维码

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

小夜