MCP ツールリファレンス
このページでは、OAuth を使うリモート MCP のリリース 1.12.1 に含まれる16個のツールを説明します。接続先サーバーのtools/list が正となります。ローカル stdio は prepare_upload と get_upload を提供しません。ローカル stdio の upload_file は、明示的に許可されたディレクトリ内のパスも受け付けます。
name と arguments を使った例は、MCP のツール呼び出しを表すもので、REST のリクエストボディではありません。例があるからといって、有料生成が許可されるわけではありません。
search_models
recommend_models
search_docs
get_model
必須のmodel:1–128文字の文字列。返された正式な ID、または対応しているエイリアスを使います。
estimate_cost
pricing_quote もありません。total_known は false になり、missing_usage に不足している値がそれぞれ示され、usage_help にその指定方法が示されます。課金を参照してください。照会が成功しても、入力が有効であることや、完全な見積書であることの証明にはなりません。
承認できる見積もりは、pricing_quote も返します。これは、この入力そのものに対する承認記録です。ユーザーが承認したら、同じ入力とともに生成ツールに渡してください。承認済みの価格以下である限り、見積もりから24時間有効です(expires_at)。生成ツールはもう一度見積もりを行い、価格が変わっていないか下がっていれば、その後に価格ルールが変更されていても送信します。価格が上がっていれば price_changed、入力が変わっていれば quote_input_changed、pricing_quote の有効期限が切れていれば quote_expired で拒否されます。いずれの場合も、新しい見積もりと承認が必要です。inputs を指定した場合、結果には各入力の見積もりと合計額が示され、1つの pricing_quote が、それらの入力をその順序どおりに承認するものになります。それが単一の入力だけを承認することはなく、単一の入力の pricing_quote がバッチを承認することもありません。
このツールには max_cost_usd 引数がなく、CLI のローカルの quote_id も生成しません。MCP での予算チェックは、生成ツールで行われます。media_seconds は、出力の長さを設定するものではなく、参照動画の不明な倍率を埋めるものでもありません。
get_pricing_rules
estimate_cost を使ってください。実際の入力に対して、同じルールを評価します。結果が空の場合は、一致する公開ルールがないという意味であり、モデルが無料という意味ではありません。一覧では、ルールを読み取れない、またはルールが不完全なモデルは除外され、rejected_models に列挙されて、warnings に示されます。ほかのモデルは通常どおり返されます。除外されたモデルが無料というわけではありません。単一のモデルを指定した照会は、そのルールを読み取れない場合、これまでどおり失敗します。
generate_image、generate_video、generate_audio
出力の種類に合ったツールを選んでください。これらのツールは、次のトップレベル引数を共有します:
呼び出す前に、モデルと入力を確認し、リクエスト全体を見積もり、制限を伝えたうえで、料金について明確な承認を得てください。ただし、ユーザーが見積もりを不要とした場合は除きます(後述)。次は、呼び出しの形を示す例です:
wait_seconds を使うと、これらのツールのそれぞれについて、この待機時間を変更できます。送信時には仮押さえ額が報告されることがあり、これは完了したタスクの料金とは区別する必要があります。
実行中のタスクについては、進捗を確認するために生成をもう一度呼び出すのではなく、タスクを照会してください。レスポンスを受け取れなかった場合は、元の ID、アカウント、入力、リクエスト ID を保持してください。別のリクエスト ID を使うと、新たな有料のリクエストとして扱われます。クライアント側に復旧用の保護機能があっても、本番環境のすべてのノードでバックエンドの冪等性が同じように保証されていることの証明にはなりません。
見積もりなしで生成する。ユーザーが、見積もりや確認は不要だと明確に述べた場合(たとえば「直接生成して」や「これからはそのまま生成して」)、アシスタントは estimate_cost と確認を省略し、skip_estimate: true を渡します。適用範囲はユーザーが指定したとおりで、このタスク、このバッチ、または会話の残り全体のいずれかです。アシスタントは、沈黙、残高、自分自身の提案からこれを推測してはいけません。ユーザーが会話の残り全体について見積もりを不要とした場合、アシスタントは、以降の生成は確認なしで送信されることを一度だけ伝えます。新しい会話を始めるか、見積もりを元に戻すよう求めると、見積もりは再び行われます。価格を算出できない場合や、pricing_quote が期限切れ、価格の上昇、内容の変更を理由に拒否された場合でも、生成は送信され、結果にその旨が示されます(estimate_skipped、estimate_skip_reason)。タスクは実際の使用量に基づいて課金されます。無効な入力は、引き続き拒否されます。明示した max_cost_usd も引き続き適用されます(これを超えるリクエストや、これと照らして価格をチェックできないリクエストは、送信されません)。また、モデルのウェブ検索や画像検索を有効にするには、引き続きユーザーの承認が必要です。見積もりが失敗した場合や合計額が出ない場合で、ユーザーが見積もりを不要としていないときは、アシスタントは、実際の使用量での課金でそのまま生成するかどうかを一度だけ尋ねます。
バッチ。同じモデルで複数のタスクを扱う場合は、inputs(1–50項目。それぞれ input と同じ形式)を estimate_cost に渡し、次に、返された pricing_quote とともに生成ツールに渡します。見積もりは一度、合計額に対する承認も一度で、一度の呼び出しですべての項目が送信され(同時に最大10件)、完了を待たずに、各項目の task_id またはエラーが返されます。無効な項目が含まれている場合は、何も送信されません。max_cost_usd はバッチの合計額に適用され、media_seconds と pricing_parameters はすべての項目に適用されます。結果は list_tasks で取得します(task_ids、呼び出しごとに最大50件)。モデルが異なるタスクは、wait_seconds: 0 を指定して、呼び出しごとに1件ずつ送信してください。画像の枚数を n に頼らないでください。GPT Image など一部のモデルは、n より少ない枚数の画像しか返さないことがよくあるため、画像1枚につき項目を1つ使ってください。
呼び出しの開始から25秒を過ぎると、新しい項目の送信は始まりません。すでに始まった送信が途中で打ち切られることはなく、開始されなかった項目は未送信として一覧に示されます。バッチを完了させるには、最初の送信から24時間以内に、同じ client_request_id とまったく同じ inputs でもう一度呼び出してください。結果の中で完了させるべきものとして示された項目が送信され、受け付け済みの項目については元のタスクが返され、新たな課金は発生しません。その時点で pricing_quote の有効期限が切れている場合は、同じ入力をもう一度見積もり、新しいものを渡してください。結果が不明な項目については、あとで同じ方法で再試行するか、list_tasks で確認してください。この24時間のあいだは、受け付け済み、未送信、結果不明のいずれの項目も、新しい client_request_id で再送信してはいけません。新しいタスクが作成され、課金されてしまいます。それを過ぎると、同じ client_request_id を使っても二重の課金は防げなくなります。まず list_tasks で確認し、通らなかった項目だけを、新しい見積もりと新しい client_request_id を使った新しいバッチとして送信してください。その client_request_id で以前に送信したものと入力が異なる項目は、拒否されます(idempotency_conflict)。それは新しいタスクであり、独自の見積もり、承認、client_request_id が必要です。
get_task
error.code)、API も返す説明(error.message)、そして billing_note を返します。このタスクは課金されず、送信時に仮押さえされたクレジットは自動的に返還されます。オリジナルの結果は、通常24時間保持されます。プレビューの表示は、ホストのクライアントによって異なります。
list_tasks
get_task_usage
check_balance
引数はありません:upload_file
prepare_upload
必須のfile_name:メディアの種類の判定に使われる拡張子を含む文字列。任意の upload_path:相対ディレクトリ。
get_upload
必須のupload_id:元の prepare の結果から取得します:
結果とエラー
ツールは、読める形式のテキストと structuredContent を返します。失敗した場合は、isError/error/next_step が含まれることがあります。完了したメディアには、resource_link と、任意で画像のサムネイルが含まれることがあります。コンテンツブロックへの対応状況は、ホストによって異なります。受け渡しの基準になるのは、あくまでオリジナルの URL です。プレビューは、すべてのホストで保証されるわけではありません。 ツールのエラーと、input_valid、見積もりの状態、task.status などの業務フィールドを確認してください。HTTP 200 だけでは、生成が成功したことにはなりません。送信のタイムアウトは、タスクが作成されたあとに起きることもあり、課金されていないことの証明にはなりません。照会の失敗は、元のタスクが失敗したことの証明ではありません。タスクの進捗と結果
無料の接続検証には、残高とモデルの照会を使ってください。既存のタスクには get_task/list_tasks を使い、そのあとでオリジナルの URL と、報告された実際の料金を渡します。参照素材、復旧、保存、グレーのプレビューについては、ワークフローガイドで説明しています。表示上の問題を理由に、有料生成をもう一度行ってはいけません。MCP プロトコルとバックエンド API
リモートのエンドポイントは
https://mcp.evolink.ai/mcp です。OAuth は Passport が提供し、サーバーは https://api.evolink.ai とファイルサービスにリクエストを送ります。MCP の URL、プラットフォームの /v1 ルート、ドキュメント、llms.txt は、それぞれ別の入口です。
初期化とツールの呼び出し
initialize、プロトコルのバージョン、Accept、認証、セッション、コンテンツブロックの処理は、ホストまたは MCP SDK に任せてください。初期化のあとに tools/list を読み取り、それから tools/call を呼び出します:ツールとバックエンドの操作
モデルのパラメータは arguments.input に指定し、サーバーが REST リクエストに変換します。media_seconds は課金のためのヒントです。max_cost_usd は、送信前に見積もりをチェックするだけです。公開済みの 1.12.1 は、公開の価格ルール(参考価格で、アカウントの割引は含みません)から見積もりを行い、最終的な精算額の上限は依然としてありません。