mcpField
U
UnificAlly MCP

UnificAlly MCP

認証済みおすすめリモート
unifically.comAI・エージェント02 週間前に更新
リポジトリ公式サイト

UnificAlly MCP について

UnificAlly MCPは、AIアシスタントをUnificAlly APIに接続し、モデルカタログを通じてメディアの生成・編集、音声の文字起こし、アップスケールを行います。MCPクライアントで単一のAPIキーを使い、タスク追跡や支出制御も行いたいユーザー向けです。

主な機能

  1. 01動画と画像の生成
  2. 02音楽、音声、効果音の作成
  3. 03音声の文字起こしとクリーニング
  4. 04動画の編集と延長
  5. 05画像と動画のアップスケール
  6. 06タスク、モデル、費用の追跡

活用シーン

  1. 01画像を生成し、動画の開始フレームに利用
  2. 02音声の文字起こしやテキストからの音声生成
  3. 03生成タスクの状態確認や費用見積もり

MCP 対応

メディア生成・編集、タスク管理、モデル検索、アップロード、費用確認を行うUnificAlly APIの操作を、ツールとして公開します。stdioとStreamable HTTPに対応し、ホスト型エンドポイントも提供します。

設定

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

エンドポイントhttps://mcp.unifically.com/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://mcp.unifically.com/mcp認証が必要

ツール

14
パラメーター型必須説明
promptstringはい生成したい動画を説明するテキストプロンプト。
modelstringいいえモデル。短縮エイリアスまたは完全な ID を指定します。エイリアス:'veo'(デフォルト)、'veo-quality'、'veo-lite'、'kling'、'kling-omni'、'hailuo'、'seedance'、'grok-video'、'grok-1.5'。'google/veo-3.1-fast' などの完全な ID も使用できます。カタログは list_models を呼び出して確認し、正確なパラメーターについてはモデルのドキュメントページを参照してください。
durationintegerいいえ動画の長さ(秒)。省略するとモデルのデフォルトが使用されます。指定可能な値はモデルごとに異なります。
aspect_ratiostringいいえ出力のアスペクト比。例:'16:9'。対応する比率はモデルごとに異なり、このパラメーターに対応しないモデルもあります。
image_urlstringいいえ画像から動画を生成する場合に指定する任意の開始フレーム。このツールは選択したモデルが必要とするフィールドにマッピングするため、モデル固有のフィールド名ではなく、ここに渡してください。公開 https URL が必須です。ローカルパスやインラインの base64 は使用できません。ローカルファイルの場合は、先に files.unifically.com/upload に直接 PUT でアップロードし、返された file_url を渡してください。
end_image_urlstringいいえ任意の終了フレーム(開始フレームと終了フレーム間の補間)。一部のモデルのみ対応しています。公開 https URL が必須です。ローカルパスやインラインの base64 は使用できません。ローカルファイルの場合は、先に files.unifically.com/upload に直接 PUT でアップロードし、返された file_url を渡してください。
reference_image_urlsarrayいいえスタイル/被写体の参照画像(任意)。各画像は公開 https URL である必要があります(ローカルファイルは先にアップロードしてください。パスや base64 は使用できません)。対応状況、最大数、開始フレームとの併用可否はモデルごとに異なります。
seedintegerいいえ再現可能な出力を得るためのシード(任意)。対応モデルでは、同じシードと同じ入力から同じ結果が得られます。
waitbooleanいいえデフォルトは true です。ジョブの完了を待ち、結果を返します。false に設定すると task_id がすぐに返され、get_task でポーリングできます。高品質動画やフルサイズの楽曲など、時間のかかるジョブや接続がタイムアウトする可能性がある場合に使用してください。
callback_urlstringいいえ任意のWebhook URL。設定すると、ツールは task_id をすぐに返し、タスク完了時に結果をこの URL に POST します。Webhook の本文:{ task_id, status: 'completed'|'failed', data: { video_url | image_url | audio_url | ... }, error_message? } — メディアは 'output' ではなく 'data' の下に含まれる点に注意してください。待機の代わりに、時間のかかるジョブで使用します。
confirm_costbooleanいいえオペレーターが支出ガードを有効にしている場合にのみ関係します。呼び出し額が設定された確認しきい値を超えると見積もりが返されます。confirm_cost: true を指定して再試行すると続行できます。それ以外の場合は無視してかまいません。
provider_optionsobjectいいえ名前付きパラメーターとして公開されていないモデル固有のフィールドを渡すための拡張口です(例:Kling の multi_shots、Flux の steps)。API の 'input' ペイロードにマージされます。ツールがすでに管理しているフィールド(prompt、メディア URL、task_id など)と、予約済みのルーティング/課金/認証キー(model、callback_url、dry_run、api_key、authorization)は拒否されます。モデルの切り替えにはここではなく 'model' パラメーターを使用してください。モデルごとのフィールドについては https://docs.unifically.com を参照してください。

