Skip to main content
Glama
itshideline-svg

Replicate Image Generation MCP Server

README.md
# Replicate 画像生成 MCP サーバー

Claude.ai の「カスタムコネクタ」から Replicate の画像生成モデルを呼び出すための、最小構成の MCP サーバーです。

## できること

- ツール `generate_image` を1つだけ公開します
- `prompt`(英語推奨)と `aspect_ratio` を渡すと、Replicate で画像を1枚生成し、URLをテキストで返します
- モデルは `api/mcp.js` 冒頭の `MODEL` 定数で指定しています(初期値: `black-forest-labs/flux-schnell`)

---

## ① Replicate の API トークンを取得する

1. https://replicate.com にログイン(アカウントがなければ作成)
2. 右上のアカウントメニュー → **API tokens**
3. トークンをコピーしておく(あとで Vercel に登録します)

---

## ② Vercel にデプロイする

### 方法A: GitHub 経由(おすすめ)

1. このフォルダ一式を GitHub の新しいリポジトリにアップロードする
2. https://vercel.com にログインし、「Add New... → Project」
3. 今作ったリポジトリを選択してインポート
4. デプロイ設定はそのままでOK(Framework Preset: Other のままで問題ありません)
5. **Environment Variables** に以下を追加してから Deploy:
   - Key: `REPLICATE_API_TOKEN`
   - Value: ①で取得したトークン
6. デプロイが終わると、`https://(プロジェクト名).vercel.app` のようなURLが発行されます

### 方法B: Vercel CLI

```bash
npm i -g vercel
cd replicate-mcp
vercel login
vercel env add REPLICATE_API_TOKEN
# プロンプトが出たら①のトークンを貼り付けて Enter
vercel --prod
```

どちらの方法でも、最終的に手に入る **MCPエンドポイントのURL** は次の形になります。

```
https://(あなたのプロジェクト名).vercel.app/api/mcp
```

このURLをメモしておいてください。③で使います。

---

## ③ Claude.ai にカスタムコネクタとして登録する

1. Claude.ai にログイン
2. 左下のアカウントメニュー → **設定(Settings)**
3. **コネクタ(Connectors)** タブを開く
4. **カスタムコネクタを追加(Add custom connector)** を選択
5. 以下を入力する:
   - **名前**: 好きな名前(例: 「Replicate 画像生成」)
   - **URL**: ②で控えた `https://.../api/mcp`
6. 保存すると、以後チャット画面のツール一覧に `generate_image` が表示されるようになります

※ 実際の画面項目名は Anthropic 側のアップデートで変わることがあります。「コネクタ」「Connectors」「カスタムコネクタ」などのキーワードで設定画面内を探してください。

---

## ④ 動作確認

Claude.ai のチャットで、このコネクタを有効にした状態で

> このコネクタを使って、〇〇の画像を作って

のように頼むと、`generate_image` ツールが呼ばれ、Replicate で生成された画像のURLが返ってきます。

---

## トラブルシューティング

- **「未対応のメソッドです」と出る**:Claude側のMCPプロトコルバージョンが本サーバーの実装と一致していない可能性があります。まずは `tools/list` が正しく返っているか、ブラウザや `curl` で直接POSTして確認してください。
- **画像生成が毎回タイムアウトする**:Vercelの無料プランは実行時間の上限が短い場合があります。`vercel.json` の `maxDuration` を必要な範囲で調整するか、有料プランを検討してください。
- **`REPLICATE_API_TOKEN が設定されていません` と出る**:Vercelの Environment Variables に登録したあと、**再デプロイ**しないと反映されません。

---

## 今後の拡張案

- プロンプトの共通スタイル(切り絵風・パステルなど)をサーバー側で自動的に前置きする
- `aspect_ratio` 以外に `seed`(同じ絵の再現用)や `negative_prompt` を追加する
- 生成した画像を Vercel Blob などに保存し、恒久的なURLとして返す(Replicateの出力URLは期限付きの場合があります)