基于 Rube MCP 与 Composio 的 Typless 自动化:awesome-claude-skills typless-automation 技能实战指南
基于 Rube MCP 与 Composio 的 Typless 自动化:awesome-claude-skills typless-automation 技能实战指南
Typless 是面向文档与数据提取场景的 SaaS 平台,而本仓库的 typless-automation 技能则为 Claude 提供了一条"零 API Key、一次 MCP 接入、全程动态发现工具"的自动化路径:通过 Composio 提供的 Rube MCP 网关,以 RUBE_SEARCH_TOOLS 动态发现真实工具、RUBE_MANAGE_CONNECTIONS 管理 OAuth 连接、RUBE_MULTI_EXECUTE_TOOL 执行操作,从而让 Agent 安全、稳定地驱动 Typless 业务。读完本文,你将掌握 Rube MCP 的接入与连接校验方法、Typless 工具发现与执行的标准三步工作流,以及 schema 演进、会话复用、分页、批量执行等生产级最佳实践。
技能概览:一份面向 Agent 的指令包
typless-automation 是 awesome-claude-skills 仓库中 composio-skills 目录下的一个标准 Claude Skill。与仓库中其他 78 个 SaaS 自动化技能一样,它遵循 Claude Skills 的通用格式:一个以 SKILL.md 为核心的文件,顶部带有 YAML frontmatter 元数据,正文则是一整套供 Agent 遵循的操作指令。
composio-skills/typless-automation/SKILL.md 的元数据声明如下:
---
name: typless-automation
description: "Automate Typless tasks via Rube MCP (Composio). Always search tools first for current schemas."
requires:
mcp: [rube]
---
其中两点值得注意:
description是技能触发的关键:会话启动时,Agent 只会看到技能的名称与描述(约 100 tokens),完整指令正文按需加载。描述中明确点名了"Typless tasks"、"Rube MCP"、"Always search tools first"三个关键词,确保涉及 Typless 操作时技能能被精准命中。requires.mcp: [rube]声明了运行时依赖:该技能依赖名为rube的 MCP 服务器。MCP 负责解决 Agent 与外部系统的连接、认证与工具发现问题,技能则定义"做什么、按什么顺序做、有哪些护栏",二者配合正是 README 中所述"生产环境中 MCP 提供访问、工具提供动作、技能提供行为"的三层协作模式。
前置条件:理解三层运行环境
在执行任何 Typless 自动化之前,技能要求满足以下三个前置条件:
- Rube MCP 已连接,且
RUBE_SEARCH_TOOLS工具可用; - Typless 连接已建立:通过
RUBE_MANAGE_CONNECTIONS创建,toolkit 指定为typless,状态为 ACTIVE; - 必须先调用
RUBE_SEARCH_TOOLS获取当前工具 schema。
第三条是整套方法论的核心:Rube MCP 暴露的工具(如工具 slug、输入参数)会随 Composio 平台与 Typless 的 API 演进而变化,技能文档中不写死任何工具名,而是要求 Agent 每次执行前动态发现——这保证了技能在不同时间点、不同连接状态下都能拿到"当前最新"的可用操作清单,避免因 schema 过期导致的调用失败。
环境搭建:接入 Rube MCP 并完成 Typless 连接
添加 Rube MCP 服务器
技能文档给出的接入方式非常轻量:在客户端的 MCP 服务器配置中添加入口地址 https://rube.app/mcp 即可,无需申请任何 API Key——添加端点后即可工作。Rube 是 Composio 提供的 MCP 网关,将 Composio 的数百个应用工具统一暴露为 MCP 工具。
四步完成连接校验
接入后,按以下顺序完成 Typless 连接的建立与校验:
- 确认 Rube MCP 可用:调用
RUBE_SEARCH_TOOLS,确认其正常响应; - 发起 Typless 连接:调用
RUBE_MANAGE_CONNECTIONS,toolkit 指定为typless; - 完成授权:若连接状态不是 ACTIVE,跟随返回的认证链接完成 OAuth 授权设置;
- 确认状态:在运行任何工作流前,确认连接状态显示为 ACTIVE。
步骤 3 对应的是 OAuth 授权流程——Typless 等 SaaS 应用通常要求用户授权后才允许第三方调用其 API,Rube 通过返回的认证链接引导用户一次性完成授权,之后的 token 生命周期(含过期刷新)由 Composio 侧托管。值得强调的是"确认 ACTIVE 再开工"这条纪律:连接失效(如 token 过期)是所有自动化失败中最常见也最隐蔽的原因之一。
工具发现:让 Agent 拿到"当下正确"的操作清单
技能要求在任何工作流执行前先做工具发现。文档给出了标准发现调用:
RUBE_SEARCH_TOOLS
queries: [{use_case: "Typless operations", known_fields: ""}]
session: {generate_id: true}
返回内容通常包含四类信息:
- 可用的工具 slug(如 Typless 相关操作的具体标识);
- 每个工具的输入 schema(字段名、类型、必填项);
- 推荐的执行计划(多个工具组合完成某业务目标时的建议顺序);
- 已知陷阱与边界情况。
queries.use_case 用于描述当前任务,例如"Typless operations";known_fields 初始为空,表示尚未掌握任何字段信息,由搜索返回补充;session.generate_id: true 则指示本次调用生成一个新的会话 ID,供后续步骤沿用。
核心工作流:三步标准模式
文档将 Typless 自动化的完整执行路径收敛为三步,这也是仓库中全部 Composio 自动化技能的统一模式(参见 composio-automation 等同类技能):
Step 1:发现可用工具
RUBE_SEARCH_TOOLS
queries: [{use_case: "your specific Typless task"}]
session: {id: "existing_session_id"}
复用已有会话 ID,针对当前具体任务(而非宽泛的 "Typless operations")发起精准搜索,获得本次任务对应的工具 slug 与输入 schema。
Step 2:检查连接状态
RUBE_MANAGE_CONNECTIONS
toolkits: ["typless"]
session_id: "your_session_id"
确认 typless toolkit 的连接在本次会话中仍处于 ACTIVE。若已失效,需重新授权后再继续,避免执行阶段报错。
Step 3:执行工具
RUBE_MULTI_EXECUTE_TOOL
tools: [{
tool_slug: "TOOL_SLUG_FROM_SEARCH",
arguments: {/* schema-compliant args from search results */}
}]
memory: {}
session_id: "your_session_id"
以 Step 1 发现的 slug 填充 tool_slug,以搜索结果返回的 schema 为准构造 arguments,并始终携带 memory 与 session_id 参数。RUBE_MULTI_EXECUTE_TOOL 支持在单次调用中传入多个工具,便于按推荐执行计划串联"先查询、后更新、再写入"等依赖步骤,并在步骤之间传递响应数据。
批量操作与完整 schema:两个重要补充工具
除三步主流程外,技能还提及两个高阶工具,用于覆盖更大规模的场景:
RUBE_REMOTE_WORKBENCH:适合批量操作或数据密集型处理。通过run_composio_tool()在远程环境中执行工具调用,可配合ThreadPoolExecutor以线程池并发跑循环批量任务(该模式在仓库其他技能如 survey_monkey-automation 中有更详细的展开);RUBE_GET_TOOL_SCHEMAS:当搜索结果返回的是schemaRef(schema 引用标识)而非内联的input_schema时,调用它加载该工具的完整输入 schema,确保参数构造严格合规。
已知陷阱与生产级最佳实践
文档用一整节列举了执行 Typless 自动化时必须避开的坑,每一条都对应真实的失败模式:
| 陷阱 | 正确做法 |
|---|---|
| 工具 schema 会变 | 绝不硬编码工具 slug 或参数,执行前必调 RUBE_SEARCH_TOOLS 重新发现 |
| 连接可能失效 | 执行前用 RUBE_MANAGE_CONNECTIONS 确认 ACTIVE;失效则重新授权 |
| 参数不合规 | 严格使用搜索结果中的字段名与类型,必要时用 RUBE_GET_TOOL_SCHEMAS 取全量 schema |
| 漏传 memory | RUBE_MULTI_EXECUTE_TOOL 调用中始终携带 memory,即使为空也要传 {} |
| 会话混乱 | 同一工作流内复用会话 ID;新工作流再生成新 ID |
| 分页遗漏 | 检查响应中的分页 token,持续拉取直到数据取完 |
结合仓库中同族技能的实现细节,还可以补充以下几条被反复强调的工程纪律:
- 分页字段:许多列表类操作支持分页,响应中通常携带
next_cursor或page_token,应循环取完为止(见 survey_monkey-automation); - 限流退避:收到限流错误时应降低请求频率并实现退避(backoff),而非盲目重试;
- 错误处理链路:先检查工具响应是否报错,再确认连接是否仍 ACTIVE,若因 OAuth token 过期则重新走
RUBE_MANAGE_CONNECTIONS认证流程; - 先查后建:创建资源前先搜索是否已存在同类资源,避免产生重复数据。
快速参考表
技能末尾附带的速查表浓缩了全部关键操作入口,可直接作为日常开发中的对照清单:
| 操作 | 方式 |
|---|---|
| 查找工具 | 使用 Typless 专属 use case 调用 RUBE_SEARCH_TOOLS |
| 建立连接 | 以 toolkit typless 调用 RUBE_MANAGE_CONNECTIONS |
| 执行操作 | 使用发现到的工具 slug 调用 RUBE_MULTI_EXECUTE_TOOL |
| 批量操作 | 使用 RUBE_REMOTE_WORKBENCH 中的 run_composio_tool() |
| 获取完整 schema | 对返回 schemaRef 的工具调用 RUBE_GET_TOOL_SCHEMAS |
在仓库中的延伸阅读
typless-automation 并非孤立的技能文件,它属于 composio-skills 目录下覆盖 78 个 SaaS 应用的自动化技能族。README 的 App Automation via Composio 一节说明:这批技能均通过 Rube MCP(Composio)实现,每个技能都包含工具序列、参数指引、已知陷阱与速查表,且统一使用从 Composio API 动态发现得到的真实工具 slug。
若想深入理解该模式的通用内核,可对照阅读:
- composio-skills/composio-automation/SKILL.md:同一模板下针对 Composio 自身工具包的版本,便于对比学习通用的三步工作流与陷阱清单;
- composio-skills/survey_monkey-automation/SKILL.md:提供了分页、限流、错误处理与
ThreadPoolExecutor并行批量等更细化的公共模式; - README.md:了解 Claude Skills 的通用格式、加载机制,以及技能与 MCP、工具三层的关系。
这套"动态发现 + 连接校验 + schema 合规执行"的方法论并不局限于 Typless——掌握了它,你可以用完全相同的模式快速上手仓库中其他任意 SaaS 自动化技能,将 Claude 从文本生成扩展到真实的业务操作执行。