詳細

UnificAlly MCP server

npm

UnificAlly API向けのMCP サーバーです。1つのAPIキーで、100種類以上のモデル(Veo 3.1、Kling、Seedance、Hailuo、Grok Imagine、Nano Banana、Flux、GPT Image、Suno、ElevenLabs、Topaz)を通じて、AI アシスタントが動画、画像、音楽、音声、効果音を生成したり、音声を書き起こしたり、メディアをアップスケールしたりできます。

Cursor、Claude Desktop、Claude Code、Cline、Windsurf、Zed、ChatGPT Desktop、Goose、n8n、自作コードなど、あらゆるMCP クライアントで動作します。

インストール

  1. https://unifically.com/api-keys でAPIキーを作成します。新しいアカウントには、テスト用に$0.50分の残高が用意されています。
  2. クライアントの設定にサーバーを追加します。
{
  "mcpServers": {
    "unifically": {
      "command": "npx",
      "args": ["-y", "@unifically/mcp-server"],
      "env": { "UNIFICALLY_API_KEY": "sk-..." }
    }
  }
}

このブロックは、Cursor(.cursor/mcp.json)、Claude Desktop(claude_desktop_config.json)、Cline、Windsurf(~/.codeium/windsurf/mcp_config.json)でそのまま使用できます。保存後、クライアントを再起動してください。

Claude Code:

claude mcp add unifically -e UNIFICALLY_API_KEY=sk-... -- npx -y @unifically/mcp-server
その他のクライアント

Zed(~/.config/zed/settings.json):

{
  "context_servers": {
    "unifically": {
      "command": { "path": "npx", "args": ["-y", "@unifically/mcp-server"] },
      "env": { "UNIFICALLY_API_KEY": "sk-..." }
    }
  }
}

ChatGPT Desktop:Settings、Connectors、Add MCP serverの順に選択します。コマンドはnpx -y @unifically/mcp-server、環境変数はUNIFICALLY_API_KEYです。

Goose、n8nなど、stdioに対応するもの:

UNIFICALLY_API_KEY=sk-... npx -y @unifically/mcp-server

Windowsでクライアントにnpx not foundと表示される場合は、"command": "cmd", "args": ["/c", "npx", "-y", "@unifically/mcp-server"]を使用してください。

URLを指定できるクライアント向けに、ホスト型サーバーhttps://mcp.unifically.com/mcpも用意されています。リモートサーバーをご覧ください。

例

アシスタントに次のように依頼します。

夕暮れ時の灯台の16:9画像を作成し、続けてその画像から始まる6秒の動画を作成してください。

ツールは次の順に呼び出されます。

{ "name": "generate_image", "arguments": { "prompt": "a lighthouse at dusk, waves, warm light", "aspect_ratio": "16:9" } }
Generated image with google/nano-banana-pro. Result: https://files.unifically.com/image/....png [task_id: 7f3c...]
{ "name": "generate_video", "arguments": { "prompt": "slow push in, waves rolling", "image_url": "https://files.unifically.com/image/....png", "duration": 6 } }

各生成ツールはジョブの完了を待ち、メディアURLを返します。構造化された結果は次のようになります。

{
  task_id: string,
  status: "completed" | "pending" | "processing",
  output: { video_url?, image_url?, audio_url?, image_urls?, audio_urls?, text? },  // when completed
  model: string,
  cost_usd?: number
}

内部では、各呼び出しはUnificAlly APIへの1回のリクエスト({ model, input }を指定したPOST /v1/tasks、続いてGET /v1/tasks/{id})であり、APIドキュメントに記載されているものと同じです。

ツール

