mcpField
R
Rivtor

Rivtor

远程服务
rivtor.com云与基础设施03 天前更新

关于 Rivtor

Rivtor 是用于部署全栈应用并管理生产服务的命令行工具和 MCP 服务。开发者与编码 Agent 可从本地目录或远程来源部署,查看验证结果,并操作数据库及其他项目资源。

主要功能

  1. 01部署应用并配置数据服务
  2. 02识别服务并连接服务 URL
  3. 03验证部署并查看问题
  4. 04管理日志、密钥、域名和回滚
  5. 05运行数据库查询和导出

适用场景

  1. 01从本地目录部署项目
  2. 02让 Agent 排查并重试失败的部署
  3. 03检查线上应用状态和未解决的生产问题
  4. 04管理环境变量并回滚发布

MCP 相关

`rivtor mcp` 通过 stdio 运行本地 MCP 服务,提供部署、状态、日志、环境变量、回滚、数据库、域名和项目工具。远程 MCP 端点还支持从 git URL、起始模板或内联文件部署。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.rivtor.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmrivtor0.6.1

工具

详细介绍

rivtor

只需一条命令,即可从终端或 AI Agent 部署任意应用(前端、后端、工作进程、Postgres、Redis 和对象存储)。

npx rivtor login
npx rivtor deploy

Rivtor 会检测文件夹中的所有服务(Next.js、Vite、Astro、Express、Fastify、NestJS、FastAPI、Flask、Django、Go、Rust、Dockerfile 等),为代码所需的数据库提供资源,将服务 URL 连接起来,并返回可访问的 URL,通常只需约两分钟。

安装

npm i -g rivtor     # or run it with npx: npx rivtor <command>

你需要 Node.js 20 或更高版本。

登录

在 https://rivtor.com/dashboard/tokens 创建令牌,然后运行:

rivtor login                    # paste the token when asked (input is hidden)
rivtor login --token rvt_...    # non-interactive

