mcpField
E
exploring-mcp-tool-usage

exploring-mcp-tool-usage

github.com/posthog数据与数据库95160 次安装今天更新
代码仓库

关于 exploring-mcp-tool-usage

用于探索 MCP 工具使用情况的 PostHog 技能,可帮助用户选择分析方向,并转到专用分析工具或 SQL。涵盖工具表现、故障、调用者、会话和 Agent 意图。

主要功能

  1. 01提供 MCP 使用分析问题建议
  2. 02将查询转至专用分析工具
  3. 03检查调用、错误、延迟和调用者
  4. 04探索会话与 Agent 意图
  5. 05用 SQL 分析未覆盖的维度

适用场景

  1. 01找出故障率或延迟较高的工具
  2. 02查看单个工具的趋势和调用者
  3. 03追踪 Agent 会话中的工具调用
  4. 04比较不同客户端框架的 MCP 使用情况

MCP 相关

此技能引导 Agent 使用 PostHog 的 MCP 分析工具,并在必要时通过 SQL 查询 MCP 工具调用事件。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/posthog/ai-plugin --skill exploring-mcp-tool-usage

安装后在 Claude Code 中输入/exploring-mcp-tool-usage确认已加载。

详细介绍

探索 MCP 工具的使用情况

任何使用 @posthog/mcp SDK 进行埋点的 MCP 服务,每当 Agent 调用工具时,都会发出一个 $mcp_tool_call 事件。对于知道自己想了解 MCP 工具使用情况,但还没确定具体问题的用户,这项技能是入口。先提供下方菜单,再根据用户的选择,转到相应的工具或专门技能。

优先使用受治理的指标

如果用户询问 MCP 失败率或百分比,请先调用 posthog:metric-list,再调用任何类型化工具或使用 SQL 方案,并查找 mcp_tool_call_fail_pct。使用 posthog:data-catalog-metric-run 运行一个已批准且未发生漂移的匹配查询,获取规范的摘要指标。如果用户还询问是哪个工具或执行环境导致了失败,请先回答摘要指标,再使用下方的逐工具工作流提供非规范的细分结果。如果没有匹配的受治理指标,请说明这一点,并将计算得出的比率标记为非规范。

此处的每个逐工具工具都接受 toolName(实际生效的工具名称,由服务端解析,因此请传入 Agent 实际调用的名称;但 posthog:query-mcp-tool-failures 除外,它匹配 $exception 事件,因此接受原始注册的 $mcp_tool_name) 和 dateRange,并运行与工具详情界面相同的查询运行器。因此,结果与界面一致,你也无需手写 HogQL。

推荐问题

用户不确定该问什么时,先从以下问题入手:

询问用户……由……回答
“哪些工具失败最多,或者最慢?”exploring-mcp-tool-quality(对所有工具排名),然后用 posthog:query-mcp-tool-stats 深入查看
“工具 X 的整体表现如何?”posthog:query-mcp-tool-stats — 调用次数、错误、p50/p95、用户、会话、意图
“工具 X 的趋势如何?”posthog:query-mcp-tool-daily-stats — 按天统计的序列
“工具 X 为什么会失败?”posthog:query-mcp-tool-failures — 按执行环境列出主要错误消息(原始工具名称)
“谁最常使用工具 X?”posthog:query-mcp-tool-top-users — 主要调用者(包括个人邮箱/姓名)
“工具 X 调用前后调用了什么?”posthog:query-mcp-tool-neighbors(neighborDirection: before/after)
“Agent 试图用工具 X 做什么?”posthog:query-mcp-tool-sample-intents — 最近的 Agent 意图
“工具 X 注册时使用了什么描述?”posthog:query-mcp-tool-descriptions — 记录到的不同描述
“哪些执行环境在使用我的 MCP?可靠性如何?”posthog:query-mcp-harness-breakdown — 按客户端统计调用次数/错误/会话
“Agent 使用所有工具时都试图做什么?”exploring-mcp-intent-clusters — 语义目标聚类
“有哪些人正在连接?他们的活跃程度如何?”posthog:mcp-analytics-sessions-list — 每个会话一行,包含客户端和个人信息
“这个会话具体做了什么?”exploring-mcp-sessions — 单次 Agent 运行中的工具调用序列

查找工具名称

每个工具都需要 toolName。如果用户指定了工具名称,就传入该名称。如果用户提出宽泛的“哪个工具……”问题,则从 exploring-mcp-tool-quality 开始,对工具进行排名,选出最突出的工具,然后使用上面的单工具工具进一步分析。要传入的名称是有效工具名称(对于单次执行的包装器调用,即内部工具)——与工具质量排名返回的字符串相同。唯一的例外是 posthog:query-mcp-tool-failures:它会根据原始注册的 $mcp_tool_name 匹配 $exception 事件,而不是有效的内部工具名称。

如何使用单工具工具

使用工具名称和时间范围调用它,例如,查询工具的关键数据:

posthog:query-mcp-tool-stats  { "toolName": "<tool>", "dateRange": { "date_from": "-7d" } }

然后从菜单中自然地提出后续查询。例如,posthog:query-mcp-tool-stats 显示错误率较高时,可使用 posthog:query-mcp-tool-failures;显示覆盖面广时,可使用 posthog:query-mcp-tool-top-users 或 posthog:query-mcp-tool-neighbors。

何时改用 SQL

有类型化工具可处理的问题——不要手写 SQL:

问题工具
单个工具的关键数据posthog:query-mcp-tool-stats
单个工具的逐日趋势posthog:query-mcp-tool-daily-stats
单个工具的常见错误posthog:query-mcp-tool-failures
单个工具的主要调用者posthog:query-mcp-tool-top-users
单个工具调用前后的工具posthog:query-mcp-tool-neighbors
单个工具近期的 Agent 意图posthog:query-mcp-tool-sample-intents
单个工具的注册描述posthog:query-mcp-tool-descriptions
按客户端运行环境划分的使用情况posthog:query-mcp-harness-breakdown
列出会话posthog:mcp-analytics-sessions-list
单个会话的工具调用posthog:mcp-analytics-sessions-tool-calls

未覆盖的问题——使用 posthog:execute-sql:

  • 跨工具排名(工具质量矩阵——“哪个工具错误最多?”)
  • 筛选出错会话(会话列表不支持错误筛选,也不提供错误计数)
  • 会话中的有效工具名称(posthog:mcp-analytics-sessions-tool-calls 返回原始 $mcp_tool_name,而不是包装器调用的内部工具)
  • 任何自定义细分

如果你的工具列表中没有上表中的工具,也可以将 posthog:execute-sql 作为后备方案。直接查询 $mcp_tool_call;架构和查询示例见 models-mcp.md。

相关技能

评论

支持 Markdown