ツール機能残高を消費
generate_videoテキストまたは画像から動画を生成します(Veo、Kling、Hailuo、Seedance、Grok など)。開始フレームと終了フレーム、参照画像を任意で指定できます。はい
generate_imageテキストからの画像生成と画像編集に対応します(Nano Banana、GPT Image、Flux、Qwen、Kling、Grok、SeeDream)。はい
generate_audioテキスト読み上げ、効果音、会話、文字起こし(stt)、音声の変更(voice-changer)、音声のクリーンアップ(voice-isolation)に対応します。はい
generate_musicSuno:曲の作成、または既存のトラックのcover、extend、add-vocals、add-instrumental、stemsに対応します。はい
edit_videoプロンプトで既存のクリップを編集するか、被写体の画像に動きを適用します(motion-control)。はい
upscale_media任意の画像または動画にはTopaz(image_url/video_url)を、Veo と Grok のアップスケーラーにはtask_idを使用します。はい
extend_videoVeo(+8 s)または Grok Imagine で生成済みの動画を延長します。はい
upload_fileURL、または stdio サーバー上のローカルファイルを公開 CDN URL に変換します。いいえ
get_taskタスク ID を指定して、タスクのステータスと結果を取得します。完了まで待機することもできます。いいえ
list_tasks過去のタスクを新しい順に取得します。ステータス、モデル、カテゴリ、プロバイダー、または時間で絞り込めます。いいえ
list_resourcesElevenLabs(デフォルト)、Kling、Veo の音声リストを取得します。いいえ
list_modelsモデルカタログとエイリアスを取得します。いいえ
dry_run_cost実行せずに呼び出し料金を確認します。いいえ
check_balanceアカウント残高を USD で確認します。いいえ

すべてのツールで、4 つの MCP ヒントがすべて設定されています。残高を消費する 7 つのツールには、destructiveHint: true と idempotentHint: false が設定されているため、読み取り専用ツールを自動承認するクライアントでも、有料実行の前には確認を求めます。生成に失敗しても課金されません。

各モデルのパラメーターと ID、ブラウザー上のプレイグラウンドを確認できます。

list_modelsは、最新の全カタログを返します。

動作の仕組み

  • すべての生成ツールは、prompt のみで動作します。model は任意で、短縮名(veo、kling、flux、nano-banana-2、seedance、tts、sfx、stt)または google/veo-3.1-fast のような完全な ID を指定できます。
  • メディアフィールド(image_url、image_urls、end_image_url、reference_image_urls、audio_url、video_url)には、公開された HTTPS URL のみを指定できます。ローカルパスや Base64 文字列を指定すると、最初にアップロードするよう促すエラーが返されます。
  • フィールド名はモデルによって異なります(Kling の start_frame_url、Veo の start_image_url、Seedance の first_frame_url)。image_url を渡すと、サーバーが適切な名前に変更します。サーバーに対応するパラメーターがないフィールドは provider_options に指定します。このフィールドを使うとマッピングを上書きすることもできます。
  • サーバーは、各モデルで許可される長さ、解像度、アスペクト比を保持しません。API が値をチェックし、修正方法を示す 422 をコストなしで返します。サーバーの指示では、モデルを実行する前に docs.unifically.com/llms.txt にあるモデルのページを読むようアシスタントに伝えます。
  • すべての生成ツールは、wait、callback_url、provider_options、confirm_cost も受け付けます。
  • エラーは 1 文で返されます。キーがない、または間違っている場合は 401、残高不足の場合は 402(チャージ用リンク付き)、API の検証メッセージ付きで 422 が返されます。タイムアウトの場合は、get_task で再開するようアシスタントに伝えるメッセージが返されます。429、5xx、ネットワークエラーはバックオフを伴って再試行されます。
アップロード

モデルが読み取れるのは公開 URL のみのため、ローカルファイルは最初に UnificAlly CDN へ送信します。

  1. upload_file { content_type: "image/png" } は、1 回限りの upload_url と最終的な file_url を返します。アシスタントはシェルに API キーを置かずに、curl でバイトデータを送信します。

    curl -X PUT '<upload_url>' --data-binary @photo.png
    

    URL は署名付きで 1 回のみ使用でき、約 5 分で有効期限が切れます。ファイルは元の品質を保ちます。

  2. upload_file { url } は、すでにオンラインにあるファイルを取り込みます。

  3. upload_file { file_path } はディスクからファイルを読み込みます。この方法はサーバーが stdio でローカル実行されている場合に限ります。

