mcpField
R
render-automation

render-automation

github.com/davepoon云与 DevOps3.7k119 次安装今天更新
代码仓库

关于 render-automation

通过 Composio 的 Render 工具包和 Rube MCP 管理 Render 云平台服务及项目,适用于需要查看服务并触发或跟踪部署的团队。支持按服务类型筛选,并可监控部署状态。

主要功能

  1. 01按名称或类型列出服务
  2. 02触发服务部署
  3. 03查询部署状态
  4. 04列出项目

适用场景

  1. 01查找特定 Render 服务
  2. 02手动部署或重新部署服务
  3. 03跟踪部署进度和结果
  4. 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 密钥——添加端点即可使用。

  1. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用
  2. 使用工具包 render 调用 RUBE_MANAGE_CONNECTIONS
  3. 如果连接状态不是 ACTIVE,请按照返回的授权链接完成 Render 身份验证
  4. 运行任何工作流之前,确认连接状态为 ACTIVE

核心工作流

1. 列出和浏览服务

适用场景:用户想查找或检查 Render 服务(Web 服务、静态站点、工作进程、Cron 任务)

工具调用顺序:

  1. 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. 触发部署

适用场景:用户想手动部署或重新部署服务

工具调用顺序:

  1. RENDER_LIST_SERVICES - 查找要部署的服务[前置步骤]
  2. RENDER_TRIGGER_DEPLOY - 触发新部署[必需]
  3. RENDER_RETRIEVE_DEPLOY - 监控部署进度[可选]

关键参数:

  • 对于 TRIGGER_DEPLOY:
    • serviceId:要部署的服务 ID(必需,格式:'srv-xxxxxxxxxxxx')
    • clearCache:设置为 true 可在部署前清除构建缓存
  • 对于 RETRIEVE_DEPLOY:
    • serviceId:服务 ID
    • deployId:触发响应中的部署 ID(格式:'dep-xxxxxxxxxxxx')

注意事项:

  • 必须提供 serviceId;先通过 LIST_SERVICES 查找
  • 服务 ID 以 'srv-' 前缀开头
  • 部署 ID 以 'dep-' 前缀开头
  • clearCache: true 会强制执行全新构建;耗时更长,但可解决缓存相关问题
  • 部署是异步的;使用 RETRIEVE_DEPLOY 轮询状态
  • 如果另一个部署正在进行中,此时触发的部署可能会进入队列
3. 监控部署状态

适用场景:用户想检查部署的进度或结果

工具调用顺序:

  1. 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 项目

工具调用顺序:

  1. 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_SERVICESname, type, limit, cursor
触发部署RENDER_TRIGGER_DEPLOYserviceId, clearCache
获取部署状态RENDER_RETRIEVE_DEPLOYserviceId, deployId
列出项目RENDER_LIST_PROJECTSlimit, cursor

由 Composio 提供支持

评论

支持 Markdown