mcpField
P
Poof

Poof

リモート
リポジトリ公式サイト

Poof について

Poof は、AI アシスタントから Poof API を呼び出し、画像や動画の背景を除去する MCP サーバーです。ローカルの stdio とリモート HTTP に対応し、メディア処理、動画ジョブの確認、アカウント残高の照会を行えます。

主な機能

  1. 01画像の背景除去
  2. 02動画の背景除去
  3. 03透明・マット・単色背景の選択
  4. 04動画処理ジョブの追跡
  5. 05アカウントとクレジット残高の確認

活用シーン

  1. 01透明背景の画像切り抜き作成
  2. 02透明またはグリーンバック動画の出力
  3. 03動画ジョブのダウンロードリンク確認
  4. 04Poof の残りクレジット確認

MCP 対応

MCP クライアントに Poof の背景除去 API ツール remove_background、remove_video_background、get_job、get_account を公開します。ローカルの stdio とリモートの Streamable HTTP に対応し、リモート接続では OAuth 2.1 または API キーを使用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://api.poof.bg/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://api.poof.bg/mcp認証が必要
パッケージ
npm@poof-bg/mcp1.5.2

ツール

詳細

@poof-bg/mcp

Poof の背景削除 API用 MCP(Model Context Protocol)サーバーです。Claude などの AI アシスタントを使って、画像や動画の背景を削除できます。

remove.bg からの移行をお考えですか?サービスは 2026 年 12 月 1 日に終了します。remove.bg の代替サービスと移行ガイドをご覧ください。

機能

  • remove_background - 画像(PNG、JPEG、WebP、または静止 GIF)の背景を削除します(Base64 または URL を受け付けます)
  • remove_video_background - URL で指定した動画の背景を削除します:透明 WebM/MOV、グリーンスクリーン MP4、ループ再生する透明 GIF、またはアルファマットに対応し、音声は保持されます(GIF を除く)
  • get_job - 動画ジョブのステータスを確認し、ダウンロードリンクを取得します
  • get_account - アカウント情報とクレジット残高を確認します
  • stdio(ローカル)と HTTP(リモート/Cloudflare Worker)の両方のトランスポートに対応しています

インストール

ローカル(stdio トランスポート)
npm install -g @poof-bg/mcp

または、ローカルにインストールします:

git clone https://github.com/poof-bg/mcp.git
cd mcp
npm install
npm run build
リモート(Cloudflare Worker 経由の HTTP トランスポート)

同じツールを Streamable HTTP 経由で https://api.poof.bg/mcp から利用できます。認証方式は OAuth 2.1(Poof アカウントでサインイン)または x-api-key ヘッダーです。OAuth 接続は使用中は維持され、30 日間使用されないと期限切れになります。その後、クライアントから再度ログインを求められます(Codex では、codex mcp login poof を実行します)。

設定

環境変数

Poof API キーを設定します:

export POOF_API_KEY=your_api_key_here

API キーは dash.poof.bg で取得できます。

Claude Code
OAuth(推奨)
claude mcp add --transport http poof https://api.poof.bg/mcp
API キー
claude mcp add --transport http poof https://api.poof.bg/mcp \
  --header "x-api-token: YOUR_POOF_API_KEY"
Claude Desktop

Claude Desktop の設定ファイルに追加します:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

オプション 1:OAuth によるリモート接続(推奨)
{
  "mcpServers": {
    "poof": {
      "url": "https://api.poof.bg/mcp"
    }
  }
}
オプション 2:ローカル(stdio トランスポート)
{
  "mcpServers": {
    "poof": {
      "command": "npx",
      "args": ["-y", "@poof-bg/mcp"],
      "env": {
        "POOF_API_KEY": "your_api_key_here"
      }
    }
  }
}
オプション 3:API キーによるリモート接続
{
  "mcpServers": {
    "poof": {
      "url": "https://api.poof.bg/mcp",
      "headers": {
        "x-api-token": "YOUR_POOF_API_KEY"
      }
    }
  }
}
Cursor

プロジェクトのルート(またはグローバル設定)にある .cursor/mcp.json に追加します:

