Amplitude Automation via Rube MCP 是通过 Composio 的 Amplitude 工具包,借助 Rube MCP 来自动化 Amplitude 产品分析任务的技能。
【前提条件】 需要连接 Rube MCP(提供 RUBE_SEARCH_TOOLS);通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Amplitude 连接(工具包为 amplitude);每次操作前应始终先调用 RUBE_SEARCH_TOOLS 获取当前工具 schema。
【设置步骤】
- 获取 Rube MCP:在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥,添加端点即可使用。
- 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用。
- 调用 RUBE_MANAGE_CONNECTIONS,工具包为 amplitude。
- 若连接状态不是 ACTIVE,按返回的授权链接完成 Amplitude 认证。
- 确认连接状态为 ACTIVE 后再运行任何工作流。
【核心工作流】
-
发送事件(Send Events) 用途:跟踪事件或向 Amplitude 发送事件数据。 工具:AMPLITUDE_SEND_EVENTS(必需)。 关键参数:events 数组,每个事件对象包含 event_type(事件名称,如 page_view、purchase)、user_id(唯一用户标识,无 device_id 时必需)、device_id(设备标识,无 user_id 时必需)、event_properties(自定义事件属性对象)、user_properties(要设置的用户属性对象)、time(事件时间戳,自 epoch 起的毫秒数)。 注意事项:每个事件至少需要 user_id 或 device_id 之一;event_type 必需且不能为空;time 必须是毫秒(13 位 epoch),不是秒;存在批量限制,需查看 schema 确认每次请求最大事件数;事件异步处理,API 成功响应不代表数据立即可查询。
-
获取用户活动(Get User Activity) 用途:查看特定用户的事件历史。 工具:AMPLITUDE_FIND_USER(前置步骤)→ AMPLITUDE_GET_USER_ACTIVITY(必需)。 关键参数:user(Amplitude 内部用户 ID,来自 FIND_USER)、offset(事件列表分页偏移)、limit(返回最大事件数)。 注意事项:user 参数需要 Amplitude 的内部用户 ID,而不是应用自身的 user_id;必须先调用 FIND_USER 将 user_id 解析为 Amplitude 内部 ID;活动默认按时间倒序返回;大量活动历史需通过 offset 分页。
-
查找与识别用户(Find and Identify Users) 用途:查找用户或设置用户属性。 工具:AMPLITUDE_FIND_USER(必需)→ AMPLITUDE_IDENTIFY(可选)。 关键参数:FIND_USER 的 user(搜索词,可为 user_id、email 或 Amplitude ID);IDENTIFY 的 user_id、device_id(作为 user_id 的替代)、user_properties(含 $set、$unset、$add、$append 操作的对象)。 注意事项:FIND_USER 会在 user_id、device_id 和 Amplitude ID 中搜索;IDENTIFY 使用特殊属性操作($set、$unset、$add、$append);$set 覆盖现有值,$setOnce 仅在未设置时设置;IDENTIFY 至少需要 user_id 或 device_id 之一;用户属性变更为最终一致,并非立即生效。
-
管理分群(Manage Cohorts) 用途:列出分群、查看分群详情或更新分群成员。 工具:AMPLITUDE_LIST_COHORTS(必需)→ AMPLITUDE_GET_COHORT(可选)→ AMPLITUDE_UPDATE_COHORT_MEMBERSHIP(可选)→ AMPLITUDE_CHECK_COHORT_STATUS(可选)。 关键参数:LIST_COHORTS 无必需参数;GET_COHORT 需 cohort_id(来自列表结果);UPDATE_COHORT_MEMBERSHIP 需 cohort_id(目标分群 ID)和 memberships(含 add 和/或 remove 用户 ID 数组的对象);CHECK_COHORT_STATUS 需更新响应中的 request_id。 注意事项:所有分群特定操作都需要分群 ID;UPDATE_COHORT_MEMBERSHIP 是异步的,需用 CHECK_COHORT_STATUS 验证;状态检查需要更新响应中的 request_id;每次请求的成员变更可能有上限,大批量更新需分块;仅行为分群支持 API 成员更新。
-
浏览事件类别(Browse Event Categories) 用途:发现 Amplitude 中可用的事件类型和类别。 工具:AMPLITUDE_GET_EVENT_CATEGORIES(必需)。 关键参数:无必需参数,返回所有已配置的事件类别。 注意事项:类别在 Amplitude UI 中配置,API 提供只读访问;类别内的事件名称区分大小写;可在发送事件前用这些类别校验 event_type 值。
【常见模式】 ID 解析:应用 user_id → Amplitude 内部 ID:调用 AMPLITUDE_FIND_USER(user=你的 user_id)→ 从响应提取 Amplitude 内部用户 ID → 用内部 ID 调用 GET_USER_ACTIVITY。 分群名称 → 分群 ID:调用 AMPLITUDE_LIST_COHORTS → 在结果中按名称查找分群 → 提取 id 用于分群操作。 用户属性操作:Amplitude IDENTIFY 支持 $set(设置属性值,覆盖现有)、$setOnce(仅在未设置时设置)、$add(递增数值属性)、$append(向列表属性追加)、$unset(完全移除属性)。示例结构:{"user_properties": {"$set": {"plan": "premium", "company": "Acme"}, "$add": {"login_count": 1}}}。 异步操作模式:分群成员更新:调用 AMPLITUDE_UPDATE_COHORT_MEMBERSHIP → 获取 request_id → 用 request_id 调用 AMPLITUDE_CHECK_COHORT_STATUS → 重复直至状态为 complete 或 error。
【已知陷阱】 用户 ID:Amplitude 有独立于应用自身的内部用户 ID;FIND_USER 将你的 ID 解析为 Amplitude 内部 ID;GET_USER_ACTIVITY 需要 Amplitude 内部 ID,而非你的 user_id。 事件时间戳:必须是自 epoch 起的毫秒(13 位);秒(10 位)会被解释为非常旧的日期;省略时间戳使用服务器接收时间。 速率限制:事件摄入有每项目吞吐限制;尽量批量发送事件以减少 API 调用;分群成员更新有异步处理限制。 响应解析:响应数据可能嵌套在 data 键下;用户活动按时间倒序返回事件;分群列表可能包含已归档分群,检查 status 字段;对可选字段做防御性解析并提供回退。
【快速参考】 发送事件:AMPLITUDE_SEND_EVENTS,关键参数 events(数组)。 查找用户:AMPLITUDE_FIND_USER,关键参数 user。 获取用户活动:AMPLITUDE_GET_USER_ACTIVITY,关键参数 user、offset、limit。 识别用户:AMPLITUDE_IDENTIFY,关键参数 user_id、user_properties。 列出分群:AMPLITUDE_LIST_COHORTS,无参数。 获取分群:AMPLITUDE_GET_COHORT,关键参数 cohort_id。 更新分群成员:AMPLITUDE_UPDATE_COHORT_MEMBERSHIP,关键参数 cohort_id、memberships。 检查分群状态:AMPLITUDE_CHECK_COHORT_STATUS,关键参数 request_id。 列出事件类别:AMPLITUDE_GET_EVENT_CATEGORIES,无参数。