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, upload-attachment で参照するため、および edit-design, regenerate-design, または expand-design の targets として使用します。
入力
出力 — 画面サマリーのJSON配列。
name はユーザーが割り当てた画面名、またはUnnamedの場合は 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>” として表示)、またはAbsentの場合は “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)。
AIツール
create-new-design
テキストプロンプトから1つ以上の画面設計を生成します。fileId を省略すると、新しいファイルが自動的に作成されます。生成完了またはタイムアウト(180秒)までブロックします。
入力
出力 —
{ fileId, screenIds }. 結果を表示するには、各 screenId を get-screen-image に渡します。
regenerate-design
既存の画面をスクラッチからまたはスタイルの変化で再実行します。targets に少なくとも1つの screenId が必要です。生成完了またはタイムアウト(180秒)までブロックします。
入力
出力 —
{ fileId, screenIds }. 結果を表示するには、各 screenId を get-screen-image に渡します。
expand-design
既存の設計に後続の画面を追加します。targets に少なくとも1つの screenId と必須の operationVariant が必要です。生成完了またはタイムアウト(180秒)までブロックします。
入力
出力 —
{ fileId, screenIds }. 結果を表示するには、各 screenId を get-screen-image に渡します。
edit-design
プロンプトを通じて既存の画面を変更します。targets に少なくとも1つの screenId が必要です。生成完了またはタイムアウト(180秒)までブロックします。
入力
出力 —
{ fileId, screenIds }. 結果を表示するには、各 screenId を get-screen-image に渡します。
upload-attachment
create-new-design または edit-design で使用する添付ファイルとしてファイルをアップロードします。{ id, path, type, mimeType } を返します — このオブジェクトを attachments 配列に直接渡します。
2つのモード:
モード 1 — IDで画面を指定
screenId と fileId を渡します。サーバーはデータベースから画面の状態をフェッチしてそれを画像としてレンダリングします。
モード 2 — 外部ファイル
ファイルコンテンツを直接渡します。バイナリファイルはbase64でエンコードする必要があります。テキストファイル(ソースコード含む)は平文UTF-8文字列として渡します。
最大ファイルサイズ:3 MB。大きな画像の場合は
image/png より image/jpeg を優先してください。
出力
type は画像/PDFアップロードは "image" 、テキスト/コードファイルは "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 が代わりに返されます。