SuperAPI AI 工具集

instrument-mcp-server

数据与分析

查看项目

更新于 10-15 16:49

技能介绍

用途:为基于 @modelcontextprotocol/sdk 的 Node/TypeScript MCP 服务器接入 Amplitude 分析,使每次工具调用成为 Amplitude 事件,可与产品的留存、收入、Web/移动端使用数据关联。仅支持 Node/TypeScript,不支持其他语言或运行时。

主要能力与步骤: 1)安装并追踪工具调用(必需):按官方 README 的 Install 与 Quick start 操作,安装最新版本,例如 pnpm add @amplitude/mcp-analytics@latest,不要固定旧版本。需保证 analytics.instrumentServer(server, ...) 在 server.connect() 之前执行;每个工具处理函数都要用 analytics.instrumentTool(...) 包裹,未包裹的工具不会被追踪。默认事件带 [MCP] 前缀,避免与产品既有事件冲突;可通过 extra 附加自定义维度。 2)身份识别(必需):MCP 事件必须携带与 Web/移动端相同的 user_id,否则数据无法关联。可按 README 的 Identity 部分选择服务器级绑定、处理函数内 setIdentity() 或基于 authInfo 声明的 resolveIdentity 映射。默认会丢弃完全匿名、无锚点的事件,除非显式开启 emitAnonymousEvent: true(仅聚合统计),开启前需与用户确认。 3)采集调用理由(推荐):SDK 侧调用 analytics.setRationale(...),但需在服务器端约定如何传入。常见做法是向每个工具的输入 schema 注入可选 rationale 字段,并在被包裹的处理函数中读取后传给 SDK。该字段可选,缺失不影响运行;会作为保留属性 [MCP] Rationale 上报,截断至 1000 字符,后写覆盖先写。 4)为外链添加 UTM(推荐,仅当服务器返回链接时):在服务器构建 URL 时统一加上 utm_source=mcp、utm_medium=referral、utm_content=客户端名,使点击可归因于 MCP/智能体流量。前提是 Web 端分析能捕获 UTM 参数(Amplitude Browser SDK 2 默认捕获),否则无法关联。

适用场景:希望了解智能体如何调用 MCP 工具、调用意图与错误模式,并将 MCP 使用纳入产品整体分析的项目。

限制与注意:SDK 处于预览阶段且更新较快,安装、API 形态、配置与默认事件均以最新 README 为准,不要依赖记忆中的代码片段;不要固定旧版本;instrumentServer() 必须在 connect() 之前;所有工具都要包裹;user_id 必须与 Web/移动端一致;开启匿名事件会抬高聚合计数;仅加 UTM 而 Web 端未捕获 UTM 则无效。事件打通后,可参考 Amplitude 的 analyze-mcp-server 技能做意图聚类与错误分析。