Tencent Cloud APM:在 Agent 裏用 MCP 做調用鏈與性能分析

前言

線上接口變慢、偶發超時,往往要同時在 APM 控制台裏翻業務系統、查 Trace、看 Span 耗時,再切到火焰圖定位熱點。對話式 Agent 能寫代碼、能跑命令,卻通常碰不到你已接入的騰訊雲 APM 數據。下面介紹 SkillHub 上的 Tencent Cloud APM(@tencent-adm/apm-performance-analysis):讓 Agent 通過騰訊雲官方 SDK 的 ApmClient.SendMCPMessage 連接遠程 APM MCP Server,在對話裏完成工具發現、參數確認與性能診斷相關調用。

這是什麼

Tencent Cloud APM 是面向 APM 性能分析的 Agent Skill,由 騰訊雲 APM 團隊 發佈,來源爲 enterprise,當前版本 v1.0.3,SkillHub 分類爲 it-ops-security,標籤含 requires_api_key=true(需配置騰訊雲 API 密鑰)。

Skill 不替代 APM 控制台,而是把「連通 MCP → 列出工具 → 按規範調用 → 解讀結果」固化進 SKILL.md 與配套腳本:Agent 在技能目錄下執行 scripts/apm_mcp_client.py,經雲 API 標準簽名(TC3-HMAC-SHA256)訪問 MCP Server,從而支持業務系統查詢、調用鏈追蹤、火焰圖、Span 耗時分析等能力(以 MCP 實際暴露的工具爲準)。

觸發場景在 Skill 描述中寫明:當用戶提到 APM、性能分析、調用鏈、火焰圖、Span 或耗時分析時可啓用。

核心功能

以下能力均來自官方 Skill 說明與客戶端腳本,具體工具名以 list-tools 返回爲準。

  1. 遠程 MCP 接入:通過 ApmClient.SendMCPMessage 與 APM MCP Server 交互,支持連通檢測(ping)、工具列表(tools/list)、工具調用(tools/call)。
  2. 業務與鏈路分析:Skill 簡介明確包含業務系統查詢、調用鏈追蹤、火焰圖、Span 耗時分析等運維向能力。
  3. 內嵌官方 SDK:技能包內 vendored 騰訊雲 Python SDK(文檔記載爲 v3.1.93),無需單獨 pip install 或維護虛擬環境即可運行客戶端腳本。
  4. 憑證與安全約束:SecretId/SecretKey 僅通過 shell 環境變量(或命令行參數)讀取,禁止硬編碼與 .env;對話中需用佔位符,錯誤寫入 ./logs/apm_error.log(權限 600,不記錄密鑰)。
  5. 交互規範:調用前須確認功能與參數;支持從對話上下文複用 InstanceId、Region 等,詳見技能內 references/interaction_guide.md。

Skill 聲明的 allowed-tools 爲 Bash、Read,適合在 Cursor 等支持 Skills 的 Agent 中通過終端調用腳本。

安裝與啓用

通過 SkillHub 安裝

SkillHub 頁面給出的安裝提示爲:參照 SkillHub 安裝說明 安裝座標 @tencent-adm/apm-performance-analysis。

若本機已有 skillhub CLI,安裝時需用 --dir 指向當前 Agent 的 skills 目錄(裝到默認 ./skills/ 可能不會被 Agent 識別)。示例:

command -v skillhub && skillhub --version
skillhub install @tencent-adm/apm-performance-analysis --dir ~/.cursor/skills/

常用路徑(摘自 SkillHub 安裝文檔):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或項目下的 .agents/skills/

未安裝 CLI 時,可按 SkillHub 文檔使用官方安裝腳本(需聯網環境)。

配置騰訊雲憑證

調用前檢查環境變量是否就緒:

echo $TENCENTCLOUD_SECRET_ID

必填項:

變量名 說明
TENCENTCLOUD_SECRET_ID 騰訊雲 API SecretId
TENCENTCLOUD_SECRET_KEY 騰訊雲 API SecretKey

可選項包括 APM_API_ENDPOINT(默認公網 apm.tencentcloudapi.com)、APM_ERROR_LOG_DIR(默認 ./logs/)。密鑰請在 騰訊雲 API 密鑰管理 創建,建議最小權限子賬號;勿在聊天中發送明文密鑰。

Agent 側 MCP 說明

本 Skill 通過 雲 API + SendMCPMessage 訪問 APM MCP Server,並非在 IDE 裏單獨配置本地 MCP Server 條目。Agent 讀取技能後,應在技能目錄下執行 python scripts/apm_mcp_client.py 完成 ping、列工具與 call-tool。

典型用法

安裝並配置憑證後,建議按 Skill 內「執行流程」順序操作。以下命令均在技能包根目錄(含 scripts/ 的路徑)下執行。

1. 驗證連通性

python scripts/apm_mcp_client.py ping

2. 發現 MCP 工具

python scripts/apm_mcp_client.py list-tools --output json

將 JSON 中的 name、description、inputSchema 按 interaction_guide.md 的表格模板展示給用戶,並確認要調用的工具與參數。

3. 調用指定工具

--args 傳入 JSON 對象,客戶端會轉換爲 APM 所需的 KV 結構。官方腳本註釋中的示例:

python scripts/apm_mcp_client.py call-tool \
  --name DescribeApmOverview \
  --args '{"start_time":"1744786829","end_time":"1744787429","region":"ap-beijing"}'

通用形式:

python scripts/apm_mcp_client.py call-tool --name <tool_name> --args '{"param1": "value1"}'

4. 對話中的自然語言入口

用戶可直接問「APM 能做什麼」「查看 MCP 支持哪些操作」或描述性能問題;Agent 應先說明需 SecretId/SecretKey、再走 ping → list-tools → 參數確認 → call-tool。Skill 要求:未確認功能和參數前不得直接調用工具。

適用場景與注意

適合誰

  • 已在騰訊雲使用 APM,希望在 Cursor / Claude Code / Codex 等 Agent 裏用自然語言查鏈路、Span、火焰圖等數據的運維與後端同學。
  • 希望把「列工具、填 Region/InstanceId/時間範圍」交給 Agent,但仍保留人工確認參數的團隊。

限制與注意

  • 必須具備有效騰訊雲 API 密鑰;SkillHub 標記 requires_api_key=true。若出現服務角色授權失敗等錯誤,需按技能內 references/error_log_guide.md 在控制台完成授權。
  • 工具集合由遠端 MCP Server 決定,文章無法枚舉全部接口名;以 list-tools 實時結果爲準。
  • 移動端遠程使用時,Skill 強制禁止創建臨時文件、禁止 rm、須在對話內用 Markdown 展示數據(見 mobile_compat_guide.md)。
  • SkillHub 頁面統計(截至資料抓取):評分 100000,下載 1615,安裝 13;安裝後若 Agent 未加載新技能,需按所用客戶端說明刷新或重啓。

結尾

Tencent Cloud APM 把騰訊雲 APM 的 MCP 能力封裝成可安裝的 Agent Skill:內嵌 SDK、標準簽名鑑權、腳本化的 ping / list-tools / call-tool,再配合交互與安全規範,讓性能分析從「切控制台」變成「在對話裏按步驟查」。需要安裝或查看更新時,可訪問 SkillHub 官方頁:Tencent Cloud APM;API 入口:https://api.skillhub.cn/tencent-adm/apm-performance-analysis。

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

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

小夜