Amplitude Automation via Rube MCP
Automate Amplitude product analytics through Composio's Amplitude toolkit via Rube MCP.
Prerequisites
- - Rube MCP must be connected (RUBESEARCHTOOLS available)
- Active Amplitude connection via
RUBE_MANAGE_CONNECTIONS with toolkit INLINECODE1 - 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.
- 1. Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS responds - Call
RUBE_MANAGE_CONNECTIONS with toolkit INLINECODE6 - 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:
- 1.
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 - INLINECODE19 is required for every event; cannot be empty
- INLINECODE20 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:
- 1.
AMPLITUDE_FIND_USER - Find user by ID or property [Prerequisite] - INLINECODE22 - Retrieve user's event stream [Required]
Key parameters:
- -
user: Amplitude internal user ID (from FIND_USER) - INLINECODE24 : Pagination offset for event list
- INLINECODE25 : Maximum number of events to return
Pitfalls:
- -
user parameter requires Amplitude's internal user ID, NOT your application's userid - Must call FINDUSER 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 INLINECODE27
3. Find and Identify Users
When to use: User wants to look up users or set user properties
Tool sequence:
- 1.
AMPLITUDE_FIND_USER - Search for a user by various identifiers [Required] - INLINECODE29 - 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 operations
Pitfalls:
- - FINDUSER searches across userid, device_id, and Amplitude ID
- IDENTIFY uses special property operations (
$set, $unset, $add, $append) - INLINECODE42 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:
- 1.
AMPLITUDE_LIST_COHORTS - List all saved cohorts [Required] - INLINECODE47 - Get detailed cohort information [Optional]
- INLINECODE48 - Add/remove users from a cohort [Optional]
- INLINECODE49 - Check async cohort operation status [Optional]
Key parameters:
- - For LISTCOHORTS: No required parameters
- For GETCOHORT:
cohort_id (from list results) - For UPDATECOHORTMEMBERSHIP:
-
cohort_id: Target cohort ID
-
memberships: Object with
add and/or
remove arrays of user IDs
- - For CHECKCOHORTSTATUS:
request_id from update response
Pitfalls:
- - Cohort IDs are required for all cohort-specific operations
- UPDATECOHORTMEMBERSHIP is asynchronous; use CHECKCOHORTSTATUS to verify
- INLINECODE56 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:
- 1.
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:
CODEBLOCK0
Cohort name -> Cohort ID:
CODEBLOCK1
User Property Operations
Amplitude IDENTIFY supports these property operations:
- -
$set: Set property value (overwrites existing) - INLINECODE59 : Set only if property not already set
- INLINECODE60 : Increment numeric property
- INLINECODE61 : Append to list property
- INLINECODE62 : Remove property entirely
Example structure:
CODEBLOCK2
Async Operation Pattern
For cohort membership updates:
CODEBLOCK3
Known Pitfalls
User IDs:
- - Amplitude has its own internal user IDs separate from your application's
- FINDUSER resolves your IDs to Amplitude's internal IDs
- GETUSERACTIVITY requires Amplitude's internal ID, not your userid
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
| Task | Tool Slug | Key Params |
|---|
| Send events | AMPLITUDESENDEVENTS | events (array) |
| Find user |
AMPLITUDE
FINDUSER | user |
| Get user activity | AMPLITUDE
GETUSER_ACTIVITY | user, offset, limit |
| Identify user | AMPLITUDE
IDENTIFY | userid, user_properties |
| List cohorts | AMPLITUDE
LISTCOHORTS | (none) |
| Get cohort | AMPLITUDE
GETCOHORT | cohort_id |
| Update cohort members | AMPLITUDE
UPDATECOHORT
MEMBERSHIP | cohortid, memberships |
| Check cohort status | AMPLITUDE
CHECKCOHORT
STATUS | requestid |
| List event categories | AMPLITUDE
GETEVENT_CATEGORIES | (none) |
通过Rube MCP实现Amplitude自动化
通过Composio的Amplitude工具包,经由Rube MCP实现Amplitude产品分析自动化。
前置条件
- - 必须已连接Rube MCP(RUBESEARCHTOOLS可用)
- 通过RUBEMANAGECONNECTIONS使用工具包amplitude建立活跃的Amplitude连接
- 始终先调用RUBESEARCHTOOLS获取当前工具架构
设置
获取Rube MCP:在客户端配置中将https://rube.app/mcp添加为MCP服务器。无需API密钥——只需添加端点即可运行。
- 1. 通过确认RUBESEARCHTOOLS有响应来验证Rube MCP可用
- 使用工具包amplitude调用RUBEMANAGECONNECTIONS
- 如果连接状态不是ACTIVE,请按照返回的认证链接完成Amplitude身份验证
- 在运行任何工作流前确认连接状态显示为ACTIVE
核心工作流
1. 发送事件
使用场景:用户想要追踪事件或向Amplitude发送事件数据
工具序列:
- 1. AMPLITUDESENDEVENTS - 向Amplitude发送一个或多个事件 [必需]
关键参数:
- event
type:事件名称(例如pageview、purchase)
- user
id:唯一用户标识符(无deviceid时必需)
- device
id:设备标识符(无userid时必需)
- event_properties:自定义事件属性对象
- user_properties:要设置的用户属性对象
- time:事件时间戳(自纪元以来的毫秒数)
注意事项:
- - 每个事件至少需要userid或deviceid之一
- 每个事件都需要event_type,不能为空
- time必须是毫秒(13位纪元时间戳),而非秒
- 存在批次限制;请检查架构了解每次请求的最大事件数
- 事件异步处理;API响应成功不代表数据立即可查询
2. 获取用户活动
使用场景:用户想要查看特定用户的事件历史
工具序列:
- 1. AMPLITUDEFINDUSER - 通过ID或属性查找用户 [前置条件]
- AMPLITUDEGETUSER_ACTIVITY - 检索用户的事件流 [必需]
关键参数:
- - user:Amplitude内部用户ID(来自FIND_USER)
- offset:事件列表的分页偏移量
- limit:返回的最大事件数
注意事项:
- - user参数需要Amplitude的内部用户ID,而非您应用的userid
- 必须先调用FINDUSER将您的user_id解析为Amplitude的内部ID
- 默认按时间倒序返回活动记录
- 大量活动历史需要通过offset进行分页
3. 查找和识别用户
使用场景:用户想要查找用户或设置用户属性
工具序列:
- 1. AMPLITUDEFINDUSER - 通过各种标识符搜索用户 [必需]
- AMPLITUDE_IDENTIFY - 设置或更新用户属性 [可选]
关键参数:
- user:搜索词(user_id、email或Amplitude ID)
- user_id:您应用的用户标识符
- device
id:设备标识符(userid的替代)
- user_properties:包含$set、$unset、$add、$append操作的对象
注意事项:
- - FINDUSER会搜索userid、deviceid和Amplitude ID
- IDENTIFY使用特殊属性操作($set、$unset、$add、$append)
- $set覆盖现有值;$setOnce仅在未设置时设置
- IDENTIFY至少需要userid或device_id之一
- 用户属性变更是最终一致性,非即时生效
4. 管理群组
使用场景:用户想要列出群组、查看群组详情或更新群组成员
工具序列:
- 1. AMPLITUDELISTCOHORTS - 列出所有已保存的群组 [必需]
- AMPLITUDEGETCOHORT - 获取详细的群组信息 [可选]
- AMPLITUDEUPDATECOHORTMEMBERSHIP - 向群组添加/移除用户 [可选]
- AMPLITUDECHECKCOHORTSTATUS - 检查异步群组操作状态 [可选]
关键参数:
- - 对于LISTCOHORTS:无必需参数
- 对于GETCOHORT:cohortid(来自列表结果)
- 对于UPDATECOHORT_MEMBERSHIP:
- cohort_id:目标群组ID
- memberships:包含add和/或remove用户ID数组的对象
- - 对于CHECKCOHORTSTATUS:来自更新响应的request_id
注意事项:
- - 所有群组特定操作都需要群组ID
- UPDATECOHORTMEMBERSHIP是异步的;使用CHECKCOHORTSTATUS验证
- 状态检查需要更新响应中的request_id
- 每次请求的成员变更数量可能有限制;大更新需分块处理
- 仅行为群组支持API成员更新
5. 浏览事件类别
使用场景:用户想要发现Amplitude中可用的事件类型和类别
工具序列:
- 1. AMPLITUDEGETEVENT_CATEGORIES - 列出所有事件类别 [必需]
关键参数:
注意事项:
- - 类别在Amplitude UI中配置;API提供只读访问
- 类别内的事件名称区分大小写
- 在发送事件前使用这些类别验证event_type值
常见模式
ID解析
应用user_id -> Amplitude内部ID:
- 1. 使用user=您的userid调用AMPLITUDEFINDUSER
- 从响应中提取Amplitude的内部用户ID
- 使用内部ID进行GETUSER_ACTIVITY
群组名称 -> 群组ID:
- 1. 调用AMPLITUDELISTCOHORTS
- 在结果中按名称查找群组
- 提取id用于群组操作
用户属性操作
Amplitude IDENTIFY支持以下属性操作:
- - $set:设置属性值(覆盖现有值)
- $setOnce:仅在属性未设置时设置
- $add:增加数值属性
- $append:追加到列表属性
- $unset:完全移除属性
示例结构:
json
{
user_properties: {
$set: {plan: premium, company: Acme},
$add: {login_count: 1}
}
}
异步操作模式
对于群组成员更新:
- 1. 调用AMPLITUDEUPDATECOHORTMEMBERSHIP -> 获取requestid
- 使用requestid调用AMPLITUDECHECKCOHORTSTATUS
- 重复步骤2直到状态为complete或error
已知注意事项
用户ID:
- - Amplitude有自己的内部用户ID,与您应用的ID不同
- FINDUSER将您的ID解析为Amplitude的内部ID
- GETUSERACTIVITY需要Amplitude的内部ID,而非您的userid
事件时间戳:
- - 必须是自纪元以来的毫秒数(13位数字)
- 秒数(10位数字)会被解释为非常旧的日期
- 省略时间戳则使用服务器接收时间
速率限制:
- - 事件摄入有每个项目的吞吐量限制
- 尽可能批量处理事件以减少API调用
- 群组成员更新有异步处理限制
响应解析:
- - 响应数据可能嵌套在data键下
- 用户活动按时间倒序返回事件
- 群组列表可能包含已归档的群组;检查status字段
- 对可选字段使用防御性解析和回退
快速参考
| 任务 | 工具标识 | 关键参数 |
|---|
| 发送事件 | AMPLITUDESENDEVENTS | events(数组) |
| 查找用户 |
AMPLITUDE
FINDUSER | user |
| 获取用户活动 | AMPLITUDE
GETUSER_ACTIVITY | user, offset, limit |
| 识别用户 | AMPLITUDE
IDENTIFY | userid, user_properties |
|