OAuth(推奨)
{
  "mcpServers": {
    "poof": {
      "url": "https://api.poof.bg/mcp"
    }
  }
}
ローカル(stdio)
{
  "mcpServers": {
    "poof": {
      "command": "npx",
      "args": ["-y", "@poof-bg/mcp"],
      "env": {
        "POOF_API_KEY": "your_api_key_here"
      }
    }
  }
}
API キーによるリモート接続
{
  "mcpServers": {
    "poof": {
      "url": "https://api.poof.bg/mcp",
      "headers": {
        "x-api-token": "YOUR_POOF_API_KEY"
      }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json に追加します:

OAuth(推奨)
{
  "mcpServers": {
    "poof": {
      "serverUrl": "https://api.poof.bg/mcp"
    }
  }
}
ローカル(stdio)
{
  "mcpServers": {
    "poof": {
      "command": "npx",
      "args": ["-y", "@poof-bg/mcp"],
      "env": {
        "POOF_API_KEY": "your_api_key_here"
      }
    }
  }
}
API キーによるリモート接続
{
  "mcpServers": {
    "poof": {
      "serverUrl": "https://api.poof.bg/mcp",
      "headers": {
        "x-api-token": "YOUR_POOF_API_KEY"
      }
    }
  }
}
VS Code + Copilot

VS Code の settings.json に追加します:

OAuth(推奨)
{
  "mcp": {
    "servers": {
      "poof": {
        "url": "https://api.poof.bg/mcp"
      }
    }
  }
}
ローカル(stdio)
{
  "mcp": {
    "servers": {
      "poof": {
        "command": "npx",
        "args": ["-y", "@poof-bg/mcp"],
        "env": {
          "POOF_API_KEY": "your_api_key_here"
        }
      }
    }
  }
}
API キーによるリモート接続
{
  "mcp": {
    "servers": {
      "poof": {
        "url": "https://api.poof.bg/mcp",
        "headers": {
          "x-api-token": "YOUR_POOF_API_KEY"
        }
      }
    }
  }
}
Cline(VS Code 拡張機能)

Cline の設定を開き、MCP Servers の設定に追加します:

OAuth(推奨)
{
  "poof": {
    "url": "https://api.poof.bg/mcp"
  }
}
ローカル(stdio)
{
  "poof": {
    "command": "npx",
    "args": ["-y", "@poof-bg/mcp"],
    "env": {
      "POOF_API_KEY": "your_api_key_here"
    }
  }
}
API キーによるリモート接続
{
  "poof": {
    "url": "https://api.poof.bg/mcp",
    "headers": {
      "x-api-token": "YOUR_POOF_API_KEY"
    }
  }
}

ツール

remove_background

画像(PNG、JPEG、WebP、または静止 GIF、最大 20 MB)の背景を削除します。アニメーション GIF は動画として扱われるため、remove_video_background を使用してください。それでもこちらに送信された場合、このツールは画像ではなく動画ジョブを返します(get_job でポーリングしてください)。

パラメーター:

パラメーター型必須説明
imagestringはいBase64 エンコードされた画像、または PNG、JPEG、WebP、静止 GIF 画像の URL
formatstringいいえ出力形式:png、jpg、webp(デフォルト:png)
channelsstringいいえカラーチャンネル:透明にする場合は rgba、不透明にする場合は rgb(背景色はデフォルトで白)、グレースケールのアルファマスクのみの場合は alpha(デフォルト:rgba)
bg_colorstringいいえ背景色。例:#ffffff。設定すると背景が塗りつぶされ、結果は不透明になります。rgb チャンネルまたは jpg 形式で bg_color が指定されていない場合、背景は白になります。channels: alpha の場合は無視されます
sizestringいいえ出力サイズのプリセット:full、preview、medium、hd(デフォルト:full)。width/height が設定されている場合は無視されます
cropbooleanいいえ被写体の境界に合わせてトリミングします(デフォルト:false)
widthintegerいいえ出力幅(ピクセル単位、1~6000)。単独で指定すると、高さはアスペクト比に従います
heightintegerいいえ出力高さ(ピクセル単位、1~6000)。単独で指定すると、幅はアスペクト比に従います
fitstringいいえ引き伸ばさずに width x height に収める方法:contain(デフォルト。余白を追加)、cover(全体を埋め、被写体の周囲のはみ出した部分をトリミング)、scale-down(余白を追加し、拡大はしない)

プロンプトの例:

Remove the background from this image: https://example.com/photo.jpg

Remove the background and add a white background instead

Remove the background and give me a 500x500 image with the product centred

応答: 処理済み画像が MCP の image コンテンツブロックとして返され(アシスタントが表示して確認できます)、続いてメタデータを含むテキストブロックが返されます:

{ "success": true, "format": "png", "width": 1024, "height": 768, "processing_time_ms": 412 }
remove_video_background

動画の背景を削除します。公開 URL を渡してください。結果は 24 時間有効な直接ダウンロードリンクです。動画の料金は 1 秒あたり 5 クレジットで、端数は切り上げられます(30 fps を超える場合は 1 秒あたり 10 クレジット。アニメーション GIF はフレームレートにかかわらず常に 1 秒あたり 5 クレジットです)。ジョブが受け付けられた時点でクレジットが請求され、失敗した場合は返還されます。

パラメーター:

パラメーター型必須説明
video_urlstringはい動画の公開 https URL(mp4、mov、webm、m4v、mkv、またはアニメーション GIF。最大 500 MB、5 分)
formatstringいいえ出力コンテナー:webm(VP9、bg_color が設定されていない限り透明)、mov(ProRes 4444、bg_color が設定されていない限り透明)、mp4(H.264、bg_color に合成)、gif(ループする GIF、1 ビット透明、音声なし、長辺は最大 1280 px(ワイド画面では 720p)、最大 50 fps。ステッカーサイズで出力するには size: preview を指定)(デフォルト:webm)
channelsstringいいえ透明にする場合は rgba、不透明な背景にする場合は rgb、グレースケールのマット動画の場合は alpha(デフォルト:rgba)
bg_colorstringいいえ背景色。例:#00ff00。設定すると背景が塗りつぶされ、どの形式(webm、mov、gif を含む)でも結果は不透明になります。rgb または mp4 で bg_color が指定されていない場合、背景は白になります。channels: alpha の場合は無視されます
sizestringいいえ出力サイズのプリセット:full、preview(640)、medium(1280)、hd(1920)(デフォルト:full。ソース解像度は最大 4K)
waitbooleanいいえ終了するまで最大 50 秒間ポーリングしてから返します(デフォルト:true)。ジョブ ID をすぐに取得するには false を設定します

プロンプトの例:

Remove the background from this video: https://example.com/clip.mp4

Turn https://example.com/clip.mov into a transparent WebM

Give me a green-screen MP4 of this video and keep the audio

応答:

{
  "success": true,
  "job": {
    "id": "job_8f3a1c2e9b7d4a10",
    "status": "completed",
    "progress": 1,
    "duration_seconds": 12.4,
    "fps": 29.97,
    "width": 1920,
    "height": 1080,
    "frames": 372,
    "credits": 65,
    "format": "webm",
    "channels": "rgba",
    "result_url": "https://cdn.poof.bg/1d/jobs/job_8f3a1c2e9b7d4a10/result.webm",
    "expires_at": "2026-10-17T10:12:00Z"
  }
}

50 秒経過後もジョブが実行中の場合、status は queued または processing、result_url は null となり、アシスタントに get_job を呼び出すよう伝える hint が返されます。

get_job

remove_video_backgroundで開始した動画ジョブの状態を確認します。ポーリングは無料です。

パラメーター:

パラメーター型必須説明
job_idstringはいジョブ ID(job_...)

プロンプトの例:

Is my video done yet?

Check job job_8f3a1c2e9b7d4a10 and give me the download link

レスポンス: 上記と同じjobオブジェクトです。statusがcompletedになるとresult_urlが設定され、ジョブがfailedの場合はerrorで理由が説明されます(失敗したジョブの料金は返金されます)。

get_account

アカウント情報とクレジット残高を取得します。

プロンプトの例:

Check my Poof account balance

How many credits do I have left?

レスポンス:

{
  "success": true,
  "data": {
    "organizationId": "org_abc123",
    "plan": "Pro",
    "maxCredits": 5000,
    "usedCredits": 1234,
    "remainingCredits": 3766,
    "autoRechargeThreshold": 100
  }
}
エラー

呼び出しが失敗すると、読みやすいメッセージ(HTTP ステータス、エラーコード、詳細、ドキュメントへのリンク、リクエスト ID)とともに、isError: trueが設定されたツールの結果が返されるため、アシスタントは問題の内容を確認できます。メッセージには、再試行が有効かどうかも記載されます。クレジットの使い切り、無効な API キー、未対応の画像や動画、Poof がダウンロードできなかった URL については、同じ入力で再試行しないよう示されます。 レート制限(429)や一時的な処理エラー(502/503/504)は、報告される前にバックオフを挟んで2回再試行されます。


開発

Poof API へのリクエストには、次の形式のUser-Agentが含まれます。 poof-mcp/<version> (<client>; <transport>)(例:poof-mcp/1.5.2 (Claude-ClaudeAI; hosted))。 これにより、リクエストを行った AI クライアントを識別できます。

npm version <patch|minor|major>でリリースします。このコマンドはsrc/version.tsも更新します。

# Install dependencies
npm install

# Build
npm run build

# Run in dev mode (Cloudflare Worker)
npm run dev

# Run locally (stdio mode)
POOF_API_KEY=your_key npm start

# Test
npm test

# Lint
npm run lint

# Format
npm run format

デプロイ(Cloudflare Worker)

MCP サーバーを Cloudflare Worker としてデプロイするには、次の手順を実行します。

# Install Wrangler if you haven't already
npm install -g wrangler

# Login to Cloudflare
wrangler login

# Deploy
wrangler deploy

必要な環境シークレットを設定します。

wrangler secret put POOF_API_KEY
wrangler secret put MCP_JWT_SECRET
wrangler secret put COOKIE_ENCRYPTION_KEY

ダッシュボード URL の変数も設定します。

wrangler secret put DASHBOARD_URL

ChatGPT アプリディレクトリ用に、OpenAI が発行するドメイン確認トークンをOPENAI_APPS_CHALLENGE_TOKENとして設定します(/.well-known/openai-apps-challengeで提供されます)。

wrangler secret put OPENAI_APPS_CHALLENGE_TOKEN

OAuth 状態の保存用に KV 名前空間も作成し、wrangler.toml内の ID を更新する必要があります。

wrangler kv namespace create OAUTH_KV
wrangler kv namespace create OAUTH_KV --preview

ライセンス

MIT

リンク

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。