基于 Rube MCP 自动化 Axonaut 业务操作:awesome-codex-skills 实战指南
基于 Rube MCP 自动化 Axonaut 业务操作:awesome-codex-skills 实战指南
本篇技术指南围绕 composio-skills/axonaut-automation/SKILL.md 展开,讲解如何在 Codex CLI / API 环境中,通过 Rube MCP 接入 Composio 的 Axonaut 工具包,实现对 Axonaut 业务的自动化。读完本文,你将掌握 MCP 端点配置、连接激活校验、工具 schema 发现、多工具批量执行等完整流程,并了解规避常见坑位的实战要点,可直接复用到该仓库中所有 *-automation 系列技能上。
背景:为什么用 Skill 驱动 Axonaut 自动化
awesome-codex-skills 是一个精选的实用 Codex 技能集合,其核心理念是:Skills 告诉 Agent「怎么做」,MCP 网关为它提供真正能操作外部系统的工具(见 README.md)。每个技能以独立目录存在,内部必须有带 name 与 description frontmatter 的 SKILL.md,Codex 依据 description 决定何时触发技能,并在触发后才加载正文以保持上下文精简(README.md)。
本技能 axonaut-automation 的 frontmatter 即遵循该规范:
---
name: axonaut-automation
description: "Automate Axonaut tasks via Rube MCP (Composio). Always search tools first for current schemas."
requires:
mcp: [rube]
---
requires.mcp 声明了运行前置依赖:客户端必须已经接入名为 rube 的 MCP 服务器。这是该技能能够工作的第一道保障——没有 Rube MCP,技能内的所有工具调用都无法解析。
前置条件
在运行任何 Axonaut 自动化工作流之前,需要满足以下三个条件:
- Rube MCP 已连接:客户端会话中必须存在
RUBE_SEARCH_TOOLS工具(Rube MCP 暴露的工具之一),它是后续一切操作的入口。 - Axonaut 连接已激活:通过
RUBE_MANAGE_CONNECTIONS以 toolkitaxonaut建立连接,且状态必须为ACTIVE。 - 先搜索、后执行:任何工作流的第一步都必须是调用
RUBE_SEARCH_TOOLS获取当前工具 schema,禁止凭记忆硬编码工具 slug 或参数。
环境搭建:接入 Rube MCP 并激活 Axonaut 连接
1. 添加 Rube MCP 服务器
Rube MCP 的接入方式非常轻量:在客户端配置中添加 MCP 服务器端点 https://rube.app/mcp 即可,无需任何 API Key,添加后立即可用。这一步通常在 Codex 的 MCP 配置中完成,配置成功后客户端会暴露一组 RUBE_* 前缀的工具。
2. 激活 Axonaut 连接
连接建立按以下顺序执行:
- 确认 Rube MCP 可用:调用
RUBE_SEARCH_TOOLS,验证其能够正常响应; - 调用
RUBE_MANAGE_CONNECTIONS,参数传入 toolkitaxonaut; - 若返回的连接状态不是
ACTIVE,跟随响应中返回的认证链接完成授权设置; - 再次确认连接状态显示
ACTIVE,之后才能开始运行工作流。
连接状态校验是每一次工作流的必要步骤,而不是只在首次搭建时做一次。第三方 OAuth 凭据可能过期、吊销或被撤销,跳过检查直接执行会导致难以排查的认证类报错。
工具发现:一切从 RUBE_SEARCH_TOOLS 开始
工具 schema 会随版本演进而变化,因此技能的核心纪律是「永远先搜索」。发现工具的标准调用如下:
RUBE_SEARCH_TOOLS
queries: [{use_case: "Axonaut operations", known_fields: ""}]
session: {generate_id: true}
该调用会返回:
- 可用的工具 slug 列表(tool slugs);
- 每个工具的输入 schema(字段名、类型、必填项);
- 针对该 use case 的推荐执行计划(recommended execution plans);
- 已知陷阱(known pitfalls)。
queries 支持传入具体的业务场景(例如客户查询、报价单处理等),known_fields 可填入你已经确定的字段名以帮助检索定位;session 参数在首次发现时使用 generate_id: true 让系统生成新会话 ID。
核心工作流模式:三步走
Step 1:发现可用工具
RUBE_SEARCH_TOOLS
queries: [{use_case: "your specific Axonaut task"}]
session: {id: "existing_session_id"}
将 use_case 替换为具体的 Axonaut 任务描述,复用当前工作流的 session ID。这一步的输出决定了下两步要用哪个工具 slug、传什么参数。
Step 2:检查连接状态
RUBE_MANAGE_CONNECTIONS
toolkits: ["axonaut"]
session_id: "your_session_id"
传入 toolkit 名称数组(axonaut)与当前 session ID,确认连接为 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"
RUBE_MULTI_EXECUTE_TOOL 支持在一次调用中传入多个工具(tools 为数组),每个元素包含:
tool_slug:取自 Step 1 搜索结果,不要自行猜测;arguments:严格按照搜索返回的 schema 填写字段名与类型。
另外两个参数需要特别注意:
memory:必须始终包含,即使为空也要传{};session_id:复用当前工作流的会话 ID,保持上下文连贯。
已知陷阱:六条实战避坑清单
原文档总结的六条陷阱是运维稳定性的关键,逐一展开如下:
- 永远先搜索(Always search first):工具 schema 会变化,绝不在未调用
RUBE_SEARCH_TOOLS的情况下硬编码工具 slug 或参数。这是本技能最核心的纪律,因为 Rube 侧的工具集与参数结构可能随 Composio 工具包升级而调整,硬编码必然产生过期调用。 - 检查连接(Check connection):执行任何工具前,先通过
RUBE_MANAGE_CONNECTIONS确认状态为ACTIVE,避免在失效连接上浪费时间与 token。 - Schema 合规(Schema compliance):参数必须使用搜索结果的精确字段名与类型,多一个、少一个字段都可能导致执行失败。
- Memory 参数(Memory parameter):
RUBE_MULTI_EXECUTE_TOOL调用中永远带上memory,至少为空对象{}。遗漏该参数可能导致调用被拒。 - 会话复用(Session reuse):同一工作流内复用 session ID;开启新的工作流时生成新的 session。合理复用能让多步骤任务共享上下文,也有助于服务端对执行链路进行审计与追踪。
- 分页处理(Pagination):检查响应中是否携带分页令牌(pagination tokens),若有则持续拉取直到取完全部数据,避免在大量记录场景下静默丢失结果。
快速参考表
| 操作 | 方法 |
|---|---|
| 查找工具 | RUBE_SEARCH_TOOLS,传入 Axonaut 专属 use case |
| 建立连接 | RUBE_MANAGE_CONNECTIONS,toolkit 为 axonaut |
| 执行操作 | RUBE_MULTI_EXECUTE_TOOL,使用搜索得到的工具 slug |
| 批量操作 | RUBE_REMOTE_WORKBENCH,使用 run_composio_tool() |
| 获取完整 schema | RUBE_GET_TOOL_SCHEMAS,用于带 schemaRef 的工具 |
其中 RUBE_REMOTE_WORKBENCH 适用于需要在远端工作台执行批量或复杂编排的场景(通过 run_composio_tool() 编程式调用),而 RUBE_GET_TOOL_SCHEMAS 用于获取带 schemaRef 引用的工具的完整参数结构,适合在编写复杂参数前做一次性全量核对。
源码级佐证:技能在仓库中的定位与安装
从仓库结构看,axonaut-automation 隶属于 composio-skills/ 目录,该目录下包含数百个按厂商命名的同构技能(如 ahrefs-automation、googlecalendar-automation 等),每个技能目录内均只有一个 SKILL.md。这种单一文档 + frontmatter 声明的结构与 README.md 描述的「技能布局」规范一致:SKILL.md 是必选项,scripts/、references/、assets/ 为可选项,本技能未引入额外脚本,属于纯指令型技能。
将该技能安装到 Codex 环境,推荐使用仓库自带的 skill-installer:
# 克隆仓库后,将技能安装到 $CODEX_HOME/skills(默认 ~/.codex/skills)
python skill-installer/scripts/install-skill-from-github.py --repo <owner>/<repo> --path composio-skills/axonaut-automation
安装完成后重启 Codex 以加载新的技能元数据(README.md)。之后在会话中自然描述任务(例如「帮我自动化处理 Axonaut 里的客户数据」),Codex 会根据技能的 description frontmatter 自动触发本技能。技能被触发后,Agent 会按本文所述流程依次执行工具发现、连接校验与批量执行,从而把「写 Skill」的声明式知识与 Rube MCP 的运行时工具能力衔接起来。
结语
Axonaut 自动化的本质是一条高度可复用的流水线:RUBE_SEARCH_TOOLS 发现 → RUBE_MANAGE_CONNECTIONS 校验 → RUBE_MULTI_EXECUTE_TOOL 执行,辅以 session 复用、memory 参数、分页处理等细节纪律。掌握这一模式后,你不仅能在 Codex 中驱动 Axonaut 工具包,还能将它平移到仓库中其他数百个 *-automation 技能上,用同一套心智模型自动化整个业务工具链。