amplitude-automation
Automate Amplitude tasks via Rube MCP (Composio): events, user activity, cohorts, user identification. Always search tools first for current schemas.
Amplitude Automation via Rube MCP
Automate Amplitude product analytics through Composio's Amplitude toolkit via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkit amplitudeRUBE_SEARCH_TOOLS first to get current tool schemasSetup
Get 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 amplitudeCore Workflows
1. Send Events
When to use: User wants to track events or send event data to Amplitude
Tool sequence:
AMPLITUDE_SEND_EVENTS - Send one or more events to Amplitude [Required]Key parameters:
events: Array of event objects, each containing:-
event_type: Name of the event (e.g., 'page_view', 'purchase')-
user_id: Unique user identifier (required if no device_id)-
device_id: Device identifier (required if no user_id)-
event_properties: Object with custom event properties-
user_properties: Object with user properties to set-
time: Event timestamp in milliseconds since epochPitfalls:
user_id or device_id is required per eventevent_type is required for every event; cannot be emptytime must be in milliseconds (13-digit epoch), not seconds2. Get User Activity
When to use: User wants to view event history for a specific user
Tool sequence:
AMPLITUDE_FIND_USER - Find user by ID or property [Prerequisite]AMPLITUDE_GET_USER_ACTIVITY - Retrieve user's event stream [Required]Key parameters:
user: Amplitude internal user ID (from FIND_USER)offset: Pagination offset for event listlimit: Maximum number of events to returnPitfalls:
user parameter requires Amplitude's internal user ID, NOT your application's user_idoffset3. Find and Identify Users
When to use: User wants to look up users or set user properties
Tool sequence:
AMPLITUDE_FIND_USER - Search for a user by various identifiers [Required]AMPLITUDE_IDENTIFY - Set or update user properties [Optional]Key parameters:
-
user: Search term (user_id, email, or Amplitude ID)-
user_id: Your application's user identifier-
device_id: Device identifier (alternative to user_id)-
user_properties: Object with $set, $unset, $add, $append operationsPitfalls:
$set, $unset, $add, $append)$set overwrites existing values; $setOnce only sets if not already setuser_id or device_id is required for IDENTIFY4. Manage Cohorts
When to use: User wants to list cohorts, view cohort details, or update cohort membership
Tool sequence:
AMPLITUDE_LIST_COHORTS - List all saved cohorts [Required]AMPLITUDE_GET_COHORT - Get detailed cohort information [Optional]AMPLITUDE_UPDATE_COHORT_MEMBERSHIP - Add/remove users from a cohort [Optional]AMPLITUDE_CHECK_COHORT_STATUS - Check async cohort operation status [Optional]Key parameters:
cohort_id (from list results)-
cohort_id: Target cohort ID-
memberships: Object with add and/or remove arrays of user IDsrequest_id from update responsePitfalls:
request_id from the update response is needed for status checking5. Browse Event Categories
When to use: User wants to discover available event types and categories in Amplitude
Tool sequence:
AMPLITUDE_GET_EVENT_CATEGORIES - List all event categories [Required]Key parameters:
Pitfalls:
Common Patterns
ID Resolution
Application user_id -> Amplitude internal ID:
1. Call AMPLITUDE_FIND_USER with user=your_user_id
Extract Amplitude's internal user ID from response
Use internal ID for GET_USER_ACTIVITY Cohort name -> Cohort ID:
1. Call AMPLITUDE_LIST_COHORTS
Find cohort by name in results
Extract id for cohort operations User Property Operations
Amplitude IDENTIFY supports these property operations:
$set: Set property value (overwrites existing)$setOnce: Set only if property not already set$add: Increment numeric property$append: Append to list property$unset: Remove property entirelyExample structure:
{
"user_properties": {
"$set": {"plan": "premium", "company": "Acme"},
"$add": {"login_count": 1}
}
}Async Operation Pattern
For cohort membership updates:
1. Call AMPLITUDE_UPDATE_COHORT_MEMBERSHIP -> get request_id
Call AMPLITUDE_CHECK_COHORT_STATUS with request_id
Repeat step 2 until status is 'complete' or 'error' Known Pitfalls
User IDs:
Event Timestamps:
Rate Limits:
Response Parsing:
data keyQuick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Send events | AMPLITUDE_SEND_EVENTS | events (array) |
| Find user | AMPLITUDE_FIND_USER | user |
| Get user activity | AMPLITUDE_GET_USER_ACTIVITY | user, offset, limit |
| Identify user | AMPLITUDE_IDENTIFY | user_id, user_properties |
| List cohorts | AMPLITUDE_LIST_COHORTS | (none) |
| Get cohort | AMPLITUDE_GET_COHORT | cohort_id |
| Update cohort members | AMPLITUDE_UPDATE_COHORT_MEMBERSHIP | cohort_id, memberships |
| Check cohort status | AMPLITUDE_CHECK_COHORT_STATUS | request_id |
| List event categories | AMPLITUDE_GET_EVENT_CATEGORIES | (none) |