Recraft MCP Server について
Recraft MCP Serverは、Recraft APIの画像生成、編集、スタイル管理をMCPクライアントに提供します。AIワークフローで画像を扱う人向けで、16種類のツールとツールセットの選択機能を備えています。
主な機能
- 01テキストからの画像生成と画像変換
- 02インペイントと背景編集
- 03背景除去、消去、ベクター化
- 04鮮明またはクリエイティブな拡大
- 05カスタムスタイルの作成と管理
- 06ツールセット、キャッシュ、リトライの設定
活用シーン
- 01テキストプロンプトから画像を生成
- 02背景の置換や画像領域の修復
- 03ラスター画像を SVG に変換
- 04参照画像からスタイルを作成して再利用
MCP 対応
MCP サーバーとして、画像生成、加工、スタイル管理、アカウント照会を行う Recraft の16種類のツールをクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e RECRAFT_API_TOKEN ghcr.io/bartwaardenburg/recraft-mcp-server:latestRECRAFT_API_TOKENシークレットローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/bartwaardenburg/recraft-mcp-server:lateststdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
recraft-mcp
Recraft APIを介したAI画像の生成、変換、スタイル管理のためのMCP サーバー
注記: これは非公式のコミュニティ運営プロジェクトであり、Recraftとは提携しておらず、Recraftによる承認も受けていません。
画像の生成、処理、スタイル管理のための16個のツールを、すべてModel Context Protocolを通じて利用できます。
- 生成 — テキストから画像への変換、画像から画像への変換、インペインティング、背景の置換と生成
- 処理 — 背景の削除、領域の消去、ベクター化(SVG)、高精細化およびクリエイティブなアップスケーリング
- スタイル — 参照画像からのカスタムスタイルの作成、スタイルの一覧表示/取得/削除
- アカウント — 残りのクレジットとユーザー情報の確認(
stylesツールセットに含まれます) - 設定可能 — ツールセットのフィルタリング、キャッシュTTLの調整、再試行の制御
前提条件
- Node.js 20+(またはDocker)
- Recraft APIトークン
インストール
Claude Desktop
設定ファイルに追加します。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"recraft": {
"command": "npx",
"args": ["-y", "recraft-mcp"],
"env": {
"RECRAFT_API_TOKEN": "your-api-token"
}
}
}
}
VS Code
ワークスペースの.vscode/mcp.jsonに追加します(または上記のワンクリックインストールボタンを使用します)。
{
"servers": {
"recraft": {
"command": "npx",
"args": ["-y", "recraft-mcp"],
"env": {
"RECRAFT_API_TOKEN": "your-api-token"
}
}
}
}
Claude Code
claude mcp add recraft-mcp -e RECRAFT_API_TOKEN=your-api-token -- npx -y recraft-mcp
Cursor
CursorのMCP設定(~/.cursor/mcp.json)に追加します。
{
"mcpServers": {
"recraft": {
"command": "npx",
"args": ["-y", "recraft-mcp"],
"env": {
"RECRAFT_API_TOKEN": "your-api-token"
}
}
}
}
Windsurf
WindsurfのMCP設定(~/.codeium/windsurf/mcp_config.json)に追加します。
{
"mcpServers": {
"recraft": {
"command": "npx",
"args": ["-y", "recraft-mcp"],
"env": {
"RECRAFT_API_TOKEN": "your-api-token"
}
}
}
}
Docker
docker run --rm -i -e RECRAFT_API_TOKEN="your-api-token" ghcr.io/bartwaardenburg/recraft-mcp-server:latest
コマンドを置き換えることで、任意の MCP クライアントで Docker を使用できます。
{
"mcpServers": {
"recraft": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "RECRAFT_API_TOKEN=your-api-token",
"ghcr.io/bartwaardenburg/recraft-mcp-server:latest"
]
}
}
}
Smithery
npx -y @smithery/cli install recraft-mcp --client claude
ツール
生成
| ツール | 説明 |
|---|---|
generate_image | スタイル、サイズ、アート表現の調整機能を使って、テキストプロンプトから画像を生成します |
image_to_image | 調整可能な強度で、テキストプロンプトに基づいて既存の画像を変換します |
inpaint_image | テキストプロンプトに基づいて、画像のマスク領域を塗りつぶします |
replace_background | 前景の被写体を維持しながら、背景を置き換えます |
generate_background | 画像のマスク領域に背景を生成します |
処理
| ツール | 説明 |
|---|---|
remove_background | 背景を削除し、透明にします |
erase_region | 画像のマスク領域を自然に消去します |
vectorize_image | ラスター画像を拡大縮小可能な SVG ベクターに変換します |
crisp_upscale | 鮮明なディテールを保ちながら拡大します |
creative_upscale | クリエイティブな補正とディテールの追加を行いながら拡大します |
スタイルとアカウント
| ツール | 説明 |
|---|---|
create_style | 1~5 枚の参照画像からカスタムスタイルを作成します |
get_style | ID を指定してカスタムスタイルの詳細を取得します |
list_styles | すべてのカスタムスタイルを一覧表示します |
list_basic_styles | 利用可能な厳選スタイルを一覧表示します |
delete_style | カスタムスタイルを削除します |
get_current_user | ユーザー情報と残りのクレジットを取得します |
ツールのアノテーション
すべてのツールには、クライアントがツールの動作を理解するのに役立つ MCP ツールのアノテーションが含まれています。
| ツール | 読み取り専用 | オープンワールド |
|---|---|---|
generate_image | はい | |
image_to_image | はい | |
inpaint_image | はい | |
replace_background | はい | |
generate_background | はい | |
remove_background | はい | |
erase_region | はい | |
vectorize_image | はい | |
crisp_upscale | はい | |
creative_upscale | はい | |
create_style | はい | |
get_style | はい | はい |
list_styles | はい | はい |
list_basic_styles | はい | はい |
delete_style | はい | |
get_current_user | はい | はい |
パラメーターの詳細リファレンス
generate_image
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
prompt | string | はい | テキストによる説明(V2/V3 は最大 1000 文字、V4 は 10000 文字) |
model | enum | recraftv3(デフォルト)、recraftv4、recraftv4_vector、recraftv2、recraft20b、refm1 | |
style | enum | realistic_image(デフォルト)、digital_illustration、vector_illustration、icon、logo_raster | |
substyle | string | スタイルの細かな調整(例:b_and_w、pixel_art、watercolor) | |
style_id | uuid | カスタムスタイル ID(style/substyle とは同時に指定できません) | |
size | enum | 画像の寸法。例:1024x1024(デフォルト)、1365x1024、1536x1024 など | |
n | integer | 生成する画像の数(1~6、デフォルトは 1) | |
negative_prompt | string | 画像に含めない要素 | |
artistic_level | integer | 0(シンプル)から 5(躍動的) | |
no_text | boolean | 画像内のテキストを禁止します | |
image_format | enum | webp または png | |
random_seed | integer | 結果を再現するためのシード |
image_to_image
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Source image (URL or base64). Max 5MB, <16MP, max 4096px per side |
prompt | string | Yes | Description of desired changes |
strength | number | Yes | Change magnitude: 0.0 (minimal) to 1.0 (maximum) |
model | enum | Model to use | |
style | enum | Style category (not supported for V4) | |
substyle | string | Substyle refinement | |
style_id | uuid | Custom style ID | |
n | integer | Number of outputs (1-6) | |
negative_prompt | string | What to avoid | |
image_format | enum | webp or png | |
random_seed | integer | Seed for reproducibility |
inpaint_image
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Source image (URL or base64) |
mask | string | Yes | Grayscale PNG mask (white = inpaint, black = preserve) |
prompt | string | Yes | What to generate in the masked area |
model, style, substyle, style_id, n, negative_prompt, image_format, random_seed | Same as generate_image |
replace_background
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Source image (URL or base64) |
prompt | string | Yes | Description of the new background |
model, style, substyle, style_id, n, negative_prompt, image_format, random_seed | Same as generate_image |
generate_background
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Source image (URL or base64) |
mask | string | Yes | Mask defining the background area |
prompt | string | Yes | Description of the background to generate |
model, style, substyle, style_id, n, negative_prompt, image_format, random_seed | Same as generate_image |
remove_background
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Image (URL or base64) |
image_format | enum | webp or png |
erase_region
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Source image (URL or base64) |
mask | string | Yes | Grayscale mask (white = erase, black = preserve) |
image_format | enum | webp or png |
vectorize_image
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Image to vectorize (URL or base64) |
crisp_upscale
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Image to upscale (URL or base64). Max 5MB, <4MP |
image_format | enum | webp or png |
creative_upscale
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Image to upscale (URL or base64). Max 5MB, <16MP |
image_format | enum | webp or png |
create_style
| Parameter | Type | Required | Description |
|---|---|---|---|
images | string[] | Yes | 1-5 reference images (URLs or base64) |
style | enum | Yes | Base style category |
get_style
| Parameter | Type | Required | Description |
|---|---|---|---|
style_id | uuid | Yes | Style ID to retrieve |
delete_style
| Parameter | Type | Required | Description |
|---|---|---|---|
style_id | uuid | Yes | Style ID to delete |
list_styles, list_basic_styles, get_current_user
No parameters required.
設定
| 環境変数 | 説明 | デフォルト |
|---|---|---|
RECRAFT_API_TOKEN | 必須。 Recraft API トークン | — |
RECRAFT_TOOLSETS | 有効にするツールセット(カンマ区切り):generation、processing、styles | すべて |
RECRAFT_CACHE_TTL | キャッシュの TTL(秒単位。0 で無効化) | 120 |
RECRAFT_MAX_RETRIES | レート制限(429)時の最大再試行回数 | 3 |
ツールセットのフィルタリング
必要なものだけを有効にして、LLM に公開するツールの数を減らせます。
# Only image generation
RECRAFT_TOOLSETS=generation
# Generation + processing, no style management
RECRAFT_TOOLSETS=generation,processing
対応モデル
| モデル | 説明 |
|---|---|
recraftv3 | Recraft V3(デフォルト) |
recraftv4 | Recraft V4(最新のラスター形式) |
recraftv4_vector | Recraft V4 Vector(SVG 出力) |
recraftv2 | Recraft V2 |
recraft20b | Recraft 20B(レガシー) |
refm1 | RefM1 |
注: V4 モデルは
styleパラメーターに対応していません。プロンプトでスタイルを指定してください。
対応スタイル
| スタイル | サブスタイル |
|---|---|
realistic_image(デフォルト) | b_and_w、enterprise、hard_flash、hdr、motion_blur、natural_light、studio_portrait |
digital_illustration | pixel_art、hand_drawn、grain、infantile_sketch、2d_art_poster、handmade_3d、engraving、comic_book |
vector_illustration | bold_stroke、chemistry、colored_stencil、contour_pop_art、flat_2、line_art、line_circuit |
icon | broken_line、colored_outline、colored_shapes、doodle_fill、doodle_offset_fill、offset_fill、outline |
logo_raster | — |
画像入力
画像を受け付けるツール(image_to_image、inpaint_image、remove_background など)は、次の形式に対応しています。
- URL — 公開アクセス可能な任意の HTTP(S) URL
- Base64 — Base64 エンコードされた画像データそのもの
セキュリティ
- API トークン —
RECRAFT_API_TOKENは Recraft API(https://external.api.recraft.ai)にのみ送信されます。ログに記録されたり、プロセスの実行期間を超えて保存されたりすることはありません。 - 画像データ — 画像は処理のために Recraft のサーバーに送信されます。画像データがディスクにキャッシュされることはありません。
- ネットワークアクセス — このサーバーは
external.api.recraft.aiおよびregistry.npmjs.org(更新チェック用)に HTTPS リクエストを送信します。
脆弱性の報告については、SECURITY.md をご覧ください。
開発
pnpm install # Install dependencies
pnpm dev # Run with tsx (hot reload)
pnpm build # Compile TypeScript
pnpm test # Run tests
pnpm typecheck # Type check
ガイドラインについては、CONTRIBUTING.md をご覧ください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。