名称: posthog-automation 描述: “通过Rube MCP(Composio)自动化PostHog任务:事件、功能标志、项目、用户配置文件、注释。始终首先搜索工具以获取当前模式。” 要求: mcp: [rube] 类别: devops
通过Rube MCP实现PostHog自动化
通过Composio的PostHog工具包和Rube MCP,自动化PostHog产品分析和功能标志管理。
工具包文档: composio.dev/toolkits/posthog
先决条件
- Rube MCP必须已连接(RUBE_SEARCH_TOOLS可用)
- 通过
RUBE_MANAGE_CONNECTIONS与工具包posthog建立活动的PostHog连接 - 始终首先调用
RUBE_SEARCH_TOOLS以获取当前工具模式
设置
获取Rube MCP: 在客户端配置中添加https://rube.app/mcp作为MCP服务器。无需API密钥——只需添加端点即可工作。
- 通过确认
RUBE_SEARCH_TOOLS响应来验证Rube MCP可用 - 使用工具包
posthog调用RUBE_MANAGE_CONNECTIONS - 如果连接状态不是ACTIVE,请按照返回的认证链接完成PostHog认证
- 在运行任何工作流之前,确认连接状态显示为ACTIVE
核心工作流
1. 捕获事件
使用场景: 用户希望向PostHog发送事件数据以进行分析追踪
工具序列:
POSTHOG_CAPTURE_EVENT- 向PostHog发送一个或多个事件 [必填]
关键参数:
event: 事件名称(例如,‘$pageview’、‘user_signed_up’、‘purchase_completed’)distinct_id: 唯一用户标识符(必填)properties: 包含事件特定属性的对象timestamp: ISO 8601时间戳(可选;默认为服务器时间)
陷阱:
distinct_id是每个事件的必填项;用于识别用户/设备- PostHog系统事件使用
$前缀(例如,‘$pageview’、‘$identify’) - 自定义事件不应使用
$前缀 - 属性是自由格式的;在整个事件中保持一致的模式
- 事件是异步处理的;摄入延迟通常为几秒
2. 列出和过滤事件
使用场景: 用户希望浏览或搜索捕获的事件
工具序列:
POSTHOG_LIST_AND_FILTER_PROJECT_EVENTS- 使用过滤器查询事件 [必填]
关键参数:
project_id: PostHog项目ID(必填)event: 按事件名称过滤person_id: 按人员ID过滤after: 在此ISO 8601时间戳之后的事件before: 在此ISO 8601时间戳之前的事件limit: 返回的最大事件数offset: 分页偏移量
陷阱:
project_id是必填项;首先通过LIST_PROJECTS解析- 日期过滤器使用ISO 8601格式(例如,‘2024-01-15T00:00:00Z’)
- 大量事件需要分页;使用
offset和limit - 结果默认按时间倒序返回
- 事件属性是嵌套的;仔细解析
3. 管理功能标志
使用场景: 用户希望创建、查看或管理功能标志
工具序列:
POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS- 列出现有功能标志 [必填]POSTHOG_RETRIEVE_FEATURE_FLAG_DETAILS- 获取详细标志配置 [可选]POSTHOG_CREATE_FEATURE_FLAGS_FOR_PROJECT- 创建新功能标志 [可选]
关键参数:
- 对于列表:
project_id(必填) - 对于详细信息:
project_id、id(功能标志ID) - 对于创建:
project_id: 目标项目key: 标志键(例如,‘new-dashboard-beta’)name: 人类可读的名称filters: 目标规则和推出百分比active: 标志是否启用
陷阱:
- 功能标志
key在项目内必须是唯一的 - 标志键应使用kebab-case(例如,‘my-feature-flag’)
filters定义了具有属性和推出百分比的目标组- 创建标志时使用
active: true会立即为匹配用户启用它 - 标志更改由于PostHog的轮询机制,在几秒内生效
4. 管理项目
使用场景: 用户希望列出或检查PostHog项目和组织
工具序列:
POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION- 列出所有项目 [必填]
关键参数:
organization_id: 组织标识符(根据认证情况可能可选)limit: 每页结果数offset: 分页偏移量
陷阱:
- 项目ID是数字的;用作大多数其他端点的参数
- 组织ID可能是必填的;检查您的PostHog设置
- 分页基于偏移量;迭代直到结果为空
- 项目设置包括API密钥和配置详细信息
5. 用户配置文件和认证
使用场景: 用户希望检查当前用户详细信息或验证API访问
工具序列:
POSTHOG_WHOAMI- 获取当前API用户信息 [可选]POSTHOG_RETRIEVE_CURRENT_USER_PROFILE- 获取详细用户配置文件 [可选]
关键参数:
- 两个调用都无需参数
- 返回当前认证用户的详细信息、权限和组织信息
陷阱:
- WHOAMI是一个轻量级检查;用于验证API连接性
- 用户配置文件包括组织成员资格和权限
- 这些端点确认API密钥的访问级别和范围
常见模式
ID解析
组织 -> 项目ID:
1. 调用POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION
2. 在结果中按名称查找项目
3. 提取id(数字)用于其他端点
功能标志名称 -> 标志ID:
1. 使用project_id调用POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS
2. 按key或name查找标志
3. 提取id用于详细操作
功能标志目标
功能标志支持复杂的目标:
{
"filters": {
"groups": [
{
"properties": [
{"key": "email", "value": "@company.com", "operator": "icontains"}
],
"rollout_percentage": 100
},
{
"properties": [],
"rollout_percentage": 10
}
]
}
}
- 组按顺序评估;第一个匹配的组决定推出
- 属性按用户特征过滤用户
- 推出百分比决定匹配用户中看到标志的比例
分页
- 事件:使用
offset和limit(基于偏移量) - 功能标志:使用
offset和limit(基于偏移量) - 项目:使用
offset和limit(基于偏移量) - 继续直到结果数组为空或小于
limit
已知陷阱
项目IDs:
- 大多数API端点需要
- 始终首先将项目名称解析为数字IDs
- 一个组织中可以有多个项目
事件命名:
- 系统事件使用
$前缀($pageview、$identify、$autocapture) - 自定义事件不应使用
$前缀 - 事件名称区分大小写;保持一致
功能标志:
- 标志键在项目内必须唯一
- 使用kebab-case作为标志键
- 更改在几秒内传播
- 删除标志是永久性的;考虑禁用代替
速率限制:
- 事件摄入有吞吐量限制
- 在可能的情况下批量事件以提高效率
- API端点有每分钟的速率限制
响应解析:
- 响应数据可能嵌套在
data或results键下 - 分页响应包括
count、next、previous字段 - 事件属性是嵌套对象;谨慎访问
- 使用回退进行防御性解析,以处理可选字段
快速参考
| 任务 | 工具 Slug | 关键参数 |
|---|---|---|
| 捕获事件 | POSTHOG_CAPTURE_EVENT | event, distinct_id, properties |
| 列出事件 | POSTHOG_LIST_AND_FILTER_PROJECT_EVENTS | project_id, event, after, before |
| 列出功能标志 | POSTHOG_LIST_AND_MANAGE_PROJECT_FEATURE_FLAGS | project_id |
| 获取标志详细信息 | POSTHOG_RETRIEVE_FEATURE_FLAG_DETAILS | project_id, id |
| 创建标志 | POSTHOG_CREATE_FEATURE_FLAGS_FOR_PROJECT | project_id, key, filters |
| 列出项目 | POSTHOG_LIST_PROJECTS_IN_ORGANIZATION_WITH_PAGINATION | organization_id |
| 我是谁 | POSTHOG_WHOAMI | (无) |
| 用户配置文件 | POSTHOG_RETRIEVE_CURRENT_USER_PROFILE | (无) |
由 Composio 提供支持