名称: segment-automation 描述: “通过Rube MCP(Composio)自动化Segment任务:跟踪事件、识别用户、管理群组、页面浏览、别名、批量操作。始终首先搜索工具以获取当前架构。” 要求: mcp: [rube] 类别: 分析
通过Rube MCP实现Segment自动化
通过Rube MCP和Composio的Segment工具包,自动化Segment客户数据平台操作。
工具包文档: composio.dev/toolkits/segment
前提条件
- 必须连接Rube MCP(确保RUBE_SEARCH_TOOLS可用)
- 通过
RUBE_MANAGE_CONNECTIONS使用工具包segment建立活动Segment连接 - 始终先调用
RUBE_SEARCH_TOOLS以获取当前工具架构
设置
获取Rube MCP:在客户端配置中添加https://rube.app/mcp作为MCP服务器。无需API密钥——只需添加端点即可工作。
- 确认Rube MCP可用,确保
RUBE_SEARCH_TOOLS响应 - 使用工具包
segment调用RUBE_MANAGE_CONNECTIONS - 如果连接未激活,请按照返回的认证链接完成Segment身份验证
- 运行任何工作流前确认连接状态显示为ACTIVE
核心工作流
1. 跟踪事件
使用场景:用户希望将事件数据发送到Segment,用于下游目的地
工具序列:
SEGMENT_TRACK- 发送单个跟踪事件 [必需]
关键参数:
userId:用户标识符(如果无anonymousId则必需)anonymousId:匿名标识符(如果无userId则必需)event:事件名称(例如“订单完成”、“按钮点击”)properties:包含事件特定属性的对象timestamp:ISO 8601时间戳(可选;默认为服务器时间)context:包含上下文元数据的对象(IP、用户代理等)
注意事项:
- 至少需要
userId或anonymousId之一 event名称必需,且应遵循一致的命名约定- 属性是自由格式对象;确保事件间架构一致
- 时间戳必须是ISO 8601格式(例如“2024-01-15T10:30:00Z”)
- 事件处理是异步的;成功的API响应表示已接受,而非已交付
2. 识别用户
使用场景:用户希望在Segment用户配置文件中关联特征
工具序列:
SEGMENT_IDENTIFY- 设置用户特征和身份 [必需]
关键参数:
userId:用户标识符(如果无anonymousId则必需)anonymousId:匿名标识符traits:包含用户属性的对象(邮箱、姓名、计划等)timestamp:ISO 8601时间戳context:上下文元数据
注意事项:
- 至少需要
userId或anonymousId之一 - 特征与现有特征合并,而非替换
- 要移除特征,将其设置为
null - 对新用户,应在跟踪调用前进行识别调用
- 除非目标地配置为处理,否则避免在特征中发送PII
3. 批量操作
使用场景:用户希望在单个请求中发送多个事件、识别或其他调用
工具序列:
SEGMENT_BATCH- 在一个请求中发送多个Segment调用 [必需]
关键参数:
batch:消息对象数组,每个包含:type:消息类型(“track”、“identify”、“group”、“page”、“alias”)userId/anonymousId:用户标识符- 基于类型的附加字段(事件、属性、特征等)
注意事项:
- 批量中每个消息必须有有效的
type字段 - 适用最大批量大小限制;检查架构以获取当前限制
- 批量中所有消息独立处理;一个失败不影响其他
- 每个消息必须独立满足其类型的需求(例如跟踪需要事件名称)
- 批量是发送多个调用的最有效方式;优先于单个调用
4. 分组用户
使用场景:用户希望将用户与公司、团队或组织关联
工具序列:
SEGMENT_GROUP- 将用户与群组关联 [必需]
关键参数:
userId:用户标识符(如果无anonymousId则必需)anonymousId:匿名标识符groupId:群组/组织标识符(必需)traits:包含群组属性的对象(名称、行业、规模、计划)timestamp:ISO 8601时间戳
注意事项:
groupId必需;它标识公司或组织- 群组特征与该群组现有特征合并
- 用户可以属于多个群组
- 群组特征更新群组配置文件,而非用户配置文件
5. 跟踪页面浏览
使用场景:用户希望在Segment中记录页面浏览事件
工具序列:
SEGMENT_PAGE- 发送页面浏览事件 [必需]
关键参数:
userId:用户标识符(如果无anonymousId则必需)anonymousId:匿名标识符name:页面名称(例如“首页”、“定价”、“仪表板”)category:页面类别(例如“文档”、“营销”)properties:包含页面特定属性的对象(url、标题、引用来源)
注意事项:
- 至少需要
userId或anonymousId之一 name和category可选但推荐用于正确分析- 标准属性包括
url、title、referrer、path、search - 页面调用通常自动化;手动使用用于服务器端页面跟踪
6. 别名用户和管理源
使用场景:用户希望合并匿名和已识别用户,或管理源配置
工具序列:
SEGMENT_ALIAS- 链接两个用户身份 [可选]SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE- 查看源架构设置 [可选]SEGMENT_UPDATE_SOURCE- 更新源配置 [可选]
关键参数:
- 对于ALIAS:
userId:新用户标识符(已识别ID)previousId:旧用户标识符(匿名ID)
- 对于源操作:
sourceId:源标识符
注意事项:
- ALIAS是单向操作;无法撤销
previousId是匿名/旧ID,userId是新/已识别ID- 并非所有目标地都支持别名调用;检查目标地文档
- ALIAS应在用户首次识别时(例如注册)调用一次
- 源更新可能影响数据收集;仔细审查更改
常见模式
用户生命周期
标准Segment用户生命周期:
1. 匿名用户访问 -> 使用anonymousId的PAGE调用
2. 用户交互 -> 使用anonymousId的TRACK调用
3. 用户注册 -> ALIAS(anonymousId -> userId),然后使用特征的IDENTIFY
4. 用户执行操作 -> 使用userId的TRACK调用
5. 用户加入组织 -> GROUP调用链接userId到groupId
批量优化
对于批量数据摄取:
1. 在内存中收集事件(消息对象数组)
2. 每个消息包括类型、userId/anonymousId和类型特定字段
3. 使用收集的消息调用SEGMENT_BATCH
4. 检查响应中是否有任何单个消息错误
命名约定
Segment推荐一致的事件命名:
- 事件:使用“对象 动作”格式(例如“订单完成”、“文章浏览”)
- 属性:使用蛇形命名(例如“order_total”、“product_name”)
- 特征:使用蛇形命名(例如“first_name”、“plan_type”)
已知注意事项
身份解析:
- 每次调用始终包含
userId或anonymousId - 每个用户身份合并仅使用ALIAS一次
- 在跟踪前识别,以确保正确的用户关联
数据质量:
- 事件名称应在所有源中一致
- 属性应遵循定义架构以用于下游兼容性
- 除非目标地配置为处理,否则避免发送敏感PII
速率限制:
- 使用BATCH进行批量操作以保持在速率限制内
- 单个调用按源限制速率
- 批量调用更高效且更不易被节流
响应解析:
- 成功响应表示接受,而非交付到目标地
- 响应数据可能嵌套在
data键下 - 检查批量响应中的错误字段,了解单个消息失败
时间戳:
- 必须是带时区的ISO 8601格式(例如“2024-01-15T10:30:00Z”)
- 省略时间戳使用服务器接收时间
- 历史数据导入应包含明确的时间戳
快速参考
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 跟踪事件 | SEGMENT_TRACK | userId, event, properties |
| 识别用户 | SEGMENT_IDENTIFY | userId, traits |
| 批量调用 | SEGMENT_BATCH | batch (消息数组) |
| 分组用户 | SEGMENT_GROUP | userId, groupId, traits |
| 页面浏览 | SEGMENT_PAGE | userId, name, properties |
| 别名身份 | SEGMENT_ALIAS | userId, previousId |
| 源架构 | SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE | sourceId |
| 更新源 | SEGMENT_UPDATE_SOURCE | sourceId |
| 仓库 | SEGMENT_LIST_CONNECTED_WAREHOUSES_FROM_SOURCE | sourceId |
由Composio提供支持