news 2026/9/15 12:21:44

使用 Rube MCP 与 Composio Strava Toolkit 在 Codex 中自动化 Strava 工作流

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 Rube MCP 与 Composio Strava Toolkit 在 Codex 中自动化 Strava 工作流

使用 Rube MCP 与 Composio Strava Toolkit 在 Codex 中自动化 Strava 工作流

【免费下载链接】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 仓库中的 strava-automation 技能,讲解如何通过 Rube MCP(Composio 的 MCP 网关)让 Codex Agent 以自然语言驱动 Strava 的读取、分析与数据整理等操作。读完本文,你将掌握从连接 Strava 账户、动态发现工具、执行调用到规避常见坑位的完整实操方案,并能把这套「先搜索、再连接、后执行」的通用模式迁移到同一仓库下其他数百个应用自动化技能中。

技能概览:strava-automation 是什么

strava-automation是仓库 composio-skills 目录下众多「xxx-automation」技能之一,其元数据定义在 SKILL.md 的 YAML frontmatter 中:

--- name: strava-automation description: "Automate Strava tasks via Rube MCP (Composio). Always search tools first for current schemas." requires: mcp: [rube] ---

这段元数据遵循 Codex Skills 的规范:name标识技能名称,description告诉 Codex 何时触发该技能,requires.mcp声明技能运行依赖名为rube的 MCP 服务器。正如仓库 README.md 所说明的,Codex 会先读取元数据决定是否触发技能,命中后才加载正文,从而保持上下文精简;技能安装到$CODEX_HOME/skills(默认~/.codex/skills)后需重启 Codex 才会被加载。

该技能的作用是:通过 Composio 提供的 Strava toolkit,经 Rube MCP 统一网关调用 Strava 相关能力,将「查询训练记录、汇总运动数据、管理活动信息」等任务转化为可执行的工具调用,全程无需在客户端配置 API Key。

前置条件

开始前需要满足以下三个条件,缺一不可:

  1. Rube MCP 已连接:客户端配置中存在 Rube MCP 服务器,且RUBE_SEARCH_TOOLS工具可用,这是后续一切调用的前提。
  2. Strava 连接处于 ACTIVE 状态:通过RUBE_MANAGE_CONNECTIONS建立并激活 toolkit 为strava的连接。
  3. 始终先搜索工具:任何工作流执行前都必须先调用RUBE_SEARCH_TOOLS获取当前的工具 schema,因为工具契约随时可能变化。

环境搭建:接入 Rube MCP 并激活 Strava 连接

获取 Rube MCP

在 Codex(或其他支持 MCP 的客户端)的配置中添加 MCP 服务器,端点地址为https://rube.app/mcp。该接入方式不需要任何 API Key,添加端点后即可直接使用,这是整个方案中唯一的环境配置动作。

四步激活流程

  1. 验证可用性:确认RUBE_SEARCH_TOOLS能正常响应,证明 Rube MCP 已就绪。
  2. 发起连接:调用RUBE_MANAGE_CONNECTIONS,指定 toolkit 为strava
  3. 完成授权:若返回的连接状态不是 ACTIVE,则按返回的授权链接完成 Strava 账号的 OAuth 授权。
  4. 状态确认:在任何工作流运行之前,确认连接状态已变为 ACTIVE。

注意:这里的授权是基于 OAuth 的账号级连接,而非传统的 API Key 配置;连接建立后,技能内的工具即可代表该账号执行操作。部分 Strava 能力(如涉及订阅权益的功能)仍受账号本身权限约束,这是平台侧的限制。

工具发现:为什么必须先用 RUBE_SEARCH_TOOLS

工具 schema 会随 Composio 平台更新而变化,硬编码 tool slug 或参数名是导致调用失败的最常见原因。因此技能强制要求在每次工作流执行前先做工具发现:

RUBE_SEARCH_TOOLS queries: [{use_case: "Strava operations", known_fields: ""}] session: {generate_id: true}

该调用会返回:

  • 当前可用的工具 slug(tool slug)列表;
  • 每个工具的输入 schema(字段名、类型、必填项);
  • 针对该 use case 的推荐执行计划;
  • 已知的坑位提示(known pitfalls)。

首次调用时session.generate_idtrue,由系统生成新的会话 ID 用于后续串联;在已有会话中继续操作时,则改为传入既有的session.id

核心工作流模式:三步调用链

整个技能的核心是一条「搜索 → 连接 → 执行」的三步链路,每一步都有明确的请求体规范。

Step 1:发现可用工具

RUBE_SEARCH_TOOLS queries: [{use_case: "your specific Strava task"}] session: {id: "existing_session_id"}

use_case替换为你的具体 Strava 任务描述(例如「获取最近活动列表」或「按时间范围汇总骑行数据」),并复用当前工作流的会话 ID。返回结果中的 tool slug 将作为第三步的执行依据。

Step 2:检查连接状态

RUBE_MANAGE_CONNECTIONS toolkits: ["strava"] session_id: "your_session_id"

在执行任何工具前确认stravatoolkit 的连接状态为 ACTIVE。若为其他状态,应返回 Setup 流程重新授权,而不是继续执行。

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"
  • tool_slug必须来自 Step 1 搜索结果,不能凭记忆硬编码;
  • arguments必须严格遵循搜索返回的 schema(字段名、类型、必填项);
  • memory参数必须始终携带,即使为空也要传{}
  • session_id贯穿同一工作流的全部调用。

已知坑位详解

技能的 SKILL.md 列出了六条实战中反复出现的坑位,逐条说明如下:

坑位说明规避方式
先搜索再执行工具 schema 会变,硬编码 slug 或参数必然出错每次执行前都调用RUBE_SEARCH_TOOLS获取最新 schema
检查连接连接失效时调用会静默失败或报鉴权错误执行前用RUBE_MANAGE_CONNECTIONS确认 ACTIVE 状态
Schema 合规字段名或类型不符会直接导致调用被拒严格使用搜索结果返回的精确字段名与类型
memory 参数漏传memory会导致RUBE_MULTI_EXECUTE_TOOL调用失败即使无状态也要显式传{}
会话复用同一工作流内换 ID 会丢失上下文与连接绑定同一工作流复用 session ID;新工作流才生成新 ID
分页处理数据量大的响应会分页返回,不处理就取不完整检查响应中的分页 token,持续拉取直至取完

这六条不仅适用于 Strava,也适用于仓库 composio-skills 下所有xxx-automation技能——它们是共享同一套 Rube MCP 协议的通用约束。

快速参考

以下是技能内置的操作速查表,覆盖日常五种操作场景:

操作方式
查找工具RUBE_SEARCH_TOOLS,传入 Strava 相关的 use case
建立连接RUBE_MANAGE_CONNECTIONS,toolkit 为strava
执行工具RUBE_MULTI_EXECUTE_TOOL,使用搜索到的 tool slug
批量操作RUBE_REMOTE_WORKBENCH,配合run_composio_tool()
获取完整 schemaRUBE_GET_TOOL_SCHEMAS,用于返回schemaRef引用的工具

进阶:完整 Schema 与批量执行

当搜索结果中工具带有schemaRef(即 schema 以引用形式返回,而非内联展开)时,需要使用RUBE_GET_TOOL_SCHEMAS单独拉取完整 schema,确保参数构造准确。

当需要批量执行多个 Strava 操作(例如循环处理一组活动并逐项写入结果)时,可改用RUBE_REMOTE_WORKBENCH并调用其中的run_composio_tool()函数,在远程工作台环境中以代码方式编排工具调用,适合需要循环、条件分支或结果聚合的场景。

生态横向参考:同一模式覆盖数百个应用

strava-automation并不是孤例。仓库 composio-skills 下存在数百个结构完全一致的自动化技能(覆盖广告、CRM、邮件、财务、开发者工具等众多领域),它们共享同一套 Rube MCP 协议与「先搜索 → 再连接 → 后执行」的三步模式,差异仅在 toolkit 名称与 use case 描述。

以结构更完整的 spotify-automation 技能 为参照可以更直观地理解这套模式的落地形态:连接激活后,SPOTIFY_*系列工具即可用,随后可按「工具 + 参数表」的方式编排具体操作(如搜索目录、管理歌单)。同理,Strava 连接激活后,实际可用的工具 slug 与参数应RUBE_SEARCH_TOOLS返回为准,技能文档刻意不写死具体 slug,正是为了对抗 schema 漂移。这种「文档给模式、运行时给 schema」的设计,保证了数百个技能在平台演进中仍能保持可用。

安装到 Codex

该技能位于仓库内,安装方式与仓库其他技能一致:

  • 推荐方式:使用仓库自带的 skill-installer 脚本,通过 install-skill-from-github.py 拉取并安装到$CODEX_HOME/skills/strava-automation
    python skill-installer/scripts/install-skill-from-github.py --repo <owner>/awesome-codex-skills --path composio-skills/strava-automation
  • 手动方式:将composio-skills/strava-automation目录复制到$CODEX_HOME/skills/(默认~/.codex/skills/),重启 Codex 加载元数据即可。

安装完成后重启 Codex,在会话中自然描述 Strava 相关任务,Codex 会根据 frontmatter 中的description自动触发该技能。

小结

strava-automation技能的本质,是用一份轻量指令把「Strava 自动化」封装成 Codex 可触发、可执行的确定性流程:接入零配置的 Rube MCP 网关,通过RUBE_SEARCH_TOOLS动态发现工具契约,用RUBE_MANAGE_CONNECTIONS维护 OAuth 连接,最终以RUBE_MULTI_EXECUTE_TOOL完成调用,并以「先搜索、带 memory、复用会话、处理分页」四条铁律规避最常见的失败模式。掌握这一模式后,你不仅能够自动化 Strava 工作流,也能零成本迁移到仓库中其余数百个xxx-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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 12:20:42

OpenClaw权限问题解决方案:从基础到高级部署

1. OpenClaw本地无权限问题的典型表现当你在Windows或Linux系统上部署OpenClaw时&#xff0c;可能会遇到以下几种典型的权限错误提示&#xff1a;Windows系统常见错误&#xff1a;"拒绝访问"弹窗&#xff08;错误代码0x80070005&#xff09;控制台输出"ERROR: P…

作者头像 李华
网站建设 2026/9/15 12:20:04

代付系统源码拆解:状态机、权限控制与API回调设计

简介&#xff1a;一套面向代付业务场景的手工/API代付系统源码&#xff0c;适合有PHP开发基础的工程师或小微支付团队研究、二次开发及业务部署。系统整体设计简洁&#xff0c;支持单笔与批量代付&#xff0c;同时提供API自动对接与后台手动出款两条路径&#xff0c;后台-代理-…

作者头像 李华
网站建设 2026/9/15 12:17:49

用ima构建个人知识库:从导入到AI检索的完整教程

很多人收藏了一堆好文章、存了一堆PDF和笔记&#xff0c;真到用的时候却翻不到、找不到&#xff0c;知识散落得到处都是。腾讯出的免费工具 ima&#xff0c;就是来解决这个问题的——它能把网页、文档、碎片想法统一收进一个个人知识库&#xff0c;然后用 AI 检索的方式直接问、…

作者头像 李华