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。

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

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

小夜