content配列を返します。テキストツールは{ type: "text", text: "<json-string>" }を返します。画像ツールは{ type: "image", data: "<base64>", mimeType: "image/png" }を返します。失敗時はisError: trueが設定され、テキストブロックにエラーメッセージが含まれます。
ファイルツール
list-files
現在のユーザーの Flowstep ファイルをリストします。
入力
出力 — ファイルオブジェクトのJSON配列。
get-file
ファイルID で単一のファイルを取得します。ファイルコンテンツは意図的に省略されています — get-screen または get-screen-image を使用して画面を検査し、get-design-guidelines を使用して添付されたガイドラインを取得します。
入力
出力 — JSON ファイルオブジェクト。
create-file
新しい Flowstep ファイルを作成します。
入力
出力 — 新しいファイルの
id を含む JSON ファイルオブジェクト。
fileId として返された id を使用してください。
update-file
ファイルの名前を変更します。
入力
出力 —
get-file と同じ形状の更新されたファイルオブジェクト。
delete-file
ファイルを完全に削除します。渡す name はファイルの実際の名前に対して検証されます — 一致しない場合、削除は中止されます。これにより、誤ってファイルを削除することを防ぎます。
入力
出力 —
"File deleted successfully"
画面ツール
list-screens
ファイルのすべての生成済み画面をリストします。返された screenId 値を使用して get-screen、get-screen-image で画面を参照し、edit-design、regenerate-design、または expand-design の targets として使用します。
入力
出力 — 画面サマリーの JSON 配列。
name はユーザーが割り当てた画面名、または名前がない場合は null です。
get-screen
Flowstep の外で編集または使用できるようにするために、画面の JSX コードを取得します。ビジュアルプレビューには get-screen-image を使用してください。
入力
出力 — 画面をコード (JSX) として。最初の行のコメントに注意してください。これは
add-screen ツールを使用する場合に必須です。
add-screen
生の JSX 文字列から Flowstep ファイルに新しい画面を追加します。
入力
注記 — 以下のようなコメントが JSX の最初の行として存在する必要があります。これは画面を正しく追加するために使用されます。
screenType、name、screenId はすべてオプションです — screenId が存在する場合は使用されます(例えば、get-screen 出力からコピーされた JSX を渡すとき)が、必須ではありません。画面名はコメントの name フィールドから取得されます(“Copy of <name>” として表示)、またはない場合は “Untitled” です。
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->
出力 — 新しく追加された画面ID。
get-screen-image
画面を PNG にレンダリングし、インライン画像として返します。イメージコンテンツブロックをサポートするクライアントが必要です。
入力
出力 — MCP イメージコンテンツブロック (
image/png)。
rename-screen
画面のキャンバスラベル(list-screensまたはエディターで表示される名前)の名前を変更します。これはラベルのみを変更し、画面のレイアウト、サイズ、またはコンテンツは変わりません — これらについてはedit-designを使用してください。
入力
出力 —
{ screenId, name }。
AI ツール
create-new-design
テキストプロンプトから1つ以上の画面デザインを生成します。fileId を省略すると、新しいファイルが自動的に作成されます。生成完了またはタイムアウト (180 秒) までブロックします。
入力
出力 —
{ fileId, screenIds, designGuidelinesUpdated }。結果を表示するには、各screenIdをget-screen-imageに渡します。designGuidelinesUpdatedは、このレスポンスの一部としてファイルのデザインガイドラインが変更されたかどうかを報告します。
regenerate-design
既存の画面をスクラッチからまたはスタイルのバリエーション付きで再実行します。targetsに少なくとも1つのscreenIdが必要です。生成完了またはタイムアウト(180秒)までブロックします。
入力
出力 —
{ fileId, screenIds, designGuidelinesUpdated }。結果を表示するには、各screenIdをget-screen-imageに渡します。
expand-design
既存のデザインに後続の画面を追加します。targetsに少なくとも1つのscreenIdが必要で、必須のoperationVariantが必要です。生成完了またはタイムアウト(180秒)までブロックします。
入力
出力 —
{ fileId, screenIds, designGuidelinesUpdated }。結果を表示するには、各screenIdをget-screen-imageに渡します。
edit-design
プロンプトを通じて既存の画面を変更します。targetsに少なくとも1つのscreenIdが必要です。生成完了またはタイムアウト(180秒)までブロックします。
入力
出力 —
{ fileId, screenIds, designGuidelinesUpdated }。結果を表示するには、各screenIdをget-screen-imageに渡します。
upload-attachment
create-new-design または edit-design で使用する添付ファイルとしてファイルをアップロードします (regenerate-design または expand-design ではありません)。ファイル バイトはモデルを通じて渡されず、サーバーはあなたに代わって URL をフェッチしません。
正確に1つのモードを使用し、組み合わせないでください。
モード A — ファイルと画像 (mimeType + fileName)
画像、PDF、またはより大きなテキスト ファイルの場合は必須の3ステップ フロー。
-
mimeTypeとfileNameのみでupload-attachmentを呼び出します (例えばimage/pngとdog.png)。レスポンスは保存されたファイルではなく、準備されたアップロードです。 -
uploadCommandのLOCAL_FILE_PATHをファイルへの絶対パスに置き換えて、そのコマンドを shell で実行します — exit 0 である必要があります。signedUrlのトークンはこの単一アップロードのみを認可します。このステップをスキップするとストレージが空のままになり、デザインツールが事前チェックに失敗します。 -
{ id, path, type }のみをデザインツールのattachments配列に渡します —signedUrl、uploadCommand、またはnextStepは渡しません。
curl で)、同じ3ステップに従います。upload-attachment に URL を渡さないでください。
モード B — 短いテキスト (
text + mimeType)
既にコンテキストにあるテキストをアップロードします — shell コマンドは不要です。レスポンスはすぐに使用できます。
create-new-design または edit-design の attachments 配列に結果の { id, path, type } を渡します。
最大ファイル サイズは両方のモード全体で 3 MB です。PDF は 100 ページに制限されています。type は画像ファイルの場合 "image"、PDF とテキスト ファイルの場合 "document" です。
チャット ツール
get-chat-history
ファイルのチャット メッセージ履歴を取得します。
入力
出力 —
messages 配列を含む JSON オブジェクト。各メッセージは type ("request" または "response")、author ("human" または "ai")、および content_type ("text"、"summary"、または "followup") を持ちます。
デザインツール
get-design-guidelines
ファイル用に保存されたデザインガイドラインを取得します。
入力
出力
guidelines はガイドラインが設定されていない場合は null です。
update-design-guidelines
ファイルのデザインガイドラインを設定または置換します。ガイドラインはGoogle の design.md 形式の平文文字列として渡されます — オブジェクトまたは JSON を渡さないでください。
サーバーはソフト検証を実行し、レスポンス内に Warnings: セクションを返す場合があります。このセクションには受け入れられたが AI が無視する可能性のある問題 (未知のキー、16進数以外の色) をリストしています。これらをユーザーに表示してください。
入力
検証ルール
- フロントマターは正しく開かれ、閉じられる必要があります
- フロントマター行は有効なブロック スタイル YAML である必要があります
- Markdown 本体には重複した
##セクション見出しが含まれません
"Design guidelines updated successfully" (場合によっては Warnings: セクション)。
delete-design-guidelines
ファイルのデザインガイドラインをクリアします。
入力
出力 —
"Design guidelines deleted successfully"
Figma ツール
import-figma
Figma フレームを Flowstep ファイルにキャンバス上の編集可能な要素としてインポートします。同じフレームを再度インポートすると、その場で更新されます。ファイルの組織には Flowstep 設定で Figma が接続されている必要があります。
入力
出力 —
{ fileId, screenId }。screenId はインポートされた画面要素の ID です — get-screen-image に渡して結果を表示します。ページ URL が複数のフレームをインポートする場合、screenId は null で、frameCount が代わりに返されます。