前言¶
在 DeepSeek Harness(DSH)裏做運維或雲資源相關對話,常見做法是單獨起一個 MCP 服務,再在 Harness 裏手工掛客戶端、配憑據與環境變量。阿里雲官方提供了 Alibaba Cloud Ops MCP server,能力多,但啓動時會註冊較多工具,其中一部分還要在啓動階段走 HTTPS 拉 schema,冷啓動偏慢。
dsh-alibaba-mcp 是第三方 DSH 插件(MIT 許可,非 DeepSeek 或阿里雲官方產品)。下面介紹它如何通過 uv 拉起 PyPI 上的 MCP 服務端,把工具註冊進 DSH,並支持按模塊開關裁剪對外暴露的工具名(mcp__alibaba__*)。
這是什麼¶
維護者:NingYuanLee。倉庫:NingYuanLee/dsh-alibaba-mcp;社區目錄頁:SkillHub 條目。分類爲工作流。
插件不內置 MCP 服務端副本,也不依賴本機固定目錄:通過 uv 運行 PyPI 分發包 alibaba-cloud-ops-mcp-server,再把 stdio 連接交給 @deepseek-ai/dsh-mcp-client。AccessKey 從 DSH 憑據庫讀取,只注入子進程環境,不寫入 cordis.patch.yml;MCP 客戶端會清理父進程中形似密鑰的環境變量名,避免誤傳。
核心功能¶
連接與工具命名¶
智能體經插件調用本地阿里雲 Ops MCP。對外工具名形如 mcp__<serverName>__<tool>,默認 serverName 爲 alibaba。
憑據與重連¶
默認通過 ctx.credentials 解析以下環境變量名(可在配置裏改成別的引用名):
ALIBABA_CLOUD_ACCESS_KEY_ID/ALIBABA_CLOUD_ACCESS_KEY_SECRET- 可選:
ALIBABA_CLOUD_SECURITY_TOKEN、ALIBABA_CLOUD_REGION_ID
憑據庫優先於進程環境。密鑰對只配一側、或僅有 STS token 而無密鑰對時,插件拒絕啓動子進程。四個憑據引用任一更新時,會銷燬對應 MCP 子客戶端並重新連接。未配置密鑰時服務端仍可啓動,走其自有憑據鏈;保存憑據後會重連。
模塊與工具面¶
modules 默認 core,api,deploy:約 34 個工具、冷啓動約 3 秒(相對服務端默認 40 工具、含需聯網拉 schema 的動態 API 工具)。設爲 all 可恢復完整 40 工具面。
可選模塊包括:core、api、deploy、oss、oos、cms、local、ecs、vpc、rds。modules(非 all 時)、visibleTools、codeDeploy 三者互斥,不能同時用來裁剪工具面。
services 爲逗號分隔列表,傳給服務端 --services;空則保持服務端默認。文檔說明它不會縮小工具面,隻影響 common-API 類工具的註冊,有時還會增加工具。
單次工具調用默認超時 600000 ms(10 分鐘)。連接斷開後遵循 MCP 客戶端自身的重連策略。
圖形化設置(0.3.0 起)¶
從 0.3.0 起插件提供客戶端設置面板:DSH 中打開「Plugins → Alibaba Cloud Ops」,勾選模塊後保存會寫入 profile patch 並重連 MCP,多數情況下不必手改 YAML。若已用 codeDeploy 或 visibleTools 裁剪工具面,面板會要求先清除再選模塊。
安裝與啓用¶
環境要求¶
- Node
>=22.19.0 - DSH:
>=0.2.1-rc.2 <0.3.0-0或>=0.2.2-0 <0.3.0-0(以 package.jsonengines.dsh爲準) - 本機需安裝 uv,用於啓動 Python 版 MCP 服務端;插件啓動前會檢查
uv,缺失時給出明確提示,不會自行安裝
安裝 uv 示例(README 原文):
# Windows
winget install --id=astral-sh.uv -e
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Python 版本在配置裏固定爲 3.12(python 項)。uv 若自動選到過新的解釋器(例如 CPython 3.14),pydantic-core 構建可能失敗;首次使用時 uv 可下載託管的 3.12。
安裝插件¶
在已安裝 DSH 的前提下執行:
dsh plugin --profile web add dsh-alibaba-mcp
包聲明瞭 dsh.bundle.patch,dsh plugin add 會把 bundle 寫入對應 profile。若當前會話裏看不到工具,重啓 DeepSeek Harness。
Cordis 行 id 爲 alibaba-mcp,npm 包名爲 dsh-alibaba-mcp(當前資料中 package 版本爲 0.4.0)。
配置 AccessKey¶
在阿里雲控制台創建 AccessKey 後,在本插件設置中寫入憑據,或在啓動 DSH 的環境中導出同名變量(與默認 accessKeyIdEnv / accessKeySecretEnv 一致即可)。
配置要點¶
常用字段(完整表見 README):
| 字段 | 默認值 | 含義 |
|---|---|---|
serverName |
alibaba |
工具命名空間,須符合 [A-Za-z0-9_-]{1,32},同作用域內 MCP 客戶端唯一 |
command |
uv |
stdio 啓動命令 |
python |
3.12 |
傳給 uv 的 --python |
modules |
core,api,deploy |
模塊開關;all 爲全量工具 |
cloudEnv |
domestic |
domestic 或 international(後者對應 --env international) |
toolCallTimeoutMs |
600000 |
單次調用超時 |
profile 覆蓋示例(注意後續 patch 會整體替換 config,需保留仍要用的字段):
- id: alibaba-mcp
config:
serverName: alibaba
python: '3.12'
cloudEnv: domestic
典型用法¶
- 安裝
uv與插件,在 DSH 憑據或環境中配置ALIBABA_CLOUD_ACCESS_KEY_ID、ALIBABA_CLOUD_ACCESS_KEY_SECRET。 - 需要快速冷啓動時保持默認
modules: core,api,deploy;需要 OSS、ECS、RDS 等專項工具時,在設置面板勾選對應模塊,或把modules改爲包含oss、ecs、rds等的逗號列表(勿與visibleTools、codeDeploy同開)。 - 在對話中讓智能體調用以
mcp__alibaba__爲前綴的工具完成查詢或變更(具體工具名與參數 schema 由 MCP 服務端發佈,插件不二次實現)。
國內與國際雲環境通過 cloudEnv 切換;額外非密鑰配置可走 extraConfig(映射爲 --extra-config),勿在其中存放 secret。
適用場景與注意¶
適合誰: 已在 DSH 中開發智能體、需要在同一會話裏調用阿里雲 Ops MCP(查詢資源、部署相關能力等)的開發者;希望用模塊開關控制工具數量與啓動耗時的團隊。
權限與安全: 插件以當前 DSH 進程權限運行子進程與工具調用;安裝前應閱讀倉庫源碼與 MIT 許可證,自行評估將 AccessKey 交給 MCP 服務端的風險。第三方插件與 SkillHub 目錄站點均非 DeepSeek / 幻方官方應用商店。
啓動耗時: 全量 all 時,部分動態 API 工具會在啓動階段訪問 api.aliyun.com 拉 schema,是主要延遲來源;默認模塊子集用於規避這部分聯網註冊。
結尾¶
dsh-alibaba-mcp 把 PyPI 上的 Alibaba Cloud Ops MCP 以 stdio 方式掛進 DSH,憑據走 DSH 憑據庫,並支持按模塊(及互斥的 visibleTools / codeDeploy)控制 mcp__alibaba__* 工具面。安裝使用 README 中的 dsh plugin --profile web add dsh-alibaba-mcp 即可。