基于 Rube MCP 自动化 Brex 财务操作:awesome-codex-skills 仓库的 brex-automation 技能实战指南
【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills
本文围绕 awesome-codex-skills 仓库中composio-skills/brex-automation技能展开,讲解如何借助 Rube MCP 与 Composio 的 Brex 工具集,让 Codex 自动执行公司卡管理、报销与对账等 Brex 财务操作。读者读完本文后,将掌握从 MCP 端点接入、连接授权、工具 schema 发现到多工具编排执行的完整调用链,并理解搜索优先、连接校验、分页处理等关键工程实践。
技能定位:Codex 技能如何驱动 Brex 财务自动化
brex-automation是 awesome-codex-skills 仓库composio-skills/目录下 800+ 个自动化技能之一,其 SKILL.md 以 Codex Skills 标准格式编写:frontmatter 声明name: brex-automation与触发描述("Automate Brex tasks via Rube MCP (Composio). Always search tools first for current schemas."),并要求requires: mcp: [rube]——即该技能只有在 Rube MCP 已注册时才会被 Codex 触发加载。
按照仓库 README.md 对 Codex Skills 机制的解释:Codex 只读取 frontmatter 的 name 与 description 来决定何时触发技能,正文(也就是本文讲解的全部操作指引)仅在技能被触发后才加载,从而保持上下文精简。这意味着本技能的正文就是给 Codex 的"执行剧本":连什么、怎么查、怎么调、注意什么。
技能的技术栈是一条明确的链路:Codex(Agent)→ Rube MCP(统一网关)→ Composio Brex 工具集 → Brex 真实 API。Rube MCP 在此扮演"工具发现 + 连接管理 + 执行调度"三层角色,这一点从技能正文中反复出现的RUBE_SEARCH_TOOLS、RUBE_MANAGE_CONNECTIONS、RUBE_MULTI_EXECUTE_TOOL三个 MCP 工具可以印证。
前置条件:三条硬性要求
技能正文开门见山列出了三条前提,缺一不可:
- Rube MCP 必须已连接,且
RUBE_SEARCH_TOOLS可用——这是后续一切操作的入口; - 存在一个 ACTIVE 的 Brex 连接,经由
RUBE_MANAGE_CONNECTIONS以 toolkitbrex建立; - 任何执行前必须先调用
RUBE_SEARCH_TOOLS获取当前工具 schema——这是贯穿整个技能的第一原则。
第三条值得展开:Brex 工具集的 schema(工具 slug、入参字段、字段类型)会随上游迭代而变化。技能刻意把"先搜索"设为强制前提,正是为了避免 Agent 硬编码过时的 slug 或参数导致调用失败。
环境搭建:接入 Rube MCP 并建立 Brex 连接
技能的 Setup 章节给出了极简的接入方式——无需任何 API Key,只需在客户端配置中添加https://rube.app/mcp作为 MCP 服务器端点即可。
随后按四步完成连接初始化:
- 验证 Rube MCP 可用:确认
RUBE_SEARCH_TOOLS有响应; - 建立 Brex 连接:调用
RUBE_MANAGE_CONNECTIONS,toolkits 参数传入["brex"]; - 完成授权:若连接状态不是 ACTIVE,跟随返回的 auth 链接完成授权流程;
- 确认状态:在任何工作流执行前,确认连接状态显示为 ACTIVE。
这一步与仓库 connect 技能中composio link <toolkit>走一遍 OAuth、之后连接持久化的思路一致——区别在于本技能把连接管理收敛到了 Rube MCP 的RUBE_MANAGE_CONNECTIONS工具内,而非使用 Composio CLI。
工具发现:先查 schema 再执行
技能要求在任何工作流执行前先做工具发现,给出了标准调用样例:
RUBE_SEARCH_TOOLS queries: [{use_case: "Brex operations", known_fields: ""}] session: {generate_id: true}返回内容包含四类关键信息:
- 可用的工具 slug(tool slugs),供后续
RUBE_MULTI_EXECUTE_TOOL引用; - 输入 schema(input schemas),即每个工具的参数定义;
- 推荐的执行计划(recommended execution plans),供 Agent 编排步骤;
- 已知陷阱(known pitfalls),提前规避常见错误。
session: {generate_id: true}意味着本次搜索会生成一个新的会话 ID,供后续步骤复用(参见下文"会话复用")。
核心工作流:发现 → 检查 → 执行 三步编排
技能正文给出了一套可复制的三步工作流模式,是整篇文档的实操骨架。
Step 1:发现可用工具
RUBE_SEARCH_TOOLS queries: [{use_case: "your specific Brex task"}] session: {id: "existing_session_id"}与首次发现不同,此处use_case应替换为具体的 Brex 任务描述(如"查询公司卡交易"、"创建报销单"),且session复用已有会话 ID,保持上下文连续。
Step 2:检查连接状态
RUBE_MANAGE_CONNECTIONS toolkits: ["brex"] session_id: "your_session_id"在执行前再次确认 Brex 连接仍为 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(必须来自搜索结果)和arguments(必须严格符合搜索返回的 schema)组成。注意两个强制参数:
memory: {}:即使没有跨步骤状态也必须显式传入空对象;session_id:沿用本工作流的会话 ID。
已知陷阱:六个必须遵守的工程约束
技能把易错点集中列在 Known Pitfalls 章节,共六条,前四条是调用层面的硬约束,后两条是数据完整性约束:
| 陷阱 | 约束内容 | 原因 |
|---|---|---|
| 先搜索再执行 | 绝不硬编码工具 slug 或参数,必须先调RUBE_SEARCH_TOOLS | 工具 schema 会变化 |
| 检查连接 | 执行前确认RUBE_MANAGE_CONNECTIONS返回 ACTIVE | 连接可能失效 |
| Schema 合规 | 字段名与类型必须与搜索结果完全一致 | 参数不符直接失败 |
| Memory 参数 | RUBE_MULTI_EXECUTE_TOOL必须带memory,可为空{} | 接口要求 |
| 会话复用 | 同一工作流内复用会话 ID;新工作流生成新 ID | 保持上下文连续 |
| 分页处理 | 检查响应中的分页 token,持续抓取直到取完 | 大结果集可能被截断 |
第 2、3 条与前置条件、核心工作流形成闭环呼应:技能在多个位置重复强调"先搜索"与"连接 ACTIVE",说明这两点是 Brex 自动化最常见的失败源头。
快速参考:五种操作与对应工具
技能的 Quick Reference 表格汇总了五种典型操作,是执行时最常翻阅的速查表:
| 操作 | 对应方式 |
|---|---|
| 查找工具 | RUBE_SEARCH_TOOLS+ Brex 相关 use case |
| 建立连接 | RUBE_MANAGE_CONNECTIONS+ toolkitbrex |
| 执行调用 | RUBE_MULTI_EXECUTE_TOOL+ 搜索发现的工具 slug |
| 批量操作 | RUBE_REMOTE_WORKBENCH+run_composio_tool() |
| 获取完整 schema | RUBE_GET_TOOL_SCHEMAS(针对带schemaRef的工具) |
前三种即核心三步工作流;后两种是进阶能力:当单个工具无法满足需求、需要远程批量执行或组合调用时使用RUBE_REMOTE_WORKBENCH(在远程工作台中调用run_composio_tool());当搜索结果只给出schemaRef引用而非完整 schema 时,用RUBE_GET_TOOL_SCHEMAS拉取完整定义。
仓库佐证:同构技能家族与可复用模板
从仓库源码结构看,composio-skills/目录下 800+ 个*-automation技能采用了完全相同的组织模式,每个目录仅含一个 SKILL.md。以同目录的 composio-automation 为例,其结构与本技能逐节对应:同样的 frontmatter(requires: mcp: [rube])、同样的 Setup 四步、同样的RUBE_SEARCH_TOOLS→RUBE_MANAGE_CONNECTIONS→RUBE_MULTI_EXECUTE_TOOL三步工作流、同样的六条 Known Pitfalls 与五列 Quick Reference。
可以推断,本技能是这套"Rube MCP 统一模板"针对 Brex 工具集的参数化实例——差异仅在于use_case查询语义、toolkits: ["brex"]与最终的 Brex 工具 slug。因此,本文讲解的调用模式可直接迁移到该目录下任意工具集(如 Gmail、Slack、GitHub 等 1000+ 集成),只需替换 use case 与 toolkit 名称即可复用。
适用边界与使用建议
基于技能正文与仓库结构,使用时需要注意的边界:
- schema 时效性:本文展示的调用格式是稳定的 MCP 工具接口,但具体的 Brex 工具 slug 与参数必须以运行时
RUBE_SEARCH_TOOLS的返回为准,不要跨会话长期缓存; - 连接持久性:Brex 连接经 OAuth 建立后持久保存,但需在执行前复查状态,避免静默失效;
- 环境差异:本技能依赖 Rube MCP 端点(
https://rube.app/mcp),在未配置该 MCP 服务器的 Codex 环境中不会被触发; - 安装方式:该技能与其他技能一样,可通过 skill-installer 脚本或手动复制目录到
$CODEX_HOME/skills/(默认~/.codex/skills/)安装,重启 Codex 后生效,详见 README.md。
小结
brex-automation技能展示了 Codex 财务自动化的标准范式:通过单一 MCP 端点接入,以"搜索先行"规避 schema 漂移,以连接状态校验保障执行前提,以多工具编排完成真实业务操作。其价值不仅在 Brex 本身,更在于它是可复制的模板——把 use case 与 toolkit 替换为任意业务系统,即可快速扩展出一整套 Codex 自动化技能。
【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考