リファレンス
Stitch TypeScript SDK の完全な API リファレンス。
インストール
npm install @google/stitch-sdk
エクスポート
すべてのエクスポートは @google/stitch-sdk から利用できます:
import {
stitch, // Default singleton instance
Stitch, // Domain class: project management
Project, // Domain class: screen management within a project
Screen, // Domain class: screen operations
StitchToolClient, // Low-level MCP client
StitchProxy, // Local proxy server
StitchError, // Error class
StitchErrorCode, // Error code enum
} from "@google/stitch-sdk";
AI SDK アダプター(別のサブパス):
import { stitchTools } from "@google/stitch-sdk/ai";
stitch(シングルトン)
デフォルトのエントリポイントです。Stitch のドメインメソッドと StitchToolClient のインフラストラクチャメソッドを兼ね備えた、遅延初期化される Proxy です。
最初のアクセス時に、環境変数から STITCH_API_KEY と STITCH_HOST を読み取ります。
import { stitch } from "@google/stitch-sdk";
ドメインメソッド
| メソッド | 戻り値 | 説明 |
|---|---|---|
createProject(title) | Promise<Project> | 新しいプロジェクトを作成します。 |
projects() | Promise<Project[]> | 認証済みユーザーがアクセスできるすべてのプロジェクトを一覧表示します。 |
project(id) | Project | 既存のプロジェクト ID またはリソース名から Project ハンドルを作成します。API 呼び出しは行いません。 |
インフラストラクチャメソッド
| メソッド | 戻り値 | 説明 |
|---|---|---|
listTools() | Promise<{ tools: ToolDefinition[] }> | 利用可能なすべての MCP ツールを一覧表示します。 |
callTool<T>(name, params) | Promise<T> | 名前を指定して生の MCP ツールを呼び出します。 |
close() | Promise<void> | 背後の MCP クライアント接続を閉じます。 |
Stitch
メインのエントリポイントクラスです。プロジェクトを管理します。
import { Stitch, StitchToolClient } from "@google/stitch-sdk";
const client = new StitchToolClient({ apiKey: "..." });
const s = new Stitch(client);
コンストラクタ
| パラメータ | 型 | 説明 |
|---|---|---|
client | StitchToolClient | 初期化済みのツールクライアントインスタンスです。 |
メソッド
| メソッド | 戻り値 | 説明 |
|---|---|---|
createProject(title) | Promise<Project> | 新しいプロジェクトを作成します。MCP ツール create_project に対応します。 |
projects() | Promise<Project[]> | すべてのプロジェクトを一覧表示します。MCP ツール list_projects に対応します。 |
project(id) | Project | API 呼び出しなしで Project ハンドルを作成します。プロジェクト ID または完全なリソース名(projects/{id})を受け付けます。 |
Project
画面を格納する Stitch プロジェクトです。
プロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
projectId | string | プロジェクト ID(projects/ プレフィックスなし)。 |
id | string | projectId のエイリアスです。 |
data | any | サーバーレスポンスから構築された場合の生の API レスポンスデータ。ID 文字列から構築された場合は undefined。 |
メソッド
| メソッド | パラメータ | 戻り値 | 説明 |
|---|---|---|---|
generate(prompt, deviceType?, modelId?) | prompt: string, deviceType?: DeviceType, modelId?: ModelId | Promise<Screen> | テキストプロンプトから新しい画面を生成します。generate_screen_from_text に対応します。 |
screens() | - | Promise<Screen[]> | プロジェクト内のすべての画面を一覧表示します。list_screens に対応します。 |
getScreen(screenId) | screenId: string | Promise<Screen> | ID を指定して特定の画面を取得します。get_screen に対応します。 |
upload(filePath, opts?) | filePath: string, opts?: { title?: string, createScreenInstances?: boolean } | Promise<UploadResult> | ファイル(.png、.jpg、.jpeg、.webp、.html、.htm)をアップロードし、画面を作成します。REST API に直接送信します。例外はスローされず、判別可能な結果を返します。 |
createDesignSystem(ds) | ds: { displayName: string } | Promise<DesignSystem> | このプロジェクトのデザインシステムを作成します。 |
listDesignSystems() | - | Promise<DesignSystem[]> | プロジェクト内のすべてのデザインシステムを一覧表示します。 |
designSystem(id) | id: string | DesignSystem | アセット ID から DesignSystem ハンドルを作成します。API 呼び出しは行いません。 |
uploadDesignMd(designMdBase64) | designMdBase64: string | Promise<any> | DESIGN.md ファイル(base64 エンコード)をプロジェクトにアップロードします。画面インスタンスを返します。upload_design_md に対応します。 |
createDesignSystemFromDesignMd(selectedScreenInstance, deviceType?) | selectedScreenInstance: SelectedScreenInstance, deviceType?: DeviceType | Promise<DesignSystem> | アップロードされた DESIGN.md からデザインシステムを作成します。create_design_system_from_design_md に対応します。 |
DesignSystem
プロジェクトの視覚トークンを定義するデザインシステムアセットです。
プロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
id | string | アセット ID です。 |
data | any | 生の API レスポンスデータ。ID 文字列から構築された場合は undefined。 |
メソッド
| メソッド | パラメータ | 戻り値 | 説明 |
|---|---|---|---|
update(ds) | ds: { displayName?: string } | Promise<DesignSystem> | デザインシステムのメタデータを更新します。 |
apply(selectedScreenInstances) | { id: string, sourceScreen: string }[] | Promise<Screen[]> | このデザインシステムを指定された画面に適用します。渡すのは id と sourceScreen だけにしてください — 余分なフィールドはエラーの原因になります。 |
Screen
生成された UI 画面です。HTML コードとスクリーンショット画像にアクセスできます。
プロパティ
| プロパティ | 型 | 説明 |
|---|---|---|
projectId | string | 親プロジェクトの ID。 |
screenId | string | 画面の ID。 |
id | string | screenId のエイリアスです。 |
data | any | 生の API レスポンスデータ。 |
メソッド
| メソッド | パラメータ | 戻り値 | 説明 |
|---|---|---|---|
edit(prompt, deviceType?, modelId?) | prompt: string, deviceType?: DeviceType, modelId?: ModelId | Promise<Screen> | テキストプロンプトでこの画面を編集します。新しい Screen を返します。元の画面は変更されません。edit_screens に対応します。 |
variants(prompt, variantOptions, deviceType?, modelId?) | prompt: string, variantOptions: VariantOptions, deviceType?: DeviceType, modelId?: ModelId | Promise<Screen[]> | デザインバリアントを生成します。generate_variants に対応します。 |
getHtml() | - | Promise<string> | この画面の HTML ダウンロード URL を返します。キャッシュされた URL があればそれを使用します。 |
getImage() | - | Promise<string> | スクリーンショットのダウンロード URL を返します。キャッシュされた URL があればそれを使用します。 |
StitchToolClient
HTTP 経由で Stitch サーバーに接続する低レベルの MCP クライアントです。
import { StitchToolClient } from "@google/stitch-sdk";
コンストラクタ
| パラメータ | 型 | 説明 |
|---|---|---|
config | StitchConfigInput | 接続設定です。 |
StitchConfigInput
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
apiKey | string | apiKey または accessToken のいずれか | 認証用の API キーです。 |
accessToken | string | apiKey または accessToken のいずれか | OAuth アクセストークンです。 |
projectId | string | accessToken と併用時は必須 | Google Cloud プロジェクト ID(OAuth 用)。 |
baseUrl | string | 不要 | サーバー URL を上書きします。デフォルトは https://stitch.googleapis.com/mcp。 |
メソッド
| メソッド | 戻り値 | 説明 |
|---|---|---|
connect() | Promise<void> | MCP サーバーに明示的に接続します。最初のツール呼び出し時に自動的に呼び出されます。 |
callTool<T>(name, params) | Promise<T> | 指定されたパラメータで名前付き MCP ツールを呼び出します。 |
listTools() | Promise<{ tools: ToolDefinition[] }> | サーバーから利用可能なすべてのツールを一覧表示します。 |
close() | Promise<void> | 接続を閉じます。 |
stitchTools(options?)
AI SDK アダプターです。Vercel AI SDK 形式で Stitch ツールを返します。
/ai サブパスからインポートします:
import { stitchTools } from "@google/stitch-sdk/ai";
パラメータ
| フィールド | 型 | 説明 |
|---|---|---|
options.apiKey | string | STITCH_API_KEY 環境変数を上書きします。 |
options.include | string[] | 特定のツール名だけを含めます。 |
戻り値
Record<string, Tool> - generateText({ tools: stitchTools() }) にそのまま渡せます。
StitchError
すべての SDK メソッドがスローするエラークラスです。
| プロパティ | 型 | 説明 |
|---|---|---|
message | string | 人間が読める形式のエラーメッセージ。 |
code | StitchErrorCode | 構造化されたエラーコード。 |
静的メソッド
| メソッド | 説明 |
|---|---|
StitchError.fromUnknown(error) | スローされた任意の値を StitchError でラップします。 |
列挙型
DeviceType
"DEVICE_TYPE_UNSPECIFIED" | "MOBILE" | "DESKTOP" | "TABLET" | "AGNOSTIC"
ModelId
"MODEL_ID_UNSPECIFIED" | "GEMINI_3_PRO" | "GEMINI_3_FLASH"
CreativeRange
"CREATIVE_RANGE_UNSPECIFIED" | "REFINE" | "EXPLORE" | "REIMAGINE"
VariantAspect
"VARIANT_ASPECT_UNSPECIFIED" | "LAYOUT" | "COLOR_SCHEME" | "IMAGES" | "TEXT_FONT" | "TEXT_CONTENT"
環境変数
| 変数 | 説明 |
|---|---|
STITCH_API_KEY | 認証用の API キー。stitch シングルトンと stitchTools() が使用します。 |
STITCH_HOST | MCP サーバー URL を上書きします。デフォルトは https://stitch.googleapis.com/mcp。 |
STITCH_ACCESS_TOKEN | OAuth アクセストークン(API キーの代替)。 |
GOOGLE_CLOUD_PROJECT | Google Cloud プロジェクト ID(OAuth 使用時は必須)。 |
原文: https://stitch.withgoogle.com/docs/sdk/reference/
本ページは Google Stitch 公式ドキュメントの翻訳です。原文の著作権は Google LLC に帰属します。本サイトは独立した非公式の翻訳です。