Automate Segment customer data platform operations through Composio's Segment toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/segment
RUBE_MANAGE_CONNECTIONS with toolkit segment
RUBE_SEARCH_TOOLS first to get current tool schemasGet Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit segment
When to use: User wants to send event data to Segment for downstream destinations
Tool sequence:
SEGMENT_TRACK - Send a single track event [Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifier (required if no userId)event: Event name (e.g., 'Order Completed', 'Button Clicked')properties: Object with event-specific propertiestimestamp: ISO 8601 timestamp (optional; defaults to server time)context: Object with contextual metadata (IP, user agent, etc.)Pitfalls:
userId or anonymousId is requiredevent name is required and should follow consistent naming conventionsWhen to use: User wants to associate traits with a user profile in Segment
Tool sequence:
SEGMENT_IDENTIFY - Set user traits and identity [Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifiertraits: Object with user properties (email, name, plan, etc.)timestamp: ISO 8601 timestampcontext: Contextual metadataPitfalls:
userId or anonymousId is requirednull
When to use: User wants to send multiple events, identifies, or other calls in a single request
Tool sequence:
SEGMENT_BATCH - Send multiple Segment calls in one request [Required]Key parameters:
batch: Array of message objects, each with:
type: Message type ('track', 'identify', 'group', 'page', 'alias')userId / anonymousId: User identifierPitfalls:
type fieldWhen to use: User wants to associate a user with a company, team, or organization
Tool sequence:
SEGMENT_GROUP - Associate user with a group [Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifiergroupId: Group/organization identifier (required)traits: Object with group properties (name, industry, size, plan)timestamp: ISO 8601 timestampPitfalls:
groupId is required; it identifies the company or organizationWhen to use: User wants to record page view events in Segment
Tool sequence:
SEGMENT_PAGE - Send a page view event [Required]Key parameters:
userId: User identifier (required if no anonymousId)anonymousId: Anonymous identifiername: Page name (e.g., 'Home', 'Pricing', 'Dashboard')category: Page category (e.g., 'Docs', 'Marketing')properties: Object with page-specific properties (url, title, referrer)Pitfalls:
userId or anonymousId is requiredname and category are optional but recommended for proper analyticsurl, title, referrer, path, search
When to use: User wants to merge anonymous and identified users, or manage source configuration
Tool sequence:
SEGMENT_ALIAS - Link two user identities together [Optional]SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE - View source schema settings [Optional]SEGMENT_UPDATE_SOURCE - Update source configuration [Optional]Key parameters:
userId: New user identifier (the identified ID)previousId: Old user identifier (the anonymous ID)sourceId: Source identifierPitfalls:
previousId is the anonymous/old ID, userId is the new/identified IDStandard Segment user lifecycle:
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
For bulk data ingestion:
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 recommends consistent event naming:
Identity Resolution:
userId or anonymousId on every callData Quality:
Rate Limits:
Response Parsing:
data keyTimestamps:
| Task | Tool Slug | Key Params |
|---|---|---|
| Track event | SEGMENT_TRACK | userId, event, properties |
| Identify user | SEGMENT_IDENTIFY | userId, traits |
| Batch calls | SEGMENT_BATCH | batch (array of messages) |
| Group user | SEGMENT_GROUP | userId, groupId, traits |
| Page view | SEGMENT_PAGE | userId, name, properties |
| Alias identity | SEGMENT_ALIAS | userId, previousId |
| Source schema | SEGMENT_LIST_SCHEMA_SETTINGS_IN_SOURCE | sourceId |
| Update source | SEGMENT_UPDATE_SOURCE | sourceId |
| Warehouses | SEGMENT_LIST_CONNECTED_WAREHOUSES_FROM_SOURCE | sourceId |
Powered by Composio