mcpField
S
segment-automation

segment-automation

github.com/davepoon数据与数据库3.7k117 次安装今天更新
代码仓库

关于 segment-automation

segment-automation 是通过 Composio 的 Segment 工具包和 Rube MCP 自动处理 Segment 客户数据操作的技能,支持事件与身份调用、批量提交及来源配置。

主要功能

  1. 01发送跟踪事件和页面浏览
  2. 02识别用户并更新属性
  3. 03批量提交多项 Segment 调用
  4. 04将用户关联到群组
  5. 05关联用户身份
  6. 06查看和更新来源设置

适用场景

  1. 01向 Segment 导入产品事件
  2. 02记录用户属性和页面浏览
  3. 03批量发送分析消息
  4. 04将匿名用户关联到已识别资料

MCP 相关

通过 Rube MCP 使用 Composio 的 Segment 工具包。需要启用 Segment 连接,并使用 RUBE_SEARCH_TOOLS 获取当前工具 schema。

安装

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

$npx skills add https://github.com/davepoon/buildwithclaude --skill segment-automation

安装后在 Claude Code 中输入/segment-automation确认已加载。

详细介绍

通过 Rube MCP 自动化 Segment

通过 Rube MCP 使用 Composio 的 Segment 工具包,自动执行 Segment 客户数据平台操作。

工具包文档:composio.dev/toolkits/segment

前提条件

  • 必须已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
  • 通过工具包为 segment 的 RUBE_MANAGE_CONNECTIONS 建立有效的 Segment 连接
  • 始终先调用 RUBE_SEARCH_TOOLS,以获取当前工具架构

设置

获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥——添加端点即可使用。

  1. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用
  2. 调用工具包为 segment 的 RUBE_MANAGE_CONNECTIONS
  3. 如果连接状态不是 ACTIVE,请按照返回的认证链接完成 Segment 身份验证
  4. 在运行任何工作流之前,确认连接状态显示为 ACTIVE

核心工作流

1. 跟踪事件

适用场景:用户希望向 Segment 发送事件数据,以便下游目标使用

工具调用顺序:

  1. SEGMENT_TRACK - 发送单个跟踪事件 [必需]

关键参数:

  • userId:用户标识符(如果没有 anonymousId,则为必需)
  • anonymousId:匿名标识符(如果没有 userId,则为必需)
  • event:事件名称(例如,'Order Completed'、'Button Clicked')
  • properties:包含事件专属属性的对象
  • timestamp:ISO 8601 时间戳(可选;默认为服务器时间)
  • context:包含上下文元数据(IP、用户代理等)的对象

注意事项:

  • userId 和 anonymousId 至少需要提供一个
  • 必须提供 event 名称,并且应遵循一致的命名规范
  • properties 是自由格式对象;请确保不同事件间的架构一致
  • 时间戳必须采用 ISO 8601 格式(例如,'2024-01-15T10:30:00Z')
  • 事件会异步处理;API 响应成功表示已接收,并不代表已送达
2. 识别用户

适用场景:用户希望在 Segment 中将特征关联到用户档案

工具调用顺序:

  1. SEGMENT_IDENTIFY - 设置用户特征和身份 [必需]

关键参数:

  • userId:用户标识符(如果没有 anonymousId,则为必需)
  • anonymousId:匿名标识符
  • traits:包含用户属性(电子邮件、姓名、套餐等)的对象
  • timestamp:ISO 8601 时间戳
  • context:上下文元数据

注意事项:

  • userId 和 anonymousId 至少需要提供一个
  • 特征会与现有特征合并,而非替换
  • 如需移除某项特征,请将其设为 null
  • 对新用户,应先调用 Identify,再调用 Track
  • 除非目标已配置为接收个人身份信息(PII),否则请避免在特征中发送 PII
3. 批量操作

适用场景:用户希望在单个请求中发送多个事件、用户识别信息或其他调用

工具调用顺序:

  1. SEGMENT_BATCH - 在一个请求中发送多个 Segment 调用 [必需]

关键参数:

  • batch:消息对象数组,每个对象包含:
    • type:消息类型('track'、'identify'、'group'、'page'、'alias')
    • userId / anonymousId:用户标识符
    • 根据类型提供的其他字段(event、properties、traits 等)

注意事项:

  • 批次中的每条消息都必须包含有效的 type 字段
  • 存在批次大小上限;请查看架构以了解当前限制
  • 批次中的所有消息都独立处理;一条消息失败不会影响其他消息
  • 每条消息都必须单独满足其类型的要求(例如,track 需要事件名称)
  • 批量操作是发送多个调用最有效的方式;优先于单独调用
4. 对用户进行分组

适用场景:用户希望将某个用户关联到一家公司、团队或组织

工具调用顺序:

  1. SEGMENT_GROUP - 将用户关联到某个群组[必需]

