mcpField
S
segment-automation

segment-automation

github.com/davepoonデータ・データベース3.7k117 回インストール1 日前に更新
リポジトリ

segment-automation について

segment-automation は、Composio の Segment ツールキットと Rube MCP を介して Segment の顧客データ操作を自動化するスキルです。イベントや ID の送信、一括処理、ソース設定に対応します。

主な機能

  1. 01トラックイベントとページビューの送信
  2. 02ユーザーの識別と属性更新
  3. 03複数の Segment 呼び出しの一括処理
  4. 04ユーザーとグループの関連付け
  5. 05ユーザー ID の統合
  6. 06ソース設定の確認と更新

活用シーン

  1. 01Segment へのプロダクトイベント取り込み
  2. 02ユーザー属性とページビューの記録
  3. 03分析メッセージの一括送信
  4. 04匿名ユーザーと識別済みプロフィールの統合

MCP 対応

Rube MCP 経由で Composio の Segment ツールキットを利用します。Segment 接続を有効にし、RUBE_SEARCH_TOOLS で最新のツールスキーマを取得します。

インストール

コマンドをコピーしてターミナルで実行します。

$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 が利用可能)
  • RUBE_MANAGE_CONNECTIONS を使って、ツールキット segment で有効な 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 名は必須であり、一貫した命名規則に従う必要があります
  • プロパティは自由形式のオブジェクトです。イベント間でスキーマに一貫性を持たせてください
  • タイムスタンプは ISO 8601 形式である必要があります(例:'2024-01-15T10:30:00Z')
  • イベントは非同期で処理されます。API の成功応答は受け付けられたことを意味し、配信済みであることを意味するものではありません
2. ユーザーの識別

使用する場合:ユーザーが、Segment のユーザープロファイルに特性を関連付けたい場合

ツールの順序:

  1. SEGMENT_IDENTIFY - ユーザーの特性と ID を設定します[必須]

主なパラメーター:

  • userId:ユーザー識別子(anonymousId がない場合は必須)
  • anonymousId:匿名識別子
  • traits:ユーザープロパティ(メールアドレス、名前、プランなど)を含むオブジェクト
  • timestamp:ISO 8601 タイムスタンプ
  • context:コンテキストメタデータ

注意点:

  • userId または anonymousId の少なくとも一方が必要です
  • 特性は既存の特性とマージされ、置き換えられることはありません
  • 特性を削除するには、null を設定します
  • 新規ユーザーの場合、track の呼び出しより前に Identify の呼び出しを行ってください
  • 送信先での設定がない限り、特性に PII を含めないでください
3. バッチ操作

使用する場合:ユーザーが、複数のイベント、Identify、その他の呼び出しを 1 回のリクエストで送信したい場合

ツールの順序:

  1. SEGMENT_BATCH - 複数の Segment 呼び出しを 1 回のリクエストで送信します[必須]

主なパラメーター:

  • batch:メッセージオブジェクトの配列。それぞれに以下を含みます:
    • type:メッセージの種類('track'、'identify'、'group'、'page'、'alias')
    • userId / anonymousId:ユーザー識別子
    • 種類に応じた追加フィールド(event、properties、traits など)

注意点:

  • バッチ内の各メッセージには、有効な type フィールドが必要です
  • バッチサイズには上限があります。現在の上限はスキーマで確認してください
  • バッチ内のすべてのメッセージは個別に処理されます。1 つの失敗が他のメッセージに影響することはありません
  • 各メッセージは、それぞれの種類に応じた要件を個別に満たす必要があります(例:track にはイベント名が必要です)
  • 複数の呼び出しを送信するには、バッチが最も効率的です。個別の呼び出しよりもバッチを優先してください
4. ユーザーをグループに追加する

使用するタイミング:ユーザーを会社、チーム、または組織に関連付けたい場合

ツールの順序:

  1. SEGMENT_GROUP - ユーザーをグループに関連付けます[必須]

主なパラメーター:

  • userId:ユーザー識別子(anonymousId がない場合は必須)
  • anonymousId:匿名識別子
  • groupId:グループ/組織の識別子(必須)
  • traits:グループのプロパティを含むオブジェクト(name、industry、size、plan)
  • timestamp:ISO 8601 形式のタイムスタンプ

注意点:

  • groupId は必須です。会社または組織を識別します
  • グループの traits は、そのグループの既存の traits とマージされます
  • ユーザーは複数のグループに所属できます
  • グループの traits はユーザープロファイルではなく、グループプロファイルを更新します
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 が含まれます
  • Page 呼び出しは自動化されていることが多く、手動での使用はサーバーサイドのページトラッキングが目的です
6. ユーザーをエイリアス化し、ソースを管理する

使用するタイミング:匿名ユーザーと識別済みユーザーを統合したい場合、またはソース設定を管理したい場合

ツールの順序:

  1. SEGMENT_ALIAS - 2 つのユーザーIDを関連付けます[任意]
  2. SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE - ソースのスキーマ設定を表示します[任意]
  3. SEGMENT_UPDATE_SOURCE - ソース設定を更新します[任意]

主なパラメーター:

  • ALIAS の場合:
    • userId:新しいユーザー識別子(識別済みのID)
    • previousId:以前のユーザー識別子(匿名ID)
  • ソース操作の場合:
    • sourceId:ソース識別子

注意点:

  • ALIAS は一方向の操作で、取り消すことはできません
  • previousId は匿名/以前のID、userId は新しい/識別済みのIDです
  • すべての宛先が alias 呼び出しをサポートしているわけではありません。宛先のドキュメントを確認してください
  • ユーザーが初めて識別されるとき(例:サインアップ時)に、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')
  • Traits:snake_case を使用します(例:'first_name'、'plan_type')

既知の注意点

ID の解決:

  • すべての呼び出しに userId または anonymousId を必ず含めてください
  • ユーザーIDの統合ごとに、ALIAS は一度だけ使用してください
  • 適切にユーザーを関連付けられるよう、トラッキングの前にユーザーを識別してください

データ品質:

  • イベント名はすべてのソースで一貫させてください
  • 下流での互換性を確保するため、プロパティは定義済みのスキーマに従う必要があります
  • 宛先が対応する設定になっていない限り、機密性の高い PII の送信は避けてください

レート制限:

  • レート制限を超えないよう、大量処理には 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

コメント