Base64 でのアップロードには対応していません。また、ユーザーのファイルを別のホストに送信しないよう、指示でアシスタントに伝えます。どちらのルールも実際に起きた失敗を踏まえたものです。Base64 のサイズ上限があると、エージェントが上限に収めるためにユーザーの画像を縮小してしまいました。また、シェルにキーがなかったあるエージェントは、プライベートな写真を公開ファイルホストにアップロードしてしまいました。

長時間かかるジョブ

高品質な動画やフルサイズの楽曲の生成には、数分かかることがあります。

  • wait: false は { task_id, status: "pending" } をすぐに返します。status が "completed" になるまで get_task をポーリングします。
  • callback_url もすぐに応答し、API は結果を Webhook に POST します。

どのタスクも、後から get_task で再開できます。

支出制限

すべてデフォルトでは無効です。デプロイごとに設定してください。

  • UNIFICALLY_CONFIRM_COST_ABOVE=<usd>:この金額を超える料金の呼び出しは見積もりを返し、アシスタントが confirm_cost: true を指定して再試行した場合にのみ実行されます。
  • UNIFICALLY_MAX_COST_PER_TASK=<usd>:この金額を超える料金の呼び出しは拒否されます。confirm_cost でこの制限を上書きすることはできません。
  • UNIFICALLY_BLOCKED_MODELS=veo-quality,suno または UNIFICALLY_ALLOWED_MODELS=nano-banana-2,flux,tts:実行できるモデルを制限します。
  • UNIFICALLY_DISABLE_GENERATION=true:読み取り専用モードです。ブラウジング、dry_run_cost、check_balance は引き続き使用できます。

環境変数

変数必須デフォルト
UNIFICALLY_API_KEYstdio のみなし。HTTP の呼び出し元は各自のキーを送信します。UNIFICALLY_KEY、UNIFICALLY_TOKEN、UNIFICALLY_API_TOKEN も使用できます。
UNIFICALLY_BASE_URLいいえhttps://api.unifically.com
UNIFICALLY_FILES_BASE_URLいいえhttps://files.unifically.com
UNIFICALLY_REQUEST_TIMEOUT_MSいいえ60000
UNIFICALLY_MAX_RETRIESいいえ3
UNIFICALLY_POLL_TIMEOUT_MSいいえ600000
UNIFICALLY_POLL_START_MSいいえ2000
UNIFICALLY_POLL_MAX_MSいいえ10000
UNIFICALLY_CONFIRM_COST_ABOVEいいえ無効
UNIFICALLY_MAX_COST_PER_TASKいいえ無効
UNIFICALLY_BLOCKED_MODELSいいえなし
UNIFICALLY_ALLOWED_MODELSいいえなし
UNIFICALLY_DISABLE_GENERATIONいいえfalse
MCP_TRANSPORTいいえstdio(または http)
UNIFICALLY_HTTP_WAIT_BUDGET_MSいいえ85000。HTTP 呼び出しが task_id を返すまでブロックする最長時間
PORTいいえホスティングプラットフォームによって設定
UNIFICALLY_CORS_ORIGINいいえ*
UNIFICALLY_TRUSTED_PROXIESいいえloopback。X-Forwarded-For の送信を許可する private、特定の IP アドレス、CIDR も指定できます。
UNIFICALLY_TRUST_CF_CONNECTING_IPいいえfalse
UNIFICALLY_RATE_PER_MINいいえキーごと、アカウントごとに毎分 120 リクエスト
UNIFICALLY_RATE_BURSTいいえ40
UNIFICALLY_PUBLIC_DISCOVERYいいえtrue。キーなしの呼び出し元が initialize、tools/list、resources/list、ping を実行できるようにします。すべての操作でキーを必須にするには、0 を設定します。
UNIFICALLY_ANON_RATE_PER_MINいいえIP ごとにキーなしで毎分 30 リクエスト
UNIFICALLY_ANON_RATE_BURSTいいえ12

リモートサーバー

MCP_TRANSPORT=http では、/mcp で Streamable HTTP を、GET /sse と POST /messages で従来の SSE を提供します。ホスト版は https://mcp.unifically.com/mcp で動作します。