关键参数:

  • userId:用户标识符(如果没有 anonymousId,则必需)
  • anonymousId:匿名标识符
  • groupId:群组/组织标识符(必需)
  • traits:包含群组属性的对象(名称、行业、规模、套餐)
  • timestamp:ISO 8601 时间戳

注意事项:

  • 必须提供 groupId;它用于标识公司或组织
  • 群组特征会与该群组已有的特征合并
  • 一个用户可以属于多个群组
  • 群组特征会更新群组资料,而非用户资料
5. 跟踪页面浏览

适用场景:用户希望在 Segment 中记录页面浏览事件

工具调用顺序:

  1. SEGMENT_PAGE - 发送页面浏览事件[必需]

关键参数:

  • userId:用户标识符(如果没有 anonymousId,则必需)
  • anonymousId:匿名标识符
  • name:页面名称(例如,'Home'、'Pricing'、'Dashboard')
  • category:页面类别(例如,'Docs'、'Marketing')
  • properties:包含页面专属属性的对象(url、title、referrer)

注意事项:

  • 必须至少提供 userId 或 anonymousId 其中之一
  • name 和 category 为可选项,但建议提供以便进行适当的分析
  • 标准属性包括 url、title、referrer、path、search
  • 页面调用通常会自动执行;手动调用用于服务端页面跟踪
6. 为用户创建别名并管理来源

适用场景:用户希望合并匿名用户与已识别用户,或管理来源配置

工具调用顺序:

  1. SEGMENT_ALIAS - 关联两个用户身份[可选]
  2. SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE - 查看来源架构设置[可选]
  3. SEGMENT_UPDATE_SOURCE - 更新来源配置[可选]

关键参数:

  • 对于 ALIAS:
    • userId:新的用户标识符(已识别的 ID)
    • previousId:旧的用户标识符(匿名 ID)
  • 对于来源操作:
    • sourceId:来源标识符

注意事项:

  • ALIAS 是单向操作,无法撤销
  • previousId 是匿名/旧 ID,userId 是新的/已识别的 ID
  • 并非所有目标端都支持别名调用;请查阅目标端文档
  • 用户首次完成身份识别时(例如注册),应调用一次 ALIAS
  • 更新来源可能会影响数据收集;请仔细检查变更

常见模式

用户生命周期

标准的 Segment 用户生命周期:

1. Anonymous user visits -> PAGE call with anonymousId
2. User interacts -> TRACK call with anonymousId
3. User signs up -> ALIAS (anonymousId -> userId), then IDENTIFY with traits
4. User takes action -> TRACK call with userId
5. User joins org -> GROUP call linking userId to groupId
批处理优化

用于批量数据摄取:

1. Collect events in memory (array of message objects)
2. Each message includes type, userId/anonymousId, and type-specific fields
3. Call SEGMENT_BATCH with the collected messages
4. Check response for any individual message errors
命名约定

Segment 建议统一事件命名:

  • 事件:使用“对象 动作”格式(例如,'Order Completed'、'Article Viewed')
  • 属性:使用 snake_case(例如,'order_total'、'product_name')
  • 特征:使用 snake_case(例如,'first_name'、'plan_type')

已知注意事项

身份解析:

  • 每次调用都必须包含 userId 或 anonymousId
  • 每次用户身份合并仅使用一次 ALIAS
  • 在跟踪事件前先进行身份识别,确保正确关联用户

数据质量:

  • 所有来源中的事件名称应保持一致
  • 属性应遵循既定架构,以确保下游兼容性
  • 除非目标端已配置为处理敏感个人身份信息,否则请避免发送此类信息

速率限制:

  • 批量操作时使用 BATCH,以遵守速率限制
  • 单次调用会受到来源级别的速率限制
  • 批量调用效率更高,也不容易受到限流

响应解析:

  • 成功响应表示请求已被接受,并不代表已送达目标端
  • 响应数据可能嵌套在 data 键下
  • 检查批量响应中的错误字段,查看单条消息是否失败

时间戳:

  • 必须采用带时区的 ISO 8601 格式(例如,'2024-01-15T10:30:00Z')
  • 省略时间戳时,将使用服务器接收时间
  • 导入历史数据时应提供明确的时间戳

Quick Reference

TaskTool SlugKey Params
Track eventSEGMENT_TRACKuserId, event, properties
Identify userSEGMENT_IDENTIFYuserId, traits
Batch callsSEGMENT_BATCHbatch (array of messages)
Group userSEGMENT_GROUPuserId, groupId, traits
Page viewSEGMENT_PAGEuserId, name, properties
Alias identitySEGMENT_ALIASuserId, previousId
Source schemaSEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCEsourceId
Update sourceSEGMENT_UPDATE_SOURCEsourceId
WarehousesSEGMENT_LIST_CONNECTED_WAREHOUSES_FROM_SOURCEsourceId

Powered by Composio

评论

支持 Markdown