使用 Rube MCP 自动化 Alchemy 操作:awesome-codex-skills 中 alchemy-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
本文基于本仓库 composio-skills/alchemy-automation/SKILL.md 展开,面向需要在 Codex CLI 与 API 中自动执行 Alchemy(面向 Web3/区块链开发者的开发平台)相关操作的开发者,系统讲解通过 Composio 的 Alchemy toolkit 与 Rube MCP 建立"搜索工具 → 校验连接 → 执行调用"的自动化闭环。读完本文,你将掌握 Rube MCP 的接入方式、RUBE_SEARCH_TOOLS/RUBE_MANAGE_CONNECTIONS/RUBE_MULTI_EXECUTE_TOOL三件套的完整调用范式、批量执行与全量 schema 获取的进阶用法,以及避免连接失效、参数错配、分页遗漏等常见坑位的实战经验。
技能概览:alchemy-automation 解决什么问题
alchemy-automation是本仓库composio-skills/目录下众多自动化技能之一,它解决的核心问题是:让 Codex 不只是"生成一段描述"Alchemy 操作的文本,而是通过 MCP 协议真实调用 Composio 的 Alchemy toolkit,完成实际的 Alchemy 业务操作。这一点与本仓库 README.md 所强调的定位一致——Skills 告诉 Agenthow去工作,而 MCP Gateway 为它提供安全访问真实工具的能力。
该技能的SKILL.md文件头部带有 Codex 技能标准的前置元数据(frontmatter):
--- name: alchemy-automation description: "Automate Alchemy tasks via Rube MCP (Composio). Always search tools first for current schemas." requires: mcp: [rube] ---三个字段各自承担明确的职责:
name:技能唯一标识,安装后对应$CODEX_HOME/skills/alchemy-automation目录;description:描述技能功能与触发条件,Codex 会基于这段描述与用户请求的语义匹配来自动触发技能(README 中明确指出 Codex 读取元数据决定何时触发技能,正文仅在触发后才加载以节省上下文);requires.mcp:声明该技能依赖名为rube的 MCP 服务器,这是技能能否被正确装配的关键声明。
前置条件
在执行任何 Alchemy 工作流之前,必须满足以下三项前置条件(原文档明确列出):
- Rube MCP 必须已连接,验证标志是
RUBE_SEARCH_TOOLS工具可用; - 已建立 Alchemy 连接,通过
RUBE_MANAGE_CONNECTIONS指定 toolkit 为alchemy,且连接状态为 ACTIVE; - 任何调用前必须先执行
RUBE_SEARCH_TOOLS获取当前最新的工具 schema。
其中第 3 条是本技能的灵魂原则:Composio 平台上的工具 schema 会随版本迭代而变化,硬编码 tool slug 或参数必然导致调用失败。
环境搭建:一步接入 Rube MCP
搭建过程非常简单,官方文档给出的接入方式为:将https://rube.app/mcp作为 MCP 服务器地址添加到你的客户端配置中即可,无需任何 API key——只需添加端点即可工作。
接入后按以下 4 步完成验证与连接(这是原文档给出的标准 Setup 流程):
- 通过确认
RUBE_SEARCH_TOOLS有响应,验证 Rube MCP 已就绪; - 调用
RUBE_MANAGE_CONNECTIONS,toolkit 指定为alchemy; - 若连接状态不是 ACTIVE,则跟随返回的授权链接完成 OAuth 授权设置;
- 在运行任何工作流之前,再次确认连接状态显示为ACTIVE。
注意第 3 步的含义:Alchemy 这类第三方服务通常需要一次性的 OAuth 授权。授权完成后连接会持久化,后续工作流无需重复授权。
工具发现:始终先用 RUBE_SEARCH_TOOLS
技能文档反复强调"Always search tools first",对应的标准发现请求如下:
RUBE_SEARCH_TOOLS queries: [{use_case: "Alchemy operations", known_fields: ""}] session: {generate_id: true}这条调用有两个关键设计:
queries以use_case描述你要执行的业务语义(如 "Alchemy operations"),known_fields可用于补充已知字段名以提升检索精度;session: {generate_id: true}表示开启一个新会话并自动生成会话 ID,适合工作流起点;后续步骤则应复用该 ID。
该调用的返回值非常丰富,包括:可用的工具 slug 列表、每个工具的输入 schema、推荐的执行计划(recommended execution plans)以及已知的坑位提示(known pitfalls)。也就是说,工具发现环节不仅是"找到工具名",更是一次性的"获取执行手册"。
核心工作流:三步执行模式
技能文档将标准执行流程收敛为清晰的三步模式,任何 Alchemy 自动化任务都可以套用。
Step 1:发现可用工具
RUBE_SEARCH_TOOLS queries: [{use_case: "your specific Alchemy task"}] session: {id: "existing_session_id"}与首次发现不同,这里复用已有的session.id,保证同一工作流内上下文连续。将use_case替换为你具体的 Alchemy 任务描述,例如查询链上数据、部署合约相关的操作语义。
Step 2:校验连接状态
RUBE_MANAGE_CONNECTIONS toolkits: ["alchemy"] session_id: "your_session_id"执行工具前再次确认 Alchemy 连接处于 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(必须来自搜索结果的 slug)与arguments(必须严格符合搜索结果返回的 schema) |
memory | 必须始终携带,即使为空也要传{},用于跨调用传递状态 |
session_id | 当前工作流的会话 ID,保证上下文延续 |
arguments的 schema 合规性直接决定调用成败:字段名、字段类型都必须与RUBE_SEARCH_TOOLS返回结果完全一致,这是原文档反复强调的纪律。
进阶用法:批量执行与全量 Schema
除上述三步核心模式外,技能文档的速查表还给出了两种进阶调用方式:
批量操作(Bulk ops):使用RUBE_REMOTE_WORKBENCH,在其中调用run_composio_tool()函数。适合需要对 Alchemy 执行一系列连续操作的场景,可以理解为"在远端工作台内以编程方式编排多个工具调用",避免与 MCP 客户端之间往返多次。
全量 Schema:当RUBE_SEARCH_TOOLS返回的工具带有schemaRef引用时,使用RUBE_GET_TOOL_SCHEMAS获取完整、展开后的工具 schema。这适用于工具定义复杂、搜索结果的概要 schema 不足以支撑精确传参的情况。
已知陷阱与最佳实践
原文档总结了 6 条经过实践沉淀的坑位与对策,逐条展开如下:
- 永远先搜索(Always search first):工具 schema 会变化。绝不在不调用
RUBE_SEARCH_TOOLS的情况下硬编码 tool slug 或参数。这是本技能最核心的一条纪律,也是 description 字段中被特别强调的内容。 - 检查连接(Check connection):执行工具前必须通过
RUBE_MANAGE_CONNECTIONS确认连接状态为 ACTIVE,避免因授权过期导致整批调用失败。 - Schema 合规(Schema compliance):使用搜索结果中的精确字段名与类型构造
arguments,多一个字段、错一个类型都可能被拒绝。 - Memory 参数(Memory parameter):
RUBE_MULTI_EXECUTE_TOOL调用中必须包含memory参数,即使为空也要显式传入{}。 - 会话复用(Session reuse):同一工作流内复用会话 ID 以保持上下文;开启新工作流时再生成新的会话 ID。
- 分页处理(Pagination):检查响应中是否带有分页 token(pagination tokens),若存在则持续抓取直到数据完整,防止结果被截断。
这 6 条并非只针对 Alchemy,它们同样适用于本仓库 composio-skills/ 目录下的其他同构技能——例如 composio-automation/SKILL.md 与 ably-automation/SKILL.md 都采用了完全一致的 "发现 → 校验连接 → 执行" 三件套模式与相同的坑位清单,印证了这是一套成熟的、跨 toolkit 复用的最佳实践模板。
操作速查表
原文档提供的速查表可直接作为日常开发的手边参考:
| 操作 | 方案 |
|---|---|
| 查找工具 | 使用 Alchemy 相关的 use case 调用RUBE_SEARCH_TOOLS |
| 建立连接 | 以 toolkitalchemy调用RUBE_MANAGE_CONNECTIONS |
| 执行调用 | 以发现的 tool slug 调用RUBE_MULTI_EXECUTE_TOOL |
| 批量操作 | 使用RUBE_REMOTE_WORKBENCH并调用run_composio_tool() |
| 获取全量 schema | 对带schemaRef的工具调用RUBE_GET_TOOL_SCHEMAS |
将技能安装到 Codex 并使用
本技能属于本仓库的 composio-skills 系列,安装方式与其他技能完全一致,可通过仓库提供的 skill-installer 脚本安装,也可手动安装。
方式一:使用 skill-installer 脚本(推荐)
python skill-installer/scripts/install-skill-from-github.py --repo <owner>/<repo> --path composio-skills/alchemy-automation该脚本会将技能目录安装到$CODEX_HOME/skills/<skill-name>(默认~/.codex/skills),随后重启 Codex以加载新元数据。
方式二:手动安装
- 将本仓库中的
composio-skills/alchemy-automation/目录整体复制到$CODEX_HOME/skills/(默认~/.codex/skills/)下; - 重启 Codex 使其加载新的
SKILL.md元数据; - 在新会话中自然描述任务(如"帮我自动化 Alchemy 相关操作"),Codex 会根据
description字段的语义匹配自动触发该技能。
验证安装:执行ls ~/.codex/skills查看已安装的技能列表,再用head ~/.codex/skills/alchemy-automation/SKILL.md检查元数据是否正确加载。
安装完成后,即可在会话中按前文的三步工作流驱动 Alchemy 自动化。若希望定制自己的技能,可参考仓库的 template-skill/SKILL.md 模板,它展示了最精简的name+descriptionfrontmatter 结构,是新建技能的起点。
小结
alchemy-automation技能的核心价值不在于某个具体工具,而在于一套可复制、防错、schema 驱动的 MCP 自动化方法论:接入 Rube MCP(零 API key)→ 通过RUBE_SEARCH_TOOLS动态获取工具 schema → 用RUBE_MANAGE_CONNECTIONS保障连接活性 → 用RUBE_MULTI_EXECUTE_TOOL完成执行,配合批量、全量 schema 两种进阶通道与 6 条坑位纪律。掌握了这套模式,你不仅能稳定驱动 Alchemy 操作,还能将其迁移到本仓库 composio-skills/ 下的任何其他 toolkit 技能中,实现"一次学会,处处可用"。
【免费下载链接】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),仅供参考