Rendobar について
Rendobarは、AIエージェント向けのメディア処理MCPサーバーです。ホスト型のFFmpeg変換に加え、画像の生成や編集にも対応し、ローカルのstdioサーバーからファイルをアップロードして処理結果を受け取れます。
主な機能
- 01動画・音声・画像へのFFmpegコマンド実行
- 02JSONタイムラインからの動画合成
- 03サイズや品質を指定したメディア圧縮
- 04字幕の焼き込みとアニメーション字幕の作成
- 05画像の生成・編集・アップスケール
- 06メディアの検査とジョブ管理
活用シーン
- 01FFmpegをインストールせずにクリップを消音・編集
- 02メールのサイズ制限に合わせた動画圧縮
- 03テキストプロンプトからタイトルカードを生成
- 04ジョブを追跡し、接続済みストレージへ結果を配信
MCP 対応
ローカルのstdioで動作し、ファイルのアップロード、メディアジョブの送信、結果の確認、ジョブ管理、接続済みストレージへのアクセスをツールとして提供します。ローカルファイルをRendobarのホスト環境で処理できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.rendobar.com/mcpclaude mcp add --transport http com-rendobar https://api.rendobar.com/mcp{"mcpServers":{"com-rendobar":{"type":"http","url":"https://api.rendobar.com/mcp"}}}Cursor で開く{"servers":{"com-rendobar":{"type":"http","url":"https://api.rendobar.com/mcp"}}}VS Code で開く{"mcpServers":{"com-rendobar":{"type":"http","url":"https://api.rendobar.com/mcp"}}}{"mcpServers":{"com-rendobar":{"serverUrl":"https://api.rendobar.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
@rendobar/mcp
AI エージェント向けのサーバーレスメディア処理。
Rendobar の公式 Model Context Protocol サーバーです。
ドキュメント · npm · Glama · Discord
@rendobar/mcp は、サーバーレスのメディア処理 API Rendobar の公式 Model Context Protocol サーバーです。サーバーは stdio 経由でローカル実行され、ディスクから直接ファイルを読み取ります。これにより、AI エージェントはマシン上のファイルを取り出し、Rendobar のインフラストラクチャで処理して、ホストされた URL を返せます。
Rendobar はメディア関連作業の両方をカバーします。
手元にある素材を変換。 ローカルで記述するのと同じように、動画、音声、画像に対して任意の FFmpeg コマンドを実行できます。ファイルを検査して、正規化された概要と完全な ffprobe レポートを取得できます。宣言型の JSON タイムラインから動画を作成できます。目標サイズまたは品質を指定して圧縮すると、エンコーダーが候補となるエンコードを検索し、条件を満たす最小のファイルを返します。SRT、VTT、ASS 形式の字幕を焼き込むことも、字幕が指定されていない場合に文字起こしを実行することもできます。
まだない素材を生成。 ホストされたオープンウェイトの拡散モデルで、テキストプロンプトから画像を作成できます。マスクや座標を使わず、文章による指示で最大4枚の参照画像を編集できます。ディテールを単にシャープにするのではなく再構築する、1ステップの拡散復元モデルでアップスケールできます。同じモデルベースのレイヤーが、アニメーション付き字幕の文字起こしやキーワード強調も担うため、画像だけの機能ではありません。
ジョブの種類は今後増えていくため、この README では個別の種類ではなくファミリーを紹介しています。list_job_types を呼び出すと、毎回レジストリから最新の一覧を取得します。
npm では @rendobar/mcp として、公式 MCP Registry では com.rendobar/mcp として公開されています。
これがない場合
あなた:
intro.mp4の最初の3秒を無音にして。
エージェントは FFmpeg をインストールするよう案内します。次に、タイムスタンプに応じてフィルターを適用する方法を調べて volume=enable='lt(t,3)' にたどり着き、シェルでの引用符のエスケープにさらに数分を費やします。誰もこの構文を覚えていないことが問題です。
これがある場合
あなた:
intro.mp4の最初の3秒を無音にして。
upload_file { "path": "~/clips/intro.mp4" }
// → { "downloadUrl": "https://cdn.rendobar.com/u/abc123/intro.mp4", "sizeBytes": 4821004 }
submit_job { "type": "ffmpeg",
"inputs": { "intro.mp4": "https://cdn.rendobar.com/u/abc123/intro.mp4" },
"params": { "command": "-i intro.mp4 -af \"volume=enable='lt(t,3)':volume=0\" -c:v copy out.mp4" } }
// → { "jobId": "job_9f2a", "status": "waiting" }
get_job { "jobId": "job_9f2a", "wait": true }
// → complete · $0.01 · https://cdn.rendobar.com/o/job_9f2a/out.mp4
エージェントがフィルターを記述し、Rendobar が実行します。マシンに何もインストールする必要はなく、-c:v copy によって動画ストリームが再エンコードされることもありません。
追加でできることを2つ
サイズ制限に収める。
あなた: メールで送れるように、
demo.movを25 MB未満にしてください。
upload_file { "path": "~/recordings/demo.mov" }
// → { "downloadUrl": "https://cdn.rendobar.com/u/7c1e/demo.mov", "sizeBytes": 251658240 }
submit_job { "type": "compress.target",
"inputs": { "source": "https://cdn.rendobar.com/u/7c1e/demo.mov" },
"params": { "for": "web", "target": { "maxSize": "25MB" } } }
// → { "jobId": "job_4b8d", "status": "waiting" }
get_job { "jobId": "job_4b8d", "wait": true }
// → complete · https://cdn.rendobar.com/o/job_4b8d/out.mp4 · 23.8 MB
ビットレートではなく、上限サイズを指定します。エンコーダーが候補となるエンコードを検索し、品質基準を満たす最小のファイルを返すため、メールサーバーの上限に収めようとCRF値を推測する必要はありません。
画像を生成する。
あなた: 深海ダイビングの動画用に、1920x1080のタイトルカードを作ってください。
submit_job { "type": "image.generate",
"inputs": {},
"params": { "model": "standard",
"prompt": "Title card for a deep sea diving documentary. Shafts of light through deep blue water, small diver silhouette, empty space across the upper third for a title.",
"width": 1920, "height": 1080 } }
// → { "jobId": "job_2fa7", "status": "waiting" }
get_job { "jobId": "job_2fa7", "wait": true }
// → complete · https://cdn.rendobar.com/o/job_2fa7/out.png
変換対象がないため、inputs は空です。ティア(economy、standard、premium)を指定すると、プラットフォームがモデルを選択します。または、モデル ID を直接指定して、そのモデル固有の設定を利用できます。指定された寸法は、選択したモデルが実際に生成できるサイズに合わせて調整されます。
その他の機能
さらに6つのツールと、それらを呼び出すプロンプトを紹介します。
あなた: Rendobarでは実際に何ができますか?
list_job_types {}
// → { "jobTypes": [ { "type": "compose", "tag": "Compose",
// "summary": "Render a video from a declarative JSON timeline",
// "acceptsMedia": ["video", "image", "audio"] }, ... ],
// "guidance": "..." }
呼び出しのたびにジョブレジストリから最新情報を読み込みます。そのため、このREADMEにはジョブの種類を列挙していません。新しいジョブの種類が追加されると、リリースを待たずにここに表示されます。
あなた: クレジットはあとどれくらい残っていますか?
get_account {}
// → { "balance": "$4.86", "balanceUsd": 4.86, "plan": "free", "isPro": false,
// "limits": { "concurrentJobs": 1, "maxFileSize": "500 MB", "jobTimeoutMin": 60 } }
費用のかかる処理を送信する前に確認しておくと便利です。
あなた: 今朝実行したのは何ですか?
list_jobs { "status": "complete", "limit": 5 }
// → { "jobs": [ { "id": "job_9f2a", "type": "ffmpeg", "status": "complete",
// "createdAt": "2026-08-04T09:12:00Z", "cost": "$0.01",
// "output": { "url": "https://cdn.rendobar.com/o/job_9f2a/out.mp4" } } ] }
簡潔な行があれば、見失った結果を探すのに十分です。出力全体が必要な場合は、get_job を呼び出してください。
あなた: 間違ったファイルを選んだので、これを停止してください。
cancel_job { "jobId": "job_9f2a" }
// → { "id": "job_9f2a", "status": "cancelled" }
waiting、dispatched、running のジョブに対応しています。実行中のジョブは上流の処理も停止するため、キャンセルした処理に料金が発生することはありません。
あなた: 完了後、どこに保存できますか?
list_storage {}
// → { "storage": [ { "id": "prod-media", "provider": "s3", "bucket": "acme-prod-media",
// "access": "deliver", "defaultDestination": true, "pending": false } ],
// "note": "..." }
Storageページで接続したバケットが表示されます。エージェントには不要なエンドポイントやリージョンは表示されません。destinations で ID を指定するか、入力内で storage://<id>/<path> を使ってください。
あなた: アーカイブ用バケットには何が入っていますか?
list_storage_files { "storageId": "raw-archive" }
// → { "folders": [ { "prefix": "2026/", "uri": "storage://raw-archive/2026/" } ],
// "files": [ { "key": "notes.txt", "size": 800, "lastModified": "2026-09-01T00:00:00.000Z",
// "uri": "storage://raw-archive/notes.txt" } ],
// "cursor": null }
各エントリーには専用の storage:// URI が含まれており、そのまま submit_job に渡せます。フォルダーのプレフィックスを渡すと、1階層下まで表示されます。
インストール
Rendobarには2種類のMCPサーバーがあります。エージェントにファイルシステムへのアクセスが必要かどうかで選んでください。
@rendobar/mcp(このパッケージ) | ホスト型(api.rendobar.com/mcp) | |
|---|---|---|
| トランスポート | stdio。クライアントが起動します | Streamable HTTP |
| ローカルファイルの読み取り | はい。それがこのサーバーの目的です | いいえ。サーバーにディスクはありません |
| 認証 | APIキー | ブラウザーでのOAuth、またはBearerキー |
| おすすめの用途 | Claude Desktop、Cursor、Cline、Zed | claude.ai、ChatGPT、ホスト型ゲートウェイ |
ホスト型、APIキー不要。コマンドは1つです。
claude mcp add --transport http rendobar https://api.rendobar.com/mcp
ローカル版はファイルシステムにアクセスできます。app.rendobar.com → Settings → API Keysでキーを取得してから、次を実行してください。
claude mcp add rendobar -s user --env RENDOBAR_API_KEY=rb_... -- npx -y @rendobar/mcp
Rendobar CLIで rb login をすでに実行している場合は、--env を省略してください。サーバーが認証情報ファイルを検出します。
Claude Desktop、Cursor、Cline、Windsurf
4つすべてで同じ設定ブロックを使います。Claude Desktopの場合:~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)。Cursorの場合:すべてのOSで ~/.cursor/mcp.json。Windsurfの場合:すべてのOSで ~/.codeium/windsurf/mcp_config.json。Clineの場合:MCPパネル → Configure。
Linuxでは、Cursor、Windsurf、Cline、Zed、VS Code、またはContinueを使用してください。Claude DesktopにはLinux版がないため、この一覧のクライアントでLinux上で使えないのはClaude Desktopだけです。サーバー自体はLinuxで問題なく動作します。
{
"mcpServers": {
"rendobar": {
"command": "npx",
"args": ["-y", "@rendobar/mcp"],
"env": { "RENDOBAR_API_KEY": "rb_..." }
}
}
}
設定後、クライアントを再起動してください。
Zed、VS Code、Continue
Zedでは mcpServers の代わりに context_servers を使い、~/.config/zed/settings.json に設定します。
{
"context_servers": {
"rendobar": {
"source": "custom",
"command": "npx",
"args": ["-y", "@rendobar/mcp"],
"env": { "RENDOBAR_API_KEY": "rb_..." }
}
}
}
VS Code 1.101以降では、.vscode/mcp.json に設定します。キーは保存されず、入力を求められます。
{
"servers": {
"rendobar": {
"command": "npx",
"args": ["-y", "@rendobar/mcp"],
"env": { "RENDOBAR_API_KEY": "${input:rendobarKey}" }
}
},
"inputs": [{ "id": "rendobarKey", "type": "promptString", "password": true, "description": "Rendobar API Key" }]
}
Continueでは、.continue/mcpServers/rendobar.yaml に設定します。
type: stdio
command: npx
args: ["-y", "@rendobar/mcp"]
env:
RENDOBAR_API_KEY: rb_...
macOS、Linux、Windowsで動作します。すべてのリリースで、CIにより3つのOSすべてでテストを実施しています。ネイティブ依存関係はないため、アーキテクチャは問いません。x64とarm64のどちらでも動作します。Node 20.10以降が必要です。サーバーは起動時にバージョンを確認し、古いバージョンの場合は明確なメッセージを表示して終了します。
ツール
| ツール | 目的 |
|---|---|
upload_file | ローカルファイルをアップロードします。submit_jobで使用するURLを返します。 |
list_job_types | 有効なすべてのジョブタイプをリアルタイムで読み込みます。最初に呼び出してください。 |
submit_job | 任意のタイプのジョブを送信します。 |
get_job | ステータスと結果を取得します。wait: trueを指定すると、約50秒間ロングポーリングします。 |
list_jobs | 最近のジョブを取得します。 |
cancel_job | 待機中、ディスパッチ済み、または実行中のジョブをキャンセルします。 |
get_account | 残高、プランの上限、アクティブなジョブ数を取得します。 |
list_storage | Storageページで接続したバケットを取得します。storage://形式の入力とdestinationsで使用します。 |
list_storage_files | 接続済みバケット内のフォルダーとファイルを、それぞれのstorage:// URIとともに取得します。 |
ジョブタイプ
まず使うべきなのは**ffmpeg**です。ローカルで記述するのと同じようにコマンドを指定すると、ホスト型インフラストラクチャ上で実行し、URLを返します。トランスコード、トリミング、マルチプレクス、フィルター処理、連結など、フラグで許可される操作を実行できます。NVENCエンコードを強制するにはparams.computeにgpuを指定します(Proプラン)。またはautoのままにすると、RendobarはCUDAコマンドをGPUに、それ以外をCPUに振り分けます。
そのほかに、タイムラインの合成、サイズ上限に合わせた圧縮、字幕の焼き付け、アニメーション字幕、メディアの検査、画像生成、画像編集、画像のアップスケーリングに特化したジョブタイプがあります。
詳細なリファレンスは**rendobar.com/docs/jobs**をご覧ください。または、list_job_typesを呼び出すと、レジストリをリアルタイムで読み込むため、常に最新の情報を取得できます。このREADMEでは意図的にジョブタイプを列挙していないため、古い情報になることはありません。
ジョブの連結
submit_jobの入力には、前のジョブの出力を指定できます。そのため、複数の手順からなる編集でも、ディスクを経由する必要はありません。ffmpegの入力では{ job: "job_..." }を渡してください。それ以外のタイプでは、get_jobから出力URLを取得して渡してください。
独自のストレージ
Storageページで接続したバケット内のファイルは、入力としてstorage://<id>/<path>で指定できます。submit_jobにdestinations: ["storage://<id>"]を追加すると、ジョブ完了時に出力がバケットに書き戻され、get_jobのdeliveriesにバケットごとに報告されます。list_storageでIDを、list_storage_filesでパスを取得できます。2026年9月13日より前に作成したAPIキーではストレージを読み取れないため、新しいキーを作成してください。rb loginで保存した認証情報を使う場合、rbからストレージへのアクセスを求められた時点で、もう一度rb loginを実行する必要があります。
認証
認証情報の取得元は3つあり、最初に見つかったものが使われます。
--api-key=<key>フラグRENDOBAR_API_KEY環境変数- Unixでは
~/.config/rendobar/credentials.json、Windowsでは%APPDATA%\rendobar\credentials.json。rb loginによって書き込まれます(Rendobar CLI 1.1以降)
.mcpb拡張機能としてインストールした場合は、キーを拡張機能独自の設定フィールドに入力します。この場合、上記の3つはいずれも適用されません。
サーバーはキーなしで起動するため、クライアントやディレクトリはツールを一覧表示できます。また、起動時にネットワークへの呼び出しは行いません。サーバーが公開する情報はレジストリに依存しないため、ジョブタイプの一覧がビルドに埋め込まれることはありません。代わりにlist_job_typesがリアルタイムで読み込みます。また、GET /jobs/typesは公開されているため、キーがなくても応答します。キーが設定されるまでは、それ以外のすべてのツールが明確なエラーを返します。
Rendobarがマシン上のファイルを読み取る必要がない場合は、ホスト型サーバーhttps://api.rendobar.com/mcpを使うと、ブラウザー経由でサインインでき、キーを管理する必要もありません。ローカルサーバーはディスクにアクセスするためのもので、そのためにキーが必要です。
テレメトリー
サーバーは、PostHog の MCP Analytics SDK を通じて、ツール名、成功したかどうか、所要時間、エージェントが申告した意図を匿名で報告します。
パラメーターや応答が送信されることはありません。ファイル URL、ジョブ設定、出力は、プロセス外に送信される前に取り除かれます。イベントにアカウント情報は含まれず、個人プロフィールも作成されません。CI では自動的に無効になります。
DO_NOT_TRACK=1 # or RENDOBAR_TELEMETRY=0
トラブルシューティング
よくある問題
macOS の Cursor が npx を見つけられません。 Dock から起動した Cursor は、シェルの PATH ではなく GUI の PATH を取得します。絶対パスを使用してください:"command": "/Users/you/.nvm/versions/node/v20.x/bin/npx"。
Windows が npx を見つけられません。 クライアントが解決できない場合は、"command": "npx.cmd" を使用してください。
ツールは表示されますが、「No Rendobar API key configured」というエラーで呼び出しに失敗します。 キーが設定されていない場合は想定どおりの動作です。クライアントがツールを一覧表示できるよう、サーバーはツールを公開しますが、呼び出しには認証情報が必要です。RENDOBAR_API_KEY を設定するか、--api-key を渡すか、rb login を実行してください。起動時に no_api_key 警告が stderr に出力されます。
サーバーが起動しません。 JSON 行を stderr に出力します。クライアントの出力パネルで、level: "error" の項目を確認してください。
プライバシーポリシー
ポリシー全文:rendobar.com/privacy。このサーバーが具体的に行うことは次のとおりです。
収集する情報。 フラグ、環境、または認証情報ファイルから読み取る API キー。ツールに渡すジョブ入力と、upload_file に指定するファイルは、依頼されたジョブを実行するために Rendobar API に送信されます。匿名テレメトリーでは、ツール名、成功したかどうか、所要時間、エージェントが申告した意図を収集します。
収集しない情報。 ツールのパラメーターと応答。ファイル URL、ジョブ設定、出力は、テレメトリーがプロセス外に送信される前に取り除かれます。テレメトリーにアカウント情報は含まれず、個人プロフィールも作成されません。upload_file に明示的に渡したファイルパス以外、ディスク上の情報が読み取られることはありません。
保存先。 アップロードされた入力とジョブの出力は Rendobar のストレージに保存され、ご利用プランの保持スケジュールに従って削除されます。テレメトリーは PostHog に送信されます。CLI が書き込む認証情報ファイル以外に、サーバーがマシン上にデータを保持することはありません。
サードパーティ。 Rendobar(ジョブの実行と保存)および PostHog(匿名テレメトリー)。テレメトリーを完全にオプトアウトするには、DO_NOT_TRACK=1 または RENDOBAR_TELEMETRY=0 を設定してください。
お問い合わせ。 [email protected]、またはこのリポジトリで issue を作成してください。
セキュリティ
脆弱性の報告については、SECURITY.md をご覧ください。
コントリビューション
CONTRIBUTING.md をご覧ください。AI を活用した開発については、AGENTS.md および CLAUDE.md をご覧ください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。