呼び出し元は各自のキーを送信するため、1 つのデプロイで多くのユーザーにサービスを提供し、各ユーザー自身の残高に請求できます。

  1. Authorization: Bearer <key>(推奨)
  2. X-API-Key: <key>
  3. URL のみを受け付けるクライアントでは ?api_key=<key>。クエリ文字列がプロキシのログに記録されることがあるため、可能な場合はヘッダーを使用してください。
{
  "mcpServers": {
    "unifically": {
      "url": "https://mcp.unifically.com/mcp",
      "headers": { "Authorization": "Bearer sk-..." }
    }
  }
}

claude.ai の場合は、Settings、Connectors、Add custom connector を開き、キーを URL に含めます:https://mcp.unifically.com/mcp?api_key=sk-...。stdio 専用クライアントでは、mcp-remote を使ってブリッジします。

{
  "mcpServers": {
    "unifically": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.unifically.com/mcp", "--header", "Authorization: Bearer sk-..."]
    }
  }
}

HTTP モードの詳細:

  • Streamable HTTP はステートレスなので、スティッキーセッションなしで任意のリバースプロキシの背後にスケールできます。
  • キーのない呼び出し元は initialize、tools/list、resources/list、prompts/list、ping を実行できるため、レジストリからツール一覧を取得できます。それ以外の操作はすべて 401 を返します。キーなしのトラフィックには IP ごとのレート制限が適用され、同時メッセージ数は 16 件までです。GET /.well-known/mcp-config は、必須設定(api_key)の JSON Schema を返し、GET /.well-known/mcp/server-card.json はツール一覧を返します。
  • キーは API で検証され、結果はキャッシュされます。また、IP ごとの予算によって検証失敗が制限されます。レート制限はキーごと、アカウントごとに適用されるため、キーを追加しても 1 つのアカウントの上限は増えません。バッチは 16 メッセージまで、リクエスト本文は 512 KB までです。
  • ブラウザーの Origin ヘッダーは DNS リバインディング対策の検証を受けます。MCP クライアントはこのヘッダーを送信しないため、影響を受けません。
  • X-Forwarded-For が信頼されるのは、UNIFICALLY_TRUSTED_PROXIES で指定された送信元からの場合のみです。付属の Compose ファイルでは、分離されたネットワーク向けに private が設定されています。共有 LAN では使用しないでください。
  • 残高がゼロのキーでも、残高の確認、タスクの一覧表示と取得、ジョブの料金確認はできます。ジョブの開始はできません(402)。
  • GET / は接続手順を返し、GET /health は認証不要のヘルスチェックです。
セルフホスト

このリポジトリには、リクエストごとにキーを使用する HTTP トランスポートを実行する Dockerfile と docker-compose.yml が含まれています。コンテナを HTTPS リバースプロキシの背後に配置し、ドメインを割り当てて、ヘルスチェックに /health を使用してください。環境変数の設定は不要です。共有環境へのデプロイでは、UNIFICALLY_CONFIRM_COST_ABOVE=1.00 をデフォルトにするのが適切です。

開発

git clone https://github.com/unifically-dev/unifically-mcp.git
cd unifically-mcp
npm install
cp .env.example .env       # add your UNIFICALLY_API_KEY
npm run dev

ツールを対話形式で確認します。

npx @modelcontextprotocol/inspector npx -y tsx src/index.ts

テスト:

npm test               # build + smoke test
npm run test:vitest    # full suite

トラブルシューティング

症状対処方法
spawn npx ENOENTNode が PATH にありません。クライアントの設定では、node と dist/index.js の絶対パスを使用してください。
401 Unauthorizedクライアントの env ブロックに UNIFICALLY_API_KEY がありません。編集後、クライアントを再起動してください。
402 Payment Requiredhttps://unifically.com/payments でチャージしてください。
ツール呼び出しがハングする長い動画やフル尺の曲の場合は、wait: false または callback_url を渡してください。
クライアントにツールが表示されないnpx @modelcontextprotocol/inspector npx -y @unifically/mcp-server を実行してください。ツールが表示される場合は、クライアント設定の JSON の形式が正しくありません。

リンク

ライセンス

MIT

コメント

MCP は初めてですか?

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

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