前言¶
线上接口变慢、偶发超时,往往要同时在 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 返回为准。
- 远程 MCP 接入:通过
ApmClient.SendMCPMessage与 APM MCP Server 交互,支持连通检测(ping)、工具列表(tools/list)、工具调用(tools/call)。 - 业务与链路分析:Skill 简介明确包含业务系统查询、调用链追踪、火焰图、Span 耗时分析等运维向能力。
- 内嵌官方 SDK:技能包内 vendored 腾讯云 Python SDK(文档记载为 v3.1.93),无需单独
pip install或维护虚拟环境即可运行客户端脚本。 - 凭证与安全约束:SecretId/SecretKey 仅通过 shell 环境变量(或命令行参数)读取,禁止硬编码与
.env;对话中需用占位符,错误写入./logs/apm_error.log(权限 600,不记录密钥)。 - 交互规范:调用前须确认功能与参数;支持从对话上下文复用 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。