Rivtor について
Rivtorは、フルスタックアプリのデプロイと本番サービス管理を行うコマンドラインツール兼MCPサーバーです。開発者やコーディングエージェントはローカルフォルダーやリモートソースからデプロイし、検証結果を確認してデータベースなどを操作できます。
主な機能
- 01アプリのデプロイとデータサービスの構成
- 02サービスの検出とサービスURLの接続
- 03デプロイの検証と問題の確認
- 04ログ、シークレット、ドメイン、ロールバックの管理
- 05データベースクエリとエクスポート
活用シーン
- 01ローカルフォルダーからプロジェクトをデプロイ
- 02エージェントによる失敗したデプロイの調査と再実行
- 03稼働中アプリの状態と未解決の本番問題の確認
- 04環境変数の管理とリリースのロールバック
MCP 対応
`rivtor mcp`はstdioでローカルMCPサーバーを起動し、デプロイ、状態、ログ、環境変数、ロールバック、データベース、ドメイン、プロジェクトのツールを公開します。リモートMCPエンドポイントでは、git URL、スターターテンプレート、インラインファイルからのデプロイにも対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.rivtor.com/mcpclaude mcp add --transport http com-rivtor-rivtor https://api.rivtor.com/mcp{"mcpServers":{"com-rivtor-rivtor":{"type":"http","url":"https://api.rivtor.com/mcp"}}}Cursor で開く{"servers":{"com-rivtor-rivtor":{"type":"http","url":"https://api.rivtor.com/mcp"}}}VS Code で開く{"mcpServers":{"com-rivtor-rivtor":{"type":"http","url":"https://api.rivtor.com/mcp"}}}{"mcpServers":{"com-rivtor-rivtor":{"serverUrl":"https://api.rivtor.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
rivtor
ターミナルまたは AI エージェントから、1 つのコマンドであらゆるアプリ(フロントエンド、バックエンド、ワーカー、Postgres、Redis、オブジェクトストレージ)をデプロイできます。
npx rivtor login
npx rivtor deploy
Rivtor はフォルダー内のすべてのサービス(Next.js、Vite、Astro、Express、Fastify、NestJS、FastAPI、Flask、Django、Go、Rust、Dockerfile など)を検出し、コードが必要とするデータベースを用意して、サービス URL を相互に接続し、通常は約 2 分で稼働中の 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
手動検証では設定の修正は適用されません。終了コードが 0 になるのは working の場合のみです。それ以外の判定結果やリクエストの失敗では 1 が返されます。Deploy では既存のデプロイ状態に関する終了コードが維持されます。自動化では --json の出力に含まれる verification.verdict を別途確認してください。--no-wait を指定すると待機は停止しますが、検証は有効なままです。
レポートページとスクリーンショットの閲覧には、サインインとプロジェクトへの所属が必要です。レポート URL を共有してもアクセス権は付与されません。https://rivtor.com/docs/verify を参照してください。
コマンド
| コマンド | 内容 |
|---|---|
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] | プロジェクトとそのすべてのデータを削除します。スラッグを入力して確定します |
rivtor upgrade [hobby|pro|team] [--interval month|year] | チェックアウトリンクを開きます |
rivtor mcp | stdio 経由で MCP サーバーを実行します |
rivtor skills install [--target claude|codex|cursor|all] [--project] | Rivtor エージェントスキルをインストールします |
rivtor skills path | 同梱されているスキルのフォルダーを表示します |
ほとんどのコマンドでは、--json と --project <slug> を使用できます。 |
AI エージェントから使用する(MCP)
rivtor mcp は、stdio 経由でローカルの MCP サーバーを起動します。リモートサーバーと同じツールを備えており、その deploy ツールではディスク上のフォルダーを直接アップロードできます。
deploy、status、logs、env_set、rollback、db、domain_add、destroy、upgrade、list_projects
これらのツールを使うと、エージェントは失敗したデプロイを自分で修正できます。デプロイに失敗すると、エージェントは cause、file、fix を含む構造化エラーを受け取ります。コードを編集して再度 deploy を呼び出すと、変更されたサービスだけが再ビルドされます。シークレットが不足している場合、エージェントは一度だけ値を尋ね、その後 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(ローカルへのインストール不要)
ディスク上のファイルをアップロードする必要がないエージェントは、ヘッダー Authorization: Bearer rvt_... を使って https://api.rivtor.com/mcp に接続できます。リモートの deploy ツールは、Git URL、スターターテンプレート、またはインラインファイルを受け付けます。
エージェントスキル
パッケージにはエージェントスキルが含まれており、コーディングエージェントに 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 を再実行すると、前回のコピーが置き換えられます。新しいエージェントセッションを開始して読み込んでください。
Claude Code では、プラグインとしてインストールすることもできます。
/plugin marketplace add shyamolkonwar/rivtor-cli
/plugin install rivtor@rivtor
このスキルは、Rivtor MCP ツールに接続されている場合はそれを使用し、そうでない場合は rivtor CLI を使用します。そのため、MCP サーバーも接続してください(上記を参照)。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。