令牌会以 0600 权限保存到 ~/.config/rivtor/config.json(或 $XDG_CONFIG_HOME/rivtor)。在 CI 中,请改用 RIVTOR_TOKEN。RIVTOR_API_URL 用于更改 API 端点(默认为 https://api.rivtor.com)。

部署

rivtor deploy                   # deploy the current folder
rivtor deploy ./my-app          # deploy another folder
rivtor deploy --dry-run         # print the detected plan; nothing is deployed
rivtor deploy --env-file .env.production   # send these variables with the deploy
rivtor deploy --no-wait         # start and exit right away
rivtor deploy --no-verify       # skip post-deploy verification, not release security checks
rivtor deploy --json            # print the raw DeployResult (for scripts and agents)
rivtor deploy --clean           # rebuild everything from scratch, without build/dependency caches

重新部署时只会上传发生更改的文件:CLI 会发送文件哈希列表,API 则会请求尚未拥有的文件。依赖项按账户缓存,并会一直重复使用,直到锁文件、运行时版本或构建环境发生变化。如果缓存的依赖项看起来过时,请使用 --clean。

上传内容:

  • 文件会根据 .gitignore 文件(包括嵌套文件)以及可选的 .rivtorignore 进行打包。
  • 会跳过 node_modules、.git、构建产物(dist、build、out、.next 等)、虚拟环境和缓存。
  • 绝不会上传 .env 文件,即使 .gitignore 允许上传也不例外。只会上传 .env.example、.env.sample 和 .env.template,以便 Rivtor 查看应用所需的变量名称。如需发送机密值,请使用 --env-file 或 rivtor env set。
  • 压缩后的上传大小上限为 300 MB(重新部署时仅计算变更的文件)。

项目名称依次取自 --project <slug>、rivtor.json({ "project": "my-app" }),再取自文件夹名称。首次部署后,CLI 会写入 rivtor.json,以便后续部署到同一项目。

退出代码:0 表示已上线,1 表示失败,2 表示需要输入(例如缺少机密信息)。部署失败时,CLI 会显示原因、文件和行号,以及修复方法。

已验证的部署

当 API 返回验证报告时,部署输出会以实际判定结果(working、partly_working 或 broken)、摘要、检查数量、每个问题对应的原因/文件/修复方法,以及私有报告链接作为结尾。缺失或跳过的报告会明确标注,绝不会根据部署成功推断为正常。假定覆盖范围完整前,请先查看已跳过的检查组。

rivtor verify my-app            # re-check the current live app without redeploying
rivtor verify my-app --json     # complete machine-readable VerificationReport
rivtor status my-app            # last verdict, report link and open issue count
rivtor issues my-app --status open --json
rivtor issue-resolve <issue-id> --project my-app
rivtor verify-fix <issue-id> --project my-app --yes

手动验证不会应用任何配置修复。只有判定结果为 working 时才会以 0 退出;其他判定结果和请求失败均以 1 退出。Deploy 会保留现有的部署状态退出代码;自动化程序应在 --json 输出中单独检查 verification.verdict。--no-wait 会停止等待,但验证仍会启用。

报告页面和截图需要登录并加入项目。分享报告 URL 不会授予访问权限。请参阅 https://rivtor.com/docs/verify。

命令

CommandWhat it does
rivtor login [--token <t>]保存 API 令牌
rivtor logout删除已保存的令牌
rivtor whoami显示已登录的账号和套餐
rivtor deploy [path] [--project] [--dry-run] [--json] [--no-wait] [--env-file] [--clean] [--no-verify]部署文件夹
rivtor verify [project] [--json]重新检查线上应用并返回验证报告
rivtor issues [project] [--status open|resolved|dismissed|all] [--severity]以 JSON 格式列出生产环境问题
rivtor issue-resolve <id> [--project] [--dismiss]解决问题或记录误报排除项
rivtor verify-fix <ids...> [--project] --yes同意应用允许列表中的配置修复并重新验证
rivtor status [project]服务、URL、数据服务和最近一次部署
rivtor projects列出你的项目
rivtor logs [project] [--service] [--since 1h] [--level error] [--raw] [--build <deploymentId>]运行时日志,或某次部署的构建日志
rivtor env set K=V [K2=V2 ...] [--service]设置环境变量和机密(服务会重启;不会重新构建)
rivtor env rm K [K2 ...] [--service]删除环境变量
rivtor env ls列出环境变量(值会隐藏)
rivtor rollback [releaseId]回滚到上一个版本,或指定版本
rivtor db query "<sql>"执行只读 SQL
rivtor db url获取临时连接字符串(有效期为 1 小时)
rivtor db export -o backup.dump下载自定义格式的 pg_dump
rivtor domain add <hostname> [--service]绑定自定义域名并打印要创建的 DNS 记录
rivtor destroy [project]删除项目及其所有数据;输入项目 slug 以确认
rivtor upgrade [hobby|pro|team] [--interval month|year]打开结账链接
rivtor mcp通过 stdio 运行 MCP 服务
rivtor skills install [--target claude|codex|cursor|all] [--project]安装 Rivtor Agent 技能
rivtor skills path打印捆绑技能所在的文件夹
大多数命令都接受 --json 和 --project <slug>。

在 AI Agent 中使用(MCP)

rivtor mcp 会通过 stdio 运行本地 MCP 服务。它提供与远程服务相同的工具,其 deploy 工具可以直接从磁盘上传文件夹:

deploy、status、logs、env_set、rollback、db、domain_add、destroy、upgrade、list_projects

借助这些工具,Agent 可以自行修复部署失败的问题。部署失败时,Agent 会收到包含 cause、file 和 fix 的结构化错误。它会编辑代码并再次调用 deploy,且只会重新构建发生变化的服务。如果缺少密钥,Agent 会向你询问一次,然后调用 env_set。密钥值绝不会被回显。

Claude Code
claude mcp add rivtor -e RIVTOR_TOKEN=rvt_... -- npx -y rivtor mcp

如果你已经运行过 rivtor login,可以省略 -e RIVTOR_TOKEN=...:

claude mcp add rivtor -- npx -y rivtor mcp
Cursor

~/.cursor/mcp.json(或项目中的 .cursor/mcp.json):

{
  "mcpServers": {
    "rivtor": {
      "command": "npx",
      "args": ["-y", "rivtor", "mcp"],
      "env": { "RIVTOR_TOKEN": "rvt_..." }
    }
  }
}
Codex

~/.codex/config.toml:

[mcp_servers.rivtor]
command = "npx"
args = ["-y", "rivtor", "mcp"]
env = { RIVTOR_TOKEN = "rvt_..." }
远程 MCP(无需本地安装)

无需从磁盘上传文件的 Agent,可以通过请求头 Authorization: Bearer rvt_... 连接到 https://api.rivtor.com/mcp。远程 deploy 工具接受 git URL、入门模板或内联文件。

Agent 技能

该软件包附带一项 Agent 技能,用于教会编码 Agent 掌握 Rivtor 工作流:部署、读取 DeployResult 和验证判定结果、根据 error.cause/error.fix 修复、询问缺失的密钥,并在需要人工介入时停止。它还列出了每个错误代码及其修复方法。

npx rivtor skills install                      # Claude Code: ~/.claude/skills/rivtor
npx rivtor skills install --project            # Claude Code, this project: ./.claude/skills/rivtor
npx rivtor skills install --target codex       # Codex: ~/.agents/skills/rivtor (--project: ./.agents/skills/rivtor)
npx rivtor skills install --target cursor      # Cursor rule: ./.cursor/rules/rivtor.mdc (always per project)
npx rivtor skills install --target all         # all three
npx rivtor skills path                         # where the bundled skill lives, to copy it by hand

重新运行 install 会替换之前的副本。启动新的 Agent 会话以加载它。

在 Claude Code 中,你也可以将其安装为插件:

/plugin marketplace add shyamolkonwar/rivtor-cli
/plugin install rivtor@rivtor

该技能在连接了 Rivtor MCP 工具时会使用这些工具,否则会使用 rivtor CLI,因此也请连接 MCP 服务(见上文)。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。