amplitude-automation

通过Rube MCP(Composio)自动化Amplitude任务:事件追踪、用户活动分析、群组管理、用户识别。始终优先搜索工具以获取当前数据架构。

查看详情
name:amplitude-automationdescription:"Automate Amplitude tasks via Rube MCP (Composio): events, user activity, cohorts, user identification. Always search tools first for current schemas."requires:mcp:[rube]

Amplitude Automation via Rube MCP

Automate Amplitude product analytics through Composio's Amplitude toolkit via Rube MCP.

Prerequisites

  • Rube MCP must be connected (RUBE_SEARCH_TOOLS available)

  • Active Amplitude connection via RUBE_MANAGE_CONNECTIONS with toolkit amplitude

  • Always call RUBE_SEARCH_TOOLS first to get current tool schemas
  • Setup

    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.


  • Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds

  • Call RUBE_MANAGE_CONNECTIONS with toolkit amplitude

  • If connection is not ACTIVE, follow the returned auth link to complete Amplitude authentication

  • Confirm connection status shows ACTIVE before running any workflows
  • Core 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 epoch

    Pitfalls:

  • At least one of user_id or device_id is required per event

  • event_type is required for every event; cannot be empty

  • time must be in milliseconds (13-digit epoch), not seconds

  • Batch limit applies; check schema for maximum events per request

  • Events are processed asynchronously; successful API response does not mean data is immediately queryable
  • 2. 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 list

  • limit: Maximum number of events to return
  • Pitfalls:

  • user parameter requires Amplitude's internal user ID, NOT your application's user_id

  • Must call FIND_USER first to resolve your user_id to Amplitude's internal ID

  • Activity is returned in reverse chronological order by default

  • Large activity histories require pagination via offset
  • 3. 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:

  • For FIND_USER:

  • - user: Search term (user_id, email, or Amplitude ID)
  • For IDENTIFY:

  • - user_id: Your application's user identifier
    - device_id: Device identifier (alternative to user_id)
    - user_properties: Object with $set, $unset, $add, $append operations

    Pitfalls:

  • FIND_USER searches across user_id, device_id, and Amplitude ID

  • IDENTIFY uses special property operations ($set, $unset, $add, $append)

  • $set overwrites existing values; $setOnce only sets if not already set

  • At least one of user_id or device_id is required for IDENTIFY

  • User property changes are eventually consistent; not immediate
  • 4. 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:

  • For LIST_COHORTS: No required parameters

  • For GET_COHORT: cohort_id (from list results)

  • For UPDATE_COHORT_MEMBERSHIP:

  • - cohort_id: Target cohort ID
    - memberships: Object with add and/or remove arrays of user IDs
  • For CHECK_COHORT_STATUS: request_id from update response
  • Pitfalls:

  • Cohort IDs are required for all cohort-specific operations

  • UPDATE_COHORT_MEMBERSHIP is asynchronous; use CHECK_COHORT_STATUS to verify

  • request_id from the update response is needed for status checking

  • Maximum membership changes per request may be limited; chunk large updates

  • Only behavioral cohorts support API membership updates
  • 5. 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:

  • No required parameters; returns all configured event categories
  • Pitfalls:

  • Categories are configured in Amplitude UI; API provides read access

  • Event names within categories are case-sensitive

  • Use these categories to validate event_type values before sending events
  • 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 entirely
  • Example 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:

  • Amplitude has its own internal user IDs separate from your application's

  • FIND_USER resolves your IDs to Amplitude's internal IDs

  • GET_USER_ACTIVITY requires Amplitude's internal ID, not your user_id
  • Event Timestamps:

  • Must be in milliseconds since epoch (13 digits)

  • Seconds (10 digits) will be interpreted as very old dates

  • Omitting timestamp uses server receive time
  • Rate Limits:

  • Event ingestion has throughput limits per project

  • Batch events where possible to reduce API calls

  • Cohort membership updates have async processing limits
  • Response Parsing:

  • Response data may be nested under data key

  • User activity returns events in reverse chronological order

  • Cohort lists may include archived cohorts; check status field

  • Parse defensively with fallbacks for optional fields
  • Quick Reference

    TaskTool SlugKey Params
    Send eventsAMPLITUDE_SEND_EVENTSevents (array)
    Find userAMPLITUDE_FIND_USERuser
    Get user activityAMPLITUDE_GET_USER_ACTIVITYuser, offset, limit
    Identify userAMPLITUDE_IDENTIFYuser_id, user_properties
    List cohortsAMPLITUDE_LIST_COHORTS(none)
    Get cohortAMPLITUDE_GET_COHORTcohort_id
    Update cohort membersAMPLITUDE_UPDATE_COHORT_MEMBERSHIPcohort_id, memberships
    Check cohort statusAMPLITUDE_CHECK_COHORT_STATUSrequest_id
    List event categoriesAMPLITUDE_GET_EVENT_CATEGORIES(none)