replicate-mcp-server について
replicate-mcp-serverは、画像、動画、音声、音声合成、LLM、ビジョン、3DなどのReplicateモデルを操作するタスク指向のツールをMCPクライアントに提供します。モデル検索やジョブのオーケストレーションに対応し、生成ツールは完了を待って出力をローカルにダウンロードします。
主な機能
- 01画像、動画、音声、音声合成の生成
- 02LLM、ビジョン、文字起こし、画像編集ツール
- 03音声クローン、3D生成、リップシンク
- 04バッチ予測とDAGパイプラインのオーケストレーション
- 05モデル検索・推薦とコスト見積もり
- 06ジョブ完了待ちと出力のダウンロード
活用シーン
- 01テキストから画像、動画、音楽を生成
- 02音声を文字起こしし、要約を音声に変換
- 03バリエーションを一括生成、または複数のメディア処理を連結
- 04画像のアップスケール、インペイント、背景除去
MCP 対応
stdioとHTTP/SSEを通じて、Replicateのモデル実行、検索、トレーニング、デプロイ、オーケストレーション用ツールをMCPクライアントに公開します。ローカル構成では生成結果を待ち、出力を自動でダウンロードします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
36掲載時のツール一覧 · 1 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| seed | integer | いいえ | 出力を再現するためのランダムシード。 |
| model | any | いいえ | 厳選キー(flux-schnell、flux-dev、flux-pro、sd-3.5-large、recraft-v3、recraft-v4.1、flux-2-max、seedream、ideogram-v2、imagen-3)、または "owner/name" や "owner/name:version" のような Replicate 識別子。 |
| prompt | string | はい | 生成する画像を説明するテキストプロンプト。 |
| download | boolean | いいえ | 生成したファイルをローカルにダウンロードするかどうか。デフォルトは true。false の場合、Replicate URL のみを返します(URL は約 24 時間で期限切れになります)。 |
| timeout_ms | integer | いいえ | 予測の最大待機時間(ミリ秒)。超過した場合は予測 ID を返し、replicate_get_prediction でポーリングできます。デフォルト:300000 (5min)。 |
| extra_input | object | いいえ | リクエストにマージするモデル固有の追加入力(例:{guidance: 3.5})。モデルが受け付ける入力は replicate_get_model_schema で確認してください。 |
| num_outputs | integer | いいえ | 生成する画像の枚数(1-4)。 |
| aspect_ratio | enum | いいえ | アスペクト比。Flux モデルが対応しています。デフォルトは 1:1。1:1 | 16:9 | 9:16 | 4:3 | 3:4 | 21:9 | 3:2 | 2:3 |
詳細
Replicate MCP サーバー
あらゆる MCP クライアント(Claude Desktop、claude.ai のウェブアプリ(コネクター)、Cursor、VS Code の Cline / Continue、自作アプリケーションなど)から、Replicate のカタログ全体(画像生成、動画、音楽、音声、アップスケーリング、セグメンテーション、LLM、音声クローン、3D、リップシンクなど、Replicate がホストするあらゆるもの)にネイティブアクセスできる、ユニバーサルなクロスプラットフォーム対応の MCP サーバーです。
2 種類のトランスポートに対応しています。stdio(ローカルのデスクトップ/エディター連携の標準)と HTTP/SSE(リモート/ウェブクライアントや自社サービス向け)です。
MCP クライアントに接続したら、次のように頼むだけです。
「嵐の中の灯台を、シネマティックな 21:9 の画角で生成して」 「30 秒のシンセウェーブ曲を書いて」 「紙飛行機が街を飛び抜ける 5 秒の動画を作って」 「この段落をイギリス英語の男性の声で読んで」 「この画像を 4 倍にアップスケールして」
……するとアシスタントが適切な Replicate モデルを呼び出し、結果を待ってから(ローカル/stdio の設定では)出力をお使いのマシンにダウンロードします。
インストール
最速 — Smithery からワンクリックでインストール:サーバーページを開き、お使いのクライアント(Claude、Cursor、VS Code、Cline、Windsurf など)用の Install スニペットをコピーします。サーバーが設定され、Replicate トークンの入力を求められます。(Smithery のホスト型ゲートウェイを経由するため、最も簡単でローカルのセットアップは不要です。)
トークンを外部に送らない — npm + stdio(Replicate トークンはお使いのマシンから外部に送信されません):
npx -y replicate-mcp-server
……または、任意の MCP クライアントの設定に追加できます(詳しい手順はインストールを参照してください)。
Claude Desktop にファイル 1 つでインストール: 最新の .mcpb を Releases からダウンロードし、Claude Desktop にドラッグします。
起動済みのサーバーを利用(トークンはご自身で用意): https://replicate-mcp.sena-labs.dev/mcp — HTTP/SSE、マルチテナント対応です。x-replicate-api-token ヘッダーにトークンを渡してください。
接続したら、以下のプロンプト例を試してみてください。
試してみる
クライアントを接続したら、自然な言葉で頼んでください。アシスタントが適切なツールを選び、結果を待って出力をローカルにダウンロードします。
「嵐の中の灯台を、シネマティックな 21:9 の画角で生成して」 「5 秒の動画に最も安いモデルはどれ? それを使って」 — 推奨 → 生成 「キツネのロゴを、フラットなベクタースタイルで 4 パターン作って」 — バッチ処理(並列実行) 「この音声を書き起こして要約し、その要約を読み上げて」 — DAG パイプライン 「この画像を 4× にアップスケールして」 · 「30 秒のシンセウェーブ曲を書いて」 · 「これをイギリス英語の男性の声で読んで」 「データセットで Flux LoRA のファインチューニングを開始して、完了したら知らせて」 — トレーニング
検出ツール(replicate_recommend_model、replicate_search_models、replicate_estimate_cost)と、組み込みの 5 つのワークフロープロンプトを使えば、モデル名を指定しなくても複数ステップのジョブを連携できます。
内容
36 個のツールと厳選された 66 個のモデルを備え、よくある使い方での使いやすさと、それ以外のあらゆる用途への柔軟な対応を両立しています。生成/実行ツールはすべて、処理の完了を待って出力を自動的にお使いのマシンへダウンロードします。一度頼むだけで、監視が必要なジョブ ID ではなく、ローカルファイルが返されます。
厳選された生成ツール
| ツール | 目的 |
|---|---|
replicate_generate_image | テキスト → 画像。厳選モデル:Flux Schnell / Dev / Pro / 2-Max、SD 3.5、Recraft v3 / v4.1、Seedream、Ideogram v2、Imagen 3。 |
replicate_generate_video | テキスト(または画像) → 動画。厳選モデル:Kling Pro、Minimax、Hunyuan、Luma Ray、Wan 2.2、Grok Video、Seedance。 |
replicate_generate_audio | テキスト → 音楽 / 楽曲。厳選モデル:MusicGen、ACE-Step(歌詞付きのフル楽曲)、Riffusion、MiniMax Music。 |
replicate_generate_speech | テキスト → 音声(TTS)。厳選モデル:Kokoro、Minimax Speech、Chatterbox、Gemini TTS、Grok TTS。 |
replicate_chat | LLM を使ったテキスト → テキスト。厳選モデル:Llama 3.1 405B、Llama 3 70B / 8B、Mistral 7B、Mixtral 8x7B、DeepSeek-R1。 |
replicate_vision | 画像 → テキスト。厳選モデル:LLaVA 13B / 1.6 34B、BLIP-2、Qwen2-VL。 |
replicate_upscale_image | 画像 → 高解像度画像。厳選モデル:Real-ESRGAN、Clarity Upscaler、Clarity Pro、SwinIR、GFPGAN。 |
replicate_remove_background | 画像 → 透明な PNG。厳選モデル:rembg、BiRefNet、BRIA RMBG。 |
replicate_transcribe_audio | 音声 / 動画 → テキスト。厳選モデル:Whisper、Distil-Whisper、WhisperX(話者分離)、ElevenLabs Scribe。 |
replicate_inpaint | マスクベースの画像編集。厳選モデル:Flux Fill Pro、SD inpaint、Ideogram v2 edit。 |
replicate_segment | 画像 → マスク。厳選モデル:SAM 2、Grounded-SAM(テキストプロンプト)。 |
replicate_embed_text | テキスト → ベクトル埋め込み。厳選モデル:BGE、Jina v3、MPNet。 |
音声、3D、アバターのツール
| ツール | 目的 |
|---|---|
replicate_clone_voice | テキスト + 参照サンプル → クローン音声での音声生成。厳選モデル:XTTS v2、OpenVoice v2。 |
replicate_generate_3d | テキストまたは画像 → 3D メッシュ(GLB/OBJ)。厳選モデル:Hunyuan 3D、Rodin、TripoSR。 |
replicate_lipsync | 肖像 + テキスト / 音声 → リップシンク付きの会話動画。厳選モデル:Video Avatar、SadTalker。 |
オーケストレーションツール
| ツール | 目的 |
|---|---|
replicate_batch_start / replicate_batch_status | 最大 50 件の予測をバックグラウンドジョブとして同時に実行し、進行状況と結果を確認します。 |
replicate_pipeline_start / replicate_pipeline_status | 予測の DAG を実行します。独立したステップは並列実行され、後続のステップは "$stepId.urls[0]" のテンプレート参照で接続されます。 |
replicate_recommend_model | 優先度(速度 / コスト / 品質 / バランス)とコスト見積もりに基づいて、カテゴリ内の厳選モデルをランク付けし、使用するモデルを提案します。 |
replicate_refresh_models | 厳選レジストリにまだ登録されていない、人気の Replicate モデルを見つけます。 |
ファインチューニング(トレーニング)
| ツール | 目的 |
|---|---|
replicate_create_training | データセットとパラメーターを指定して、トレーニング可能なベースモデル(例:Flux LoRA)のファインチューニング / トレーニングを開始します。 |
replicate_get_training | ID を指定してトレーニングの状態(ステータス、ログ、生成されたモデルバージョン)を確認します。 |
replicate_list_trainings | 最近のトレーニング実行を一覧表示します(ID、モデル、ステータス、タイムスタンプ)。 |
replicate_cancel_training | ID を指定して進行中のトレーニングをキャンセルします。 |
デプロイメント
| ツール | 目的 |
|---|---|
replicate_list_deployments | Replicate のデプロイメントを一覧表示します(所有者 / 名前、現在のモデル + バージョン)。 |
replicate_get_deployment | デプロイメントの詳細(モデル、バージョン、ハードウェア、自動スケーリングの最小値 / 最大値)を確認します。 |
replicate_run_deployment | デプロイメントに対して予測を実行します。厳選された生成ツールと同様、完了を待って出力を自動ダウンロードします。 |
予測の管理 + コスト
| ツール | 目的 |
|---|---|
replicate_list_predictions | 最近の予測履歴を表示します(ID、モデル、ステータス、タイムスタンプ)。 |
replicate_cancel_prediction | ID を指定して進行中の非同期ジョブをキャンセルします。 |
replicate_estimate_cost | 厳選された価格表に基づいて、呼び出し前に USD で見積もります。 |
汎用/検索ツール
| ツール | 目的 |
|---|---|
replicate_run_model | 任意の入力を使って任意のReplicateモデルを実行します(厳選ツールでカバーされないあらゆる用途に対応するための手段です)。 |
replicate_search_models | Replicateカタログをフリーテキストで検索します。 |
replicate_get_model_schema | 任意のモデルのOpenAPI入力スキーマを取得します。 |
replicate_get_prediction | 長時間実行される予測(動画、長い楽曲)の状態を確認します。 |
replicate_upload_file | Replicateストレージにファイルをアップロードします(ローカルの file_path または base64_data/データURIを指定)。ほかのツールに渡すURLを返します。 |
出力:
- 画像/動画/音声:
~/Downloads/replicate-mcp/<model>/<prediction_id>/にダウンロードされます(設定で変更可能)。ローカルパスと元のReplicate URLの両方が返されます。画像の場合、レスポンスにはインラインのbase64プレビューも含まれます(Claude Desktopのツール結果の上限である1 MB以内に収まるサイズです。これを超える画像はURL埋め込みに切り替わります)。また、結果をインラインでフルサイズ表示するための3種類の埋め込みスニペット(保存ボタン付きの<details>でラップされたiframeビューアー、レスポンシブな<img>、Markdown画像)も含まれます。 - テキスト(LLM、ビジョン、分類器):モデルの回答は
text_outputに表示され、Claudeが直接読み取れるようツールのレスポンスの先頭にも出力されます。
手元にある画像を編集する
編集ツール(replicate_upscale_image、replicate_inpaint、replicate_remove_background、replicate_vision、画像から動画への変換、リップシンク、画像からの3D生成)はすべてURLを受け取ります。ファイルをURLに変換するには、replicate_upload_file を使用します。
- ローカルパスがある場合(Claude Desktop):
replicate_upload_file({ file_path: "C:/Users/you/photo.jpg" })→ URL → 編集ツールに渡します。画像をチャットにドラッグ/貼り付けた場合は、まずディスクに保存してください。サーバーはチャットの添付ファイルを直接読み取れず、Claude Desktopも大きな画像の正確なバイト列をツール引数として再現できません。 - メモリ上にバイト列がある場合(コードコンテナを使うclaude.aiウェブ版):コンテナ内でアップロードされたファイルを読み込み、base64にエンコードしてから、
replicate_upload_file({ base64_data: "data:image/png;base64,..." })→ URL → 編集ツールの順に渡します。base64_dataは、base64文字列のみ、または完全なdata:<mime>;base64,...URIを受け付けます。 - すでにURLがある場合:そのまま編集ツールに渡します。アップロードは不要です。
公式の Replicate MCP ではなく、こちらを選ぶ理由
Replicate は独自の公式 MCP(npm では replicate-mcp、ホスト先は mcp.replicate.com)を提供しています。無料で常に最新の、REST API との 1:1 ブリッジとして優れています。Replicate の OpenAPI 仕様から Stainless によって生成されており、各エンドポイント(アカウント、コレクション、デプロイ、ファイル、ハードウェア、モデル、予測、トレーニング、Webhook)に対応する汎用ツールが約 37 個あります。さらに、--tools=dynamic モードと Deno の「Code Mode」サンドボックスも備えています。
このサーバーは、別の用途のために作られています。公式 MCP は薄い汎用 API ブリッジです。画像を作るには、モデル ID と入力 JSON をそのまま指定して create_predictions を呼び出す必要があり、LLM は各モデルの入力スキーマを自分で調べなければなりません。また、starting を返した後、完了を待つこともダウンロードすることもありません(Prefer: wait を指定すれば待機できますが、上限は 60 秒で、その後は手動でポーリングする必要があります)。一方、このサーバーはすぐ使えるクリエイティブスタジオです。適切なデフォルト値を備えたタスク指向のツール、厳選されたモデルレジストリ、組み込みのオーケストレーション、コストへの配慮を提供し、すべての生成/実行ツールが完了を待って、出力をローカルに自動ダウンロードします。
| 比較項目 | 公式 Replicate MCP | このサーバー(sena-labs) |
|---|---|---|
| 方針 | 薄い汎用 API ブリッジ(REST との 1:1 対応) | タスク指向のクリエイティブスタジオ |
| ツール | 汎用 REST ツール約 37 個(+動的/コードモード) | タスクツール 36 個(generate_image/video/audio/speech/3d、clone_voice、lipsync、upscale、inpaint、segment、remove_background、transcribe、vision、chat、embed) |
| メディア用ヘルパー | なし — predictions.create と入力 JSON をそのまま使用 | 適切なデフォルト値(アスペクト比など)を備えた、用途別のツール |
| 実行時の使い勝手 | starting を返す。Prefer: wait を指定すれば最大 60 秒待機し、その後は手動でポーリング | 完了を待ち、出力をローカルに自動ダウンロード |
| モデルの選定 | なし — モデルを指定し、スキーマも自分で調べる必要があります | 厳選モデル 60 種以上+recommend_model+スマートルーティング+search_models+get_model_schema |
| オーケストレーション | なし | 非同期バッチ(batch_start/status)+DAG パイプライン(pipeline_start/status) |
| コスト | なし | 実行前の米ドル建てコスト見積もり estimate_cost |
| ファインチューニング+デプロイ | あり(汎用 REST) | あり — create/get/list/cancel_training+list/get/run_deployment(実行時に完了を待ってダウンロード) |
| その他 | OAuth、API への自動同期 | ワークフロープロンプト 5 個+MCP リソース 2 個(カタログ+機能) |
| REST API の網羅性 | 未加工の API をより幅広くカバー(コレクション、ファイル、ハードウェア、Webhook、アカウント) | クリエイティブなタスクと、それを支えるオーケストレーション/コスト機能に特化 |
| ホスト型/公式 | 公式、無料。OAuth を備えた mcp.replicate.com でホストされ、自動同期 | セルフホスト可能、マルチテナント(ユーザーごとのトークン)、stdio+HTTP/SSE |
要するに: 網羅的で常に最新の未加工 REST API へのアクセス(および OAuth 対応の無料ホスト型エンドポイント)が必要なら、公式 MCP が適しています。やりたいことを説明するだけで、完成したファイルを受け取れる、厳選・オーケストレーション対応・コストを考慮したクリエイティブなワークフローが必要なら、このサーバーが適しています。スキーマを調べる必要も、手動でポーリングする必要も、手動でダウンロードする必要もありません。両者は相互に補完するもので、API を全面的に扱うなら公式 MCP、クリエイティブな作業を進めるならこちらをお使いください。
前提条件
- Node.js ≥ 20(ネイティブの
fetchと Web Streams を使用) - API トークンを持つ Replicate アカウント:https://replicate.com/account/api-tokens
- MCP クライアント — 例:Claude Desktop(macOS/Windows/Linux)、claude.ai ウェブアプリ、Cursor、Cline/Continue(VS Code)、または任意のカスタム MCP ホスト。以下の手順では Claude Desktop を例に説明しますが、同じ
command/args/envブロックを、どのクライアントの MCP 設定でも使用できます。リモート/ウェブクライアントについては、HTTP / SSE transportを参照してください。
インストール
1. クローンしてビルドする
git clone <this-repo> replicate-mcp-server
cd replicate-mcp-server
npm install
npm run build
これにより、サーバーのエントリーポイントである dist/index.js が生成されます。
2. Replicate API トークンを取得する
- https://replicate.com/account/api-tokens にアクセスします
- Create token をクリックします
- トークンをコピーします(
r8_...で始まります)
3. MCP クライアントに接続する(Claude Desktop の場合)
以下の MCP command/args/env ブロックは、すべてのクライアントで同じです。異なるのは設定ファイルの場所だけです(Cursor:~/.cursor/mcp.json、Cline/Continue:拡張機能の MCP 設定、カスタムホスト:独自のランチャー)。Claude Desktop の場合は、設定ファイルを確認してください。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
replicate エントリを追加してください(すでにある設定と統合してください)。
{
"mcpServers": {
"replicate": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/replicate-mcp-server/dist/index.js"],
"env": {
"REPLICATE_API_TOKEN": "r8_your_token_here"
}
}
}
}
⚠️
dist/index.jsには絶対パスを使用してください。チルダ(~)や相対パスは、この設定では機能しません。
任意:カスタムのダウンロード先を設定できます。
"env": {
"REPLICATE_API_TOKEN": "r8_...",
"REPLICATE_DOWNLOAD_DIR": "/Users/you/my-replicate-outputs"
}
4. Claude Desktop を再起動する
Claude Desktop を完全に終了してから、もう一度開いてください。チャット下部のツールパネル(ハンマーアイコン)に「replicate」が表示されます。
VS Code(ネイティブ MCP)
VS Code は MCP を標準でサポートしています。このリポジトリには、公開済みの npm パッケージをローカルで実行し、トークンの入力を求める(マスクして保存し、ファイルには書き込まない)すぐに使える .vscode/mcp.json が含まれています。
{
"inputs": [
{ "type": "promptString", "id": "replicate_token", "description": "Replicate API token", "password": true }
],
"servers": {
"replicate": {
"type": "stdio",
"command": "npx",
"args": ["-y", "replicate-mcp-server"],
"env": { "REPLICATE_API_TOKEN": "${input:replicate_token}" }
}
}
}
VS Code でファイルを開き、replicate サーバーの上にある Start をクリックするか、MCP: List Servers を実行してください。VS Code からトークンの入力を求められるのは初回のみです。
Smithery の「ワンクリックインストール」に関する注意: VS Code を Smithery のホスト型ゲートウェイ(
mcp.smithery.run)に接続します。サーバーは Smithery のインフラ上で実行され、個人用 Replicate トークンが呼び出しのたびに経由することになります。個人用 API トークンを使う場合は、上記のローカル stdio 設定をおすすめします。トークンがマシンの外に出ることはありません。
使用例
接続したら、アシスタントに自然な言葉で話しかけてください(例では Claude 風の表現を使っていますが、MCP 対応のアシスタントならどれでも使えます)。
画像
霧の立ち込める森にいる折り紙のキツネを、アスペクト比 16:9 で生成してください。
文字入りの高品質な画像
「Crema」という名前のコーヒーショップのロゴを作ってください。Recraft を使ってください。
動画
ネオンに照らされた街を紙飛行機が滑空する 5 秒の動画を作成してください。Kling Pro を使ってください。
(動画の生成には 1~5 分かかります。呼び出しがタイムアウトした場合、Claude は
replicate_get_predictionを使って自動的にポーリングします。)
音楽
重厚なベースラインを使った 20 秒のインストゥルメンタルなシンセウェーブのループを作ってください。
歌詞付きの曲
ACE-Step モデルを使って、次の歌詞で悲しげなインディーフォークの曲を生成してください:[...]
音声
この段落を、イギリス英語の女性の声で読み上げてください:[...]
LLM とのチャット
Llama 3 70B に、量子もつれを 2 文で説明してもらってください。
画像の理解
この写真 [URL] を見て、手前にある物を教えてください。
アップスケール
Real-ESRGAN でこの画像を 4 倍にアップスケールしてください:[URL]
背景の削除
この商品写真から背景を切り抜いてください:[URL]
その他
Replicate で「speech to text」を検索してから、この音声を書き起こしてください:[URL]
(Claude は
replicate_search_models→replicate_run_modelを使って Whisper を選びます。)
非同期予測の仕組み
画像生成は通常、数秒で完了します。動画、長尺の音楽、一部の負荷の高いモデルでは数分かかる場合があります。サーバーがこれを透過的に処理します。
replicate_generate_videoを呼び出します。- サーバーは Replicate を 2 秒ごとにポーリングし、最大
timeout_ms(デフォルトは 5 分)まで待機します。 - 制限時間内に完了した場合 → URL とローカルパスが返されます。
- 完了しなかった場合 →
pending: trueとprediction_idが返されます。Claude は後からreplicate_get_predictionを呼び出して結果を取得できます。
その場で待ちたい場合は、timeout_ms を最大 30 分まで延長できます。
Hunyuan で 10 秒の動画を生成してください。最大 20 分待ってください。
設定
| 環境変数 | デフォルト値 | 用途 |
|---|---|---|
REPLICATE_API_TOKEN | (必須) | Replicate API トークンです。 |
REPLICATE_DOWNLOAD_DIR | ~/Downloads/replicate-mcp | 生成したファイルの保存先です。 |
コスト
Replicate の料金は、モデルごとに異なるコンピューティング時間 1 秒あたりの課金です。概算コストは次のとおりです。
- Flux Schnell の画像:約$0.003
- Flux Dev の画像:約$0.025
- Flux 1.1 Pro の画像:約$0.04
- Kling 1.6 Pro の 5 秒動画:約$0.45
- MusicGen の 30 秒クリップ:約$0.05
- Kokoro TTS:リクエストあたり約$0.001
- Llama 3 70B のチャット:1K トークンあたり約$0.001
- LLaVA 13B の画像認識:画像 1 枚あたり約$0.001
- Real-ESRGAN の 4 倍アップスケール:画像 1 枚あたり約$0.003
最新の料金は https://replicate.com/pricing を、利用状況は請求ダッシュボードをご確認ください。
トラブルシューティング
「REPLICATE_API_TOKEN environment variable is not set」
Claude Desktop の設定の env ブロックにトークンを設定していません。JSON を再確認し、Claude Desktop を再起動してください。
Claude Desktop で「Server disconnected」と表示される
通常はパスの問題です。dist/index.js へのパスが絶対パスであり、ファイルが存在することを確認してください。手動でテストします:
REPLICATE_API_TOKEN=r8_... node /ABSOLUTE/PATH/dist/index.js
stderr に replicate-mcp-server v1.0.0 ready. API token detected. と表示されるはずです。終了するには Ctrl+C を押してください。
モデルが選定リストにない
完全な識別子を指定してください。model: "stability-ai/sdxl" のように指定しても同じように使えます。または、replicate_search_models を使ってモデルを検索してください。
モデルの特定のバージョンが必要
owner/name:version_hash 形式を使います:model: "black-forest-labs/flux-schnell:bf53bdb93d739c9c915091cfa5f49ca662d11273a5eb30e7a2ec1939bcf27a00"。
ダウンロードしたファイルが見つからない
REPLICATE_DOWNLOAD_DIR を確認してください。ファイルは <dir>/<sanitized-model>/<prediction-id>/output-N.<ext> の形式で整理されます。
プラットフォームとしてデプロイ(v3.0+)
ローカルの stdio クライアント 1 つだけでなく、このサーバーは マルチユーザープラットフォームとしても動作します。HTTP/SSE トランスポート(claude.ai のウェブコネクター、 リモートエディター、カスタムアプリ向け)、複数トークンのプール、Webhook 駆動の非同期完了処理、Docker、npm による配布に対応しています。
HTTP / SSE トランスポート
stdio の代わりに HTTP サービスとしてサーバーを起動します:
# Local-only, no auth — for development.
node dist/index.js --http --port 8088
# LAN-exposed with Bearer auth — behind a private network.
node dist/index.js --http --host 0.0.0.0 --port 8088 --api-key your-shared-secret
クライアントは次の宛先に JSON-RPC を POST します:http://host:port/mcp
Authorization: Bearer your-shared-secret
Content-Type: application/json
Accept: application/json, text/event-stream
Mcp-Session-Id: <set by server on initialize, echoed on follow-ups>
ヘルスチェック(認証不要):GET /health → {"status": "ok"}。
npm でインストール(公開後)
npx replicate-mcp-server --http --port 8088 --api-key SECRET
# or as a Claude Desktop launcher:
npx replicate-mcp-server
Docker
docker build -t replicate-mcp-server .
docker run --rm \
-e REPLICATE_API_TOKEN=r8_... \
-e LOG_LEVEL=info \
-p 8088:8088 \
replicate-mcp-server
デフォルトの CMD は 0.0.0.0:8088 で HTTP モードを起動します。ポートをプライベートネットワークの外部に公開する場合は、docker run ... replicate-mcp-server --http --api-key SECRET を使って --api-key を追加してください。
複数トークンのラウンドロビンプール
チームまたはマルチテナント環境でデプロイする場合、複数の Replicate アカウントをサーバーに設定することで、レート制限の余裕を分散できます:
REPLICATE_API_TOKEN_POOL=r8_account_a,r8_account_b,r8_account_c \
node dist/index.js --http --port 8088
Replicate API 呼び出しのたびに、プール内のトークンを順番に切り替えます。設定済みのトークンが 1 つだけの場合は、単一の REPLICATE_API_TOKEN にフォールバックします。
Webhook レシーバー(イベント駆動の完了処理)
サーバーがパブリックインターネットからアクセス可能な場合、ポーリングを Webhook コールバックに置き換えられます:
REPLICATE_WEBHOOK_PUBLIC_URL=https://your.domain/webhook \
REPLICATE_WEBHOOK_PORT=8089 \
node dist/index.js --http --port 8088
Replicate は予測の完了をパブリック URL に POST します。サーバーはポーリングせずに、待機中のツール呼び出しを完了します。各コールバックは、予測ごとに生成されるランダムトークンで認証されます。
Smithery への掲載
このサーバーはSmithery で公開中です:smithery.ai/server/sena-labs/replicate-mcp-server — スキャン済み(36 個のツール、5 個のプロンプト、2 個のリソース)で、Claude、Cursor、VS Code、Cline、Windsurf などの MCP クライアントにワンクリックでインストールできます。smithery.yaml では、インストール時の設定 UI(トークン、任意のプール、ログレベル、ダウンロード先ディレクトリ)を定義しています。
claude.ai ウェブコネクター
claude.ai ウェブアプリ内のコネクターとして掲載するには:
- HTTPS を使ってサーバーをパブリックにデプロイします(Render/Fly.io/Cloudflare/TLS 終端リバースプロキシの背後に置いたベア VPS)。
- https://console.anthropic.com/settings/connectors で MCP HTTP エンドポイントを登録します。
- ユーザーは claude.ai → 設定 → コネクター → カスタムを追加 から追加します。
Anthropic のコネクター審査は手動です。必要となる OAuth フローまたは API キー入力フォームと、パブリックな /mcp URL を用意してください。
アーキテクチャ
src/
├── index.ts # MCP server, tool registration, response formatting (handler factory)
├── replicate.ts # API client, polling, output extraction (URLs + text), file download with retry
├── schemas.ts # Zod schemas for tool inputs (with .strict())
├── models.ts # Curated model registry per category (8 categories)
└── constants.ts # Shared constants (timeouts, paths, character limits)
test/
├── stdio-test.mjs # End-to-end MCP handshake + tool registration test (response correlation)
└── unit/ # node:test unit suites for pure helpers
├── extract-urls.test.mjs
├── extract-texts.test.mjs
├── infer-filename.test.mjs
└── sanitize.test.mjs
このサーバーはstdio トランスポート(ローカルの Claude Desktop 統合で標準的)と、MCP TypeScript SDK の最新の registerTool API を使用します。すべてのツール入力は、.strict() による厳密なチェックを適用した Zod スキーマで検証されるため、未知のパラメーターが通ることはありません。
厳選された 8 つの生成ツールは、単一の makeGenerationHandler ファクトリーを共有します。各ツールは、それぞれ固有の入力フィールドを Replicate リクエスト本文にどう割り当てるかだけを定義します。出力 URL は、予測の output フィールドを再帰的にたどって抽出します。このフィールドには文字列、配列、ネストされたオブジェクト、またはそれらの組み合わせが含まれる場合があります。LLM/ビジョン/分類モデルのテキスト出力も同じ走査処理で取得されるため、URL 以外の文字列もレスポンスに含まれます。ファイルは Node の stream/promises.pipeline() を使ってディスクにストリーミングするため、数 GB の動画でもメモリを圧迫しません。ダウンロードは一時的な障害(ネットワークエラーまたは 5xx)の場合に指数バックオフで 1 回再試行し、4xx エラーの場合はすぐに失敗します。
テスト
npm run build
node --test test/unit/*.test.mjs # 43 unit tests on pure helpers
node test/stdio-test.mjs # End-to-end MCP handshake + tool/list + tool/call sanity check
サポートとお問い合わせ
- バグと機能のリクエスト — issue を作成してください。これが最も早い方法であり、回答を誰もが検索できるようになります。
- 質問、統合のサポート、その他のお問い合わせ — [email protected]
- セキュリティ上の脆弱性 — 公開 issue は作成しないでください。[email protected] にメールするか、プライベートアドバイザリを作成してください。対象範囲と対応時間については SECURITY.md をご覧ください。
このプロジェクトが役に立った場合は、開発へのご支援をご検討ください。
商標と免責事項
これは、独立したコミュニティ開発プロジェクトです。Replicate, Inc. とは提携、推奨、後援関係になく、公式に関連するものでもありません。
- **「Replicate」**および Replicate のロゴは、Replicate, Inc. の商標です。このサーバーは、Replicate の公開 HTTP API と相互運用するクライアントです。名称は互換性を示すための説明的な目的(指称的フェアユース)で使用しており、開発元や推奨を示唆するものではありません。Replicate の公式 MCP サーバーについては、replicate.com/docs/reference/mcp をご覧ください。
- Anthropic が作成したオープン標準である Model Context Protocol (MCP) を基盤としています。
- 記載されているモデル名(FLUX、Recraft、Whisper、Llama など)は、それぞれの所有者の商標であり、実行可能なモデルを識別する目的に限って使用しています。
Replicate の利用規約および呼び出す各モデルのライセンスを遵守する責任は、ご自身にあります。バンドルされているサードパーティのオープンソースコンポーネントとそのライセンスは、THIRD_PARTY_LICENSES.md に記載されています。バナー/ロゴには Inter 書体(SIL Open Font License 1.1)を使用しています。
ライセンス
MIT — LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。