# com.googleapis.stitch/mcp

> Interact with the Stitch API using natural language commands.

- name: com.googleapis.stitch/mcp
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 69/100 flags: no-repository
- quality: 80/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.googleapis.stitch%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/com.googleapis.stitch%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "stitch": {
      "type": "http",
      "url": "https://stitch.googleapis.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 45
- provenance: 45
- drivers: +dns-namespace +reachable +uptime-100% -stale-184d -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 80/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 16 of 16 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 10 of 16 tools declare all four hints; missing: get_screen (destructiveHint, idempotentHint); get_project (idempotentHint); download_file (destructiveHint, idempotentHint); …
- warn `tools.token_cost`: about 11,054 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 26 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 16, about 11,054 tokens to load them all
- tool set hash: 5acdd2641374f34273e861b4ee3a758a
- tools last changed: 2026-10-20T16:20:48.301Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.googleapis.stitch/mcp.svg)](https://protogrid.dev/servers/com.googleapis.stitch/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-20 `download_file` added
  - Downloads the content of a screen file: its HTML code or its screenshot. **Instructions for Tool Call:** * Set `name` to the file's resource name from a screen's `html_code.name` or `screenshot.name` (returned by `get_screen`, `list_screens`, or the generation tools), e.g. `projects/4044680601076201931/files/ea26dc974c014bf28342b805ed0b7cfc`. * Use this tool instead of fetching `download_url` directly: those URLs require credentials and return a JSON wrapper rather than the file. **Output:** * `html` holds the raw HTML for HTML files. * `image` holds the image bytes (base64-encoded in JSON) for images, with `image_metadata` (`mime_type`, `width`, `height`).
- 2026-10-20 `list_projects` changed (outputSchema)
- 2026-10-20 `get_project` changed (outputSchema)
- 2026-10-20 `create_project` changed (outputSchema)
- 2026-10-16 `apply_design_system` changed (outputSchema)
- 2026-10-16 `generate_variants` changed (outputSchema)
- 2026-10-16 `edit_screens` changed (outputSchema)
- 2026-10-16 `generate_screen_from_text` changed (outputSchema)
- 2026-10-16 `list_projects` changed (outputSchema)
- 2026-10-16 `get_project` changed (outputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.googleapis.stitch%2Fmcp/changes

## Remotes

- https://stitch.googleapis.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (16)

- `apply_design_system`: 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.

- `create_design_system`: 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.

- `create_design_system_from_design_md`: 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.

- `create_project`: Creates a new Stitch project. A project is a container for UI designs and frontend code.

- `delete_project`: 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.

- `download_file`: Downloads the content of a screen file: its HTML code or its screenshot.

**Instructions for Tool Call:**
*  Set `name` to the file's resource name from a screen's `html_code.name` or `screenshot.name` (returned by `get_screen`, `list_screens`, or the generation tools), e.g. `projects/4044680601076201931/files/ea26dc974c014bf28342b805ed0b7cfc`.
*  Use this tool instead of fetching `download_url` directly: those URLs require credentials and return a JSON wrapper rather than the file.

**Output:**
*  `html` holds the raw HTML for HTML files.
*  `image` holds the image bytes (base64-encoded in JSON) for images, with `image_metadata` (`mime_type`, `width`, `height`).

- `edit_screens`: 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.

- `generate_screen_from_text`: 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.

- `generate_variants`: 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.

- `get_project`: Retrieves the details of a specific Stitch project using its project name.

- `get_screen`: Retrieves the details of a specific screen within a project.

- `list_design_systems`: Lists all design systems for a given project.

- `list_projects`: Lists all Stitch projects accessible to the user. By default, it lists projects owned by the user.

- `list_screens`: Lists all screens within a given Stitch project.

- `update_design_system`: 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.

- `upload_design_md`: 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.

