关于 render-automation
通过 Composio 的 Render 工具包和 Rube MCP 管理 Render 云平台服务及项目,适用于需要查看服务并触发或跟踪部署的团队。支持按服务类型筛选,并可监控部署状态。
主要功能
- 01按名称或类型列出服务
- 02触发服务部署
- 03查询部署状态
- 04列出项目
适用场景
- 01查找特定 Render 服务
- 02手动部署或重新部署服务
- 03跟踪部署进度和结果
- 04浏览 Render 项目
MCP 相关
通过 Rube MCP 调用 Composio 的 Render 工具包;需先查询可用工具并连接 Render。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill render-automation安装后在 Claude Code 中输入/render-automation确认已加载。
详细介绍
通过 Rube MCP 实现 Render 自动化
通过 Rube MCP,使用 Composio 的 Render 工具包自动执行 Render 云平台操作。
工具包文档:composio.dev/toolkits/render
前提条件
- 必须已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
- 通过工具包为
render的RUBE_MANAGE_CONNECTIONS建立有效的 Render 连接 - 始终先调用
RUBE_SEARCH_TOOLS,获取当前工具架构
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥——添加端点即可使用。
- 确认
RUBE_SEARCH_TOOLS有响应,以验证 Rube MCP 可用 - 使用工具包
render调用RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,请按照返回的授权链接完成 Render 身份验证
- 运行任何工作流之前,确认连接状态为 ACTIVE
核心工作流
1. 列出和浏览服务
适用场景:用户想查找或检查 Render 服务(Web 服务、静态站点、工作进程、Cron 任务)
工具调用顺序:
RENDER_LIST_SERVICES- 列出所有服务,可选筛选条件[必需]
关键参数:
name:按名称子字符串筛选服务type:按服务类型筛选('web_service'、'static_site'、'private_service'、'background_worker'、'cron_job')limit:每页最多返回的结果数(默认值为 20,最大值为 100)cursor:上一条响应中的分页游标
注意事项:
- 服务类型必须与枚举值完全匹配:'web_service'、'static_site'、'private_service'、'background_worker'、'cron_job'
- 分页使用基于游标的方式;持续传入
cursor,直到其缺失 - 名称筛选基于子字符串,而非精确匹配
- 服务 ID 格式为 'srv-xxxxxxxxxxxx'
- 默认限制为 20;如需完整列出,可设置更高的值
2. 触发部署
适用场景:用户想手动部署或重新部署服务
工具调用顺序:
RENDER_LIST_SERVICES- 查找要部署的服务[前置步骤]RENDER_TRIGGER_DEPLOY- 触发新部署[必需]RENDER_RETRIEVE_DEPLOY- 监控部署进度[可选]
关键参数:
- 对于 TRIGGER_DEPLOY:
serviceId:要部署的服务 ID(必需,格式:'srv-xxxxxxxxxxxx')clearCache:设置为true可在部署前清除构建缓存
- 对于 RETRIEVE_DEPLOY:
serviceId:服务 IDdeployId:触发响应中的部署 ID(格式:'dep-xxxxxxxxxxxx')
注意事项:
- 必须提供
serviceId;先通过 LIST_SERVICES 查找 - 服务 ID 以 'srv-' 前缀开头
- 部署 ID 以 'dep-' 前缀开头
clearCache: true会强制执行全新构建;耗时更长,但可解决缓存相关问题- 部署是异步的;使用 RETRIEVE_DEPLOY 轮询状态
- 如果另一个部署正在进行中,此时触发的部署可能会进入队列
3. 监控部署状态
适用场景:用户想检查部署的进度或结果
工具调用顺序:
RENDER_RETRIEVE_DEPLOY- 获取部署详情和状态[必需]
关键参数:
serviceId:服务 ID(必需)deployId:部署 ID(必需)- 响应包含
status、createdAt、updatedAt、finishedAt、commit
注意事项:
- 必须同时提供
serviceId和deployId - 部署状态包括:'created'、'build_in_progress'、'update_in_progress'、'live'、'deactivated'、'build_failed'、'update_failed'、'canceled'
- 'live' 表示部署成功
- 'build_failed' 或 'update_failed' 表示部署出错
- 每隔合理的时间(10–30 秒)轮询一次,以避免触发速率限制
4. 管理项目
使用场景:用户想要列出和整理 Render 项目
工具调用顺序:
RENDER_LIST_PROJECTS- 列出所有项目[必需]
关键参数:
limit:每页的最大结果数(最大为 100)cursor:上一条响应中的分页游标
注意事项:
- 项目会将相关服务归为一组
- 分页采用基于游标的方式
- 项目 ID 用于组织管理
- 并非所有服务都可能分配到某个项目
常见模式
ID 解析
服务名称 -> 服务 ID:
1. Call RENDER_LIST_SERVICES with name=service_name
2. Find service by name in results
3. Extract id (format: 'srv-xxxxxxxxxxxx')
部署查询:
1. Store deployId from RENDER_TRIGGER_DEPLOY response
2. Call RENDER_RETRIEVE_DEPLOY with serviceId and deployId
3. Check status for completion
部署和监控模式
1. RENDER_LIST_SERVICES -> find service by name -> get serviceId
2. RENDER_TRIGGER_DEPLOY with serviceId -> get deployId
3. Loop: RENDER_RETRIEVE_DEPLOY with serviceId + deployId
4. Check status: 'live' = success, 'build_failed'/'update_failed' = error
5. Continue polling until terminal state reached
分页
- 使用响应中的
cursor获取下一页 - 持续获取,直到没有
cursor或结果为空 - LIST_SERVICES 和 LIST_PROJECTS 都使用基于游标的分页
- 将
limit设为最大值(100),以减少分页轮次
已知注意事项
服务 ID:
- 始终以 'srv-' 为前缀(例如,'srv-abcd1234efgh')
- 部署 ID 以 'dep-' 为前缀(例如,'dep-d2mqkf9r0fns73bham1g')
- 始终通过 LIST_SERVICES 将服务名称解析为 ID
服务类型:
- 筛选时必须使用完全匹配的枚举值
- 可用类型:web_service、static_site、private_service、background_worker、cron_job
- 不同服务类型的部署行为不同
部署行为:
- 部署是异步的;务必轮询直至完成
- 清除缓存的部署耗时更长,但可以解决缓存陈旧问题
- 部署失败时不会自动回滚;之前的版本会继续运行
- 并发触发的部署可能会排队
速率限制:
- Render API 有速率限制
- 避免频繁轮询;间隔 10-30 秒
- 批量操作应进行限流
响应解析:
- 响应数据可能嵌套在
data键下 - 时间戳采用 ISO 8601 格式
- 解析时应做好防护,为可选字段提供回退处理
快速参考
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 列出服务 | RENDER_LIST_SERVICES | name, type, limit, cursor |
| 触发部署 | RENDER_TRIGGER_DEPLOY | serviceId, clearCache |
| 获取部署状态 | RENDER_RETRIEVE_DEPLOY | serviceId, deployId |
| 列出项目 | RENDER_LIST_PROJECTS | limit, cursor |
由 Composio 提供支持
评论
支持 Markdown