com.googleapis.stitch/mcp
REMOTE · STITCH.GOOGLEAPIS.COM · SCANNED AUG 3
Interact with the Stitch API using natural language commands.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (create_project). See how to fix → View diagnostics → Fail
- HTTPS not yet verified: we couldn't determine whether a plaintext access path exists. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability56
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 2381 tokens (~158/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · stitch.googleapis.com
claude mcp add --transport http com-googleapis-stitch-mcp https://stitch.googleapis.com/mcp
[mcp_servers.com-googleapis-stitch-mcp] url = "https://stitch.googleapis.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-googleapis-stitch-mcp": {
"type": "remote",
"url": "https://stitch.googleapis.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-googleapis-stitch-mcp --url https://stitch.googleapis.com/mcp --transport streamable-http
mcp_servers:
com-googleapis-stitch-mcp:
url: "https://stitch.googleapis.com/mcp" {
"mcpServers": {
"com-googleapis-stitch-mcp": {
"type": "http",
"url": "https://stitch.googleapis.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 −1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 56
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://stitch.googleapis.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=upload.video.google.com | CN=WR2,O=Google Trust Services,C=US | 29 Jun 2026 | 21 Sept 2026 | ECDSA 256 | SHA256-RSA | 4ebe71b8b548f0e910486393b0d74ba7 |
| SANs: upload.video.google.com, *.clients.google.com, *.docs.google.com, *.drive.google.com, *.gdata.youtube.com, *.googleapis.com, *.photos.google.com, *.youtube-3rd-party.com, upload.google.com, *.upload.google.com, upload.youtube.com, *.upload.youtube.com and 5 more | ||||||
| CN=WR2,O=Google Trust Services,C=US (CA) | CN=GTS Root R1,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | RSA 2048 | SHA256-RSA | 7ff005a07c4cded100ad9d66a5107b98 |
| CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 19 Jun 2020 | 28 Jan 2028 | RSA 4096 | SHA256-RSA | 77bd0d6cdb36f91aea210fc4f058d30d |
DNSSEC insecure
Validation of stitch.googleapis.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| googleapis.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://stitch.googleapis.com/mcp | Verified | 200 | |
| http (plaintext) | http://stitch.googleapis.com/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
apply_design_system ~191
Applies a design system to a list of screens. Use this tool when the user wants to update one or more screens to match the style of a design system. This tool applies the selected design system's foundational design tokens (colors, fonts, shapes, etc.) to the chosen screens, modifying their appearance to align with the design system.
| Name | Type | Req | Description |
|---|---|---|---|
| assetId | string | yes | Required. The asset id of the design system to apply, can be fetched from 'list_design_systems'. Example: '15996705518239280238', without the `assets/` prefix. |
| projectId | string | yes | Required. The project ID of screen instances to edit, example: '4044680601076201931', without the `projects/` prefix. |
| selectedScreenInstances | array | yes | Required. The screen instances to edit, which is available in the Project info, fetched by `get_project`. |
| Name | Type | Req | Description |
|---|---|---|---|
| outputComponents | array | — | The generated output components. |
| projectId | string | — | The project ID of the generated screen. This is the same as the input project ID. |
| sessionId | string | — | The session ID of the generated screen. |
No examples provided.
create_design_system ~226
Creates a new design system for a project. Use this tool when the user wants to set or update the overall visual theme, style, or branding of the application. This includes configuring: - Color Palette: Presets, custom primary colors, and saturation levels. - Typography: Font families (e.g., Inter, Roboto, etc.). - Shape: Corner roundness for UI elements. - Appearance: Light and dark mode background colors. - Design MD: Free-form design instructions in markdown. This tool establishes the foundational design tokens that apply across all screens in the project. **Instructions for Tool Call:** * Call `update_design_system` tool immediately after this tool to apply the design system to the project, and display the design system in the UI.
| Name | Type | Req | Description |
|---|---|---|---|
| designSystem | — | yes | Required. The design system to create. |
| projectId | string | — | Optional. The project ID to create design system for, example: '4044680601076201931', without the `projects/` prefix. If empty, creates a global asset (not associated with any project). |
| Name | Type | Req | Description |
|---|---|---|---|
| copiedFrom | string | — | Optional. The resource name of the asset this was copied from, if any. Format: assets/{asset} Tracks the fork history of assets. |
| designSystem | — | — | Optional. The design system. |
| name | string | — | Identifier. The resource name of the asset. Format: assets/{asset} |
| version | string | — | Output only. The version of this asset. 0 indicates unversioned (legacy data). Incremented when the asset content changes. |
No examples provided.
create_design_system_from_design_md ~143
Creates a design system for a project, with user uploaded DESIGN.md file, and displays the design system in the UI. **Instructions for Tool Call:** * Should call `upload_design_md` tool first to upload DESIGN.md to a Stitch project.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceType | string | — | Optional. The device type of the screen. |
| projectId | string | yes | Required. The project ID to update design system for, example: '4044680601076201931', without the `projects/` prefix. |
| selectedScreenInstance | — | yes | Required. The screen instance to create the design system from, which is created by UploadDesignMd RPC. |
| Name | Type | Req | Description |
|---|---|---|---|
| assetId | string | — | The asset id of the design system. Example: '15996705518239280238', without the `assets/` prefix. |
No examples provided.
create_project ~40
Creates a new Stitch project. A project is a container for UI designs and frontend code.
| Name | Type | Req | Description |
|---|---|---|---|
| title | string | — | Optional. The title of the project. |
| Name | Type | Req | Description |
|---|---|---|---|
| backgroundTheme | string | — | Optional. The background theme of the project. |
| createTime | string | — | Output only. The time when the project was created. |
| designTheme | — | — | Output only. The theme used to generate the first design in the project. |
| deviceType | string | — | Optional. The device type of the project. |
| metadata | — | — | Metadata of the project. |
| name | string | — | Identifier. The resource name of the project. Format: projects/{project} |
| origin | string | — | Output only. The origin of the project. |
| projectType | string | — | Optional. The type of the project. If not specified, the project is a text to UI project. |
| readTime | string | — | Output only. The time the project was last read. Populated only when listing recently viewed projects. |
| screenInstances | array | — | Output only. The screen instances on this project. |
| thumbnailScreenshot | — | — | Optional. The screenshot to be used as the thumbnail for the project. Same as normal design screenshots, this contains the FIFE serving_base_url which requires additional FIFE URL options to be set f… |
| title | string | — | Optional. The title of the project. |
| updateTime | string | — | Output only. The time when the project was last updated. |
| visibility | string | — | Optional. The visibility setting of the project. |
No examples provided.
delete_project ~85
Deletes a specific Stitch project using its project name. **Instructions for Tool Call:** * This action cannot be undone. Please confirm with "yes" or "no" to proceed.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. Identifier. The resource name of the project to delete. Format: `projects/{project}` Example: `projects/4044680601076201931` |
Structured output declared, but exposes no named fields.
No examples provided.
edit_screens ~227
Edits existing screens within a project using a text prompt. **Instructions for Tool Call:** * This action can take a few minutes to complete. Please be patient. DO NOT RETRY. * If the tool call fails due to connection error, the process may still succeed.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceType | string | — | Optional. The type of device that captured the screenshot, e.g., mobile or desktop. |
| modelId | string | — | Optional. The model to use for generation. |
| projectId | string | yes | Required. The project ID of screens to edit, example: '4044680601076201931', without the `projects/` prefix. |
| prompt | string | yes | Required. The input text to generate the screen from. |
| selectedScreenIds | array | yes | Required. The screen IDs of screens to edit, example: ['98b50e2ddc9943efb387052637738f61', '98b50e2ddc9943efb387052637738f62'], without the `screens/` prefix. |
| Name | Type | Req | Description |
|---|---|---|---|
| outputComponents | array | — | The generated output components. |
| projectId | string | — | The project ID of the generated screen. This is the same as the input project ID. |
| sessionId | string | — | The session ID of the generated screen. |
No examples provided.
generate_screen_from_text ~361
Generates a new screen within a project from a text prompt. **Instructions for Tool Call:** * This action can take a few minutes to complete. Please be patient. DO NOT RETRY. * If the tool fails with a timeout, don't retry. Instead, try to get the screen with `get_screen` method every 30 seconds for up to 10 times before giving up. * If the tool call fails due to connection error, the generation process may still succeed. Please try to get the screen with `get_screen` method later. **Output:** * **`output_components`**: If `output_components` contains text, return it to the user. If `output_components` contains suggestions (e.g. "Yes, make them all"), present these suggestions to the user. If the user accepts one of the suggestions, call `generate_screen_from_text` again with `prompt` set to the accepted suggestion.
| Name | Type | Req | Description |
|---|---|---|---|
| designSystem | string | — | Optional. The design system id to use for generating the new screen, should always be configured for design consistency, via `get_project` or `list_assets` methods. If not provided, a default design… |
| deviceType | string | — | The type of device that captured the screenshot, e.g., mobile or desktop. |
| modelId | string | — | Optional. The model to use for generation. |
| projectId | string | yes | Required. The project ID to generate the screen for, example: '4044680601076201931', without the `projects/` prefix. |
| prompt | string | yes | Required. The input text to generate the screen from. |
| Name | Type | Req | Description |
|---|---|---|---|
| outputComponents | array | — | The generated output components. |
| projectId | string | — | The project ID of the generated screen. This is the same as the input project ID. |
| sessionId | string | — | The session ID of the generated screen. |
No examples provided.
generate_variants ~261
Generates variants of existing screens within a project using a text prompt. **Instructions for Tool Call:** * If the tool fails with a timeout, don't retry. Instead, try to get the screen with `get_screen` method every 30 seconds for up to 10 times before giving up.
| Name | Type | Req | Description |
|---|---|---|---|
| deviceType | string | — | Optional. The type of device that captured the screenshot, e.g., mobile or desktop. |
| modelId | string | — | Optional. The model to use for generation. |
| projectId | string | yes | Required. The project ID of screens to generate variants for, example: '4044680601076201931', without the `projects/` prefix. |
| prompt | string | yes | Required. The input text used to generate the variants. |
| selectedScreenIds | array | yes | Required. The screen ids of screen to generate variants for, example: ['98b50e2ddc9943efb387052637738f61', '98b50e2ddc9943efb387052637738f62'], without the `screens/` prefix. |
| variantOptions | — | yes | Required. The variant options for generation, including the number of variants, creative range, and aspects to focus on. |
| Name | Type | Req | Description |
|---|---|---|---|
| outputComponents | array | — | The generated output components. |
| projectId | string | — | The project ID of the generated screen. This is the same as the input project ID. |
| sessionId | string | — | The session ID of the generated screen. |
No examples provided.
get_project ~60
Retrieves the details of a specific Stitch project using its project name.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. Identifier. The resource name of the project to retrieve. Format: `projects/{project}` Example: `projects/4044680601076201931` |
| Name | Type | Req | Description |
|---|---|---|---|
| backgroundTheme | string | — | Optional. The background theme of the project. |
| createTime | string | — | Output only. The time when the project was created. |
| designTheme | — | — | Output only. The theme used to generate the first design in the project. |
| deviceType | string | — | Optional. The device type of the project. |
| metadata | — | — | Metadata of the project. |
| name | string | — | Identifier. The resource name of the project. Format: projects/{project} |
| origin | string | — | Output only. The origin of the project. |
| projectType | string | — | Optional. The type of the project. If not specified, the project is a text to UI project. |
| readTime | string | — | Output only. The time the project was last read. Populated only when listing recently viewed projects. |
| screenInstances | array | — | Output only. The screen instances on this project. |
| thumbnailScreenshot | — | — | Optional. The screenshot to be used as the thumbnail for the project. Same as normal design screenshots, this contains the FIFE serving_base_url which requires additional FIFE URL options to be set f… |
| title | string | — | Optional. The title of the project. |
| updateTime | string | — | Output only. The time when the project was last updated. |
| visibility | string | — | Optional. The visibility setting of the project. |
No examples provided.
get_screen ~163
Retrieves the details of a specific screen within a project.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Required. Identifier. The resource name of the screen to retrieve. Format: `projects/{project}/screens/{screen}` Example: `projects/4044680601076201931/screens/98b50e2ddc9943efb387052637738f61` |
| projectId | string | yes | Required. The project ID of screen to retrieve. Example: `4044680601076201931`, without the `projects/` prefix. |
| screenId | string | yes | Required. The screen ID of screen to retrieve. Example: `98b50e2ddc9943efb387052637738f61`, without the `screens/` prefix. |
| Name | Type | Req | Description |
|---|---|---|---|
| deviceType | string | — | The device type of the screen. |
| height | string | — | The height of the screen. |
| htmlCode | — | — | The HTML code of the screen. |
| name | string | — | Identifier. The name of the screen. Format: projects/{project}/screens/{screen} |
| screenshot | — | — | The screenshot of the screen. |
| title | string | — | The title of the screen. |
| width | string | — | The width of the screen. |
No examples provided.
list_design_systems ~65
Lists all design systems for a given project.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | — | Optional. The project ID to list design systems for, example: '4044680601076201931', without the `projects/` prefix. If empty, lists all global design systems. |
| Name | Type | Req | Description |
|---|---|---|---|
| designSystems | array | — | The design systems for the given project. |
No examples provided.
list_projects ~115
Lists all Stitch projects accessible to the user. By default, it lists projects owned by the user.
| Name | Type | Req | Description |
|---|---|---|---|
| filter | string | — | Optional. A filter to apply to the list of projects, following a subset of AIP-160. This service supports filtering on the `view` field. Supported filters: * `view=owned`: Lists only projects owned b… |
| Name | Type | Req | Description |
|---|---|---|---|
| projects | array | — | The projects for the given user, sorted by update time from the most recent to the least recent. Adding a new session to an existing project is considered as an update to the project. |
No examples provided.
list_screens ~56
Lists all screens within a given Stitch project.
| Name | Type | Req | Description |
|---|---|---|---|
| projectId | string | yes | Required. Identifier. The project ID to list screens for, example: '4044680601076201931', without the `projects/` prefix. |
| Name | Type | Req | Description |
|---|---|---|---|
| screens | array | — | The screens for the given project. |
No examples provided.
update_design_system ~212
Updates a design system for a project. Use this tool when the user wants to change the overall visual theme, style, or branding of the application. This includes configuring: - Color Palette: Presets, custom primary colors, and saturation levels. - Typography: Font families (e.g., Inter, Roboto, etc.). - Shape: Corner roundness for UI elements. - Appearance: Light and dark mode background colors. - Design MD: Free-form design instructions in markdown. This tool establishes the foundational design tokens that apply across all screens in the project.
| Name | Type | Req | Description |
|---|---|---|---|
| designSystem | — | yes | Required. The design system to update. |
| name | string | yes | Required. Identifier. The resource name of the design system to update. Format: `assets/{asset_id}` Example: `assets/15996705518239280238` |
| projectId | string | yes | Required. The project ID to update design system for, example: '4044680601076201931', without the `projects/` prefix. |
| Name | Type | Req | Description |
|---|---|---|---|
| copiedFrom | string | — | Optional. The resource name of the asset this was copied from, if any. Format: assets/{asset} Tracks the fork history of assets. |
| designSystem | — | — | Optional. The design system. |
| name | string | — | Identifier. The resource name of the asset. Format: assets/{asset} |
| version | string | — | Output only. The version of this asset. 0 indicates unversioned (legacy data). Incremented when the asset content changes. |
No examples provided.
upload_design_md ~176
Uploads DESIGN.md to a Stitch project. Use this tool when the user wants to create a design system from a DESIGN.md file. **Instructions for Tool Call:** * Call `create_design_system_from_design_md` tool immediately after this tool to create the design system from the uploaded DESIGN.md, and display the design system in the UI.
| Name | Type | Req | Description |
|---|---|---|---|
| designMdBase64 | string | yes | Required. The base64-encoded DESIGN.md content. The decoded content must be valid UTF-8; uploads with invalid UTF-8 bytes will be rejected. Run `base64 -w 0 ` to get the base64-encoded string. |
| projectId | string | yes | Required. The project ID to upload the DESIGN.md to, example: '4044680601076201931', without the `projects/` prefix. |
| Name | Type | Req | Description |
|---|---|---|---|
| groupId | string | — | Optional. Group identifier for Genie Agent output grouping. Screens with the same groupId are rendered and interact as a group. |
| groupName | string | — | Optional. Human-readable name for the group (e.g., "Warm Minimalism", "Ethereal Glow"). |
| height | integer | — | Optional. The screen height. |
| hidden | boolean | — | Optional. User driven action hiding screen from the canvas. |
| id | string | — | Optional. The screen instance id. |
| isFavourite | boolean | — | Optional. Whether this screen is marked as a favourite by the user. |
| isResized | boolean | — | Optional. Whether this screen has been resized by the user. |
| label | string | — | Optional. The screen label. |
| needsLayout | boolean | — | Optional. Whether this screen instance needs frontend layout positioning. Set by the PostProcessor when auto-linking screens that the agent generated but the frontend has not yet positioned on the ca… |
| sourceAsset | string | — | Optional. The resource name of the source asset. Format: assets/{asset} |
| sourceScreen | string | — | Optional. The resource name of the source screen. Format: projects/{project}/screens/{screen} |
| textContent | string | — | Optional. Text content for TEXT_INSTANCE nodes. |
| type | string | — | Optional. The type of screen instance. |
| variantScreenInstance | — | — | Optional. The variant Screen Instance. |
| width | integer | — | Optional. The screen width. |
| x | integer | — | Optional. The x position of the screen. |
| y | integer | — | Optional. The y position of the screen. |
No examples provided.