Skip to content
Back to skills

Stitch Mcp Get Project

ASecurity

Retrieves metadata for a specific Stitch project — title, theme, create/update time. Use to inspect a project before generating new screens. Do NOT use this if you already have a screenId — use stitch-mcp-get-screen instead.

  • 43 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
developmentgoexpress

Works with

  • mcp

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add gabelul/stitch-kit --skill stitch-mcp-get-project --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Stitch Mcp Get Project?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Stitch Mcp Get Project
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gabelul-stitch-mcp-get-project/badge)](https://www.skillsdirectory.com/skills/gabelul-stitch-mcp-get-project)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: stitch-mcp-get-project
description: Retrieves metadata for a specific Stitch project — title, theme, create/update time. Use to inspect a project before generating new screens. Do NOT use this if you already have a screenId — use stitch-mcp-get-screen instead.
allowed-tools:
  - "stitch*:*"
---

# Stitch MCP — Get Project

Retrieves full metadata for a specific Stitch project. Useful for understanding an existing project's theme and screen list before generating additional screens.

## Critical prerequisite

**Only use this skill when the user explicitly mentions "Stitch".**

**Do NOT call this if you already have both `projectId` AND `screenId`.** In that case, call `stitch-mcp-get-screen` directly — it's more efficient.

## When to use

- User provides a Stitch project URL and you need its details
- You need to know the existing design theme before generating new consistent screens
- Verifying a project exists before proceeding

## Step 1: Parse the project ID from context

The user may provide the project reference in several formats — always extract to the `projects/ID` format:

| Input format | → Argument for `get_project` |
|---|---|
| `3780309359108792857` (numeric) | `projects/3780309359108792857` |
| `projects/3780309359108792857` | `projects/3780309359108792857` (use as-is) |
| `https://stitch.withgoogle.com/projects/3780309359108792857` | Extract ID → `projects/3780309359108792857` |

## Step 2: Call the MCP tool

```json
{
  "name": "get_project",
  "arguments": {
    "name": "projects/3780309359108792857"
  }
}
```

## Output schema

```json
{
  "name": "projects/3780309359108792857",
  "title": "Analytics Dashboard",
  "createTime": "2024-11-10T09:00:00Z",
  "updateTime": "2024-11-15T10:30:00Z",
  "deviceType": "PHONE",
  "visibility": "PRIVATE",
  "projectType": "TEXT_TO_UI",
  "origin": "STITCH",
  "metadata": {
    "isRemixed": false,
    "userRole": "OWNER"
  },
  "designTheme": {
    "colorMode": "LIGHT",
    "customColor": "#6366F1",
    "colorVariant": "TONAL_SPOT",
    "roundness": "ROUND_TWELVE",
    "spacingScale": 1,
    "headlineFont": "ROBOTO",
    "bodyFont": "ROBOTO",
    "labelFont": "ROBOTO",
    "font": "ROBOTO",
    "namedColors": {
      "primary": "#5B5FC7",
      "on_primary": "#FFFFFF",
      "primary_container": "#E1DFFF",
      "on_primary_container": "#414594",
      "secondary": "#5C5D72",
      "on_secondary": "#FFFFFF",
      "tertiary": "#785572",
      "on_tertiary": "#FFFFFF",
      "surface": "#FBF8FF",
      "on_surface": "#1B1B21",
      "surface_container": "#EFEDF5",
      "surface_container_low": "#F5F2FA",
      "surface_container_high": "#E9E7EF",
      "outline": "#777680",
      "error": "#BA1A1A",
      "on_error": "#FFFFFF"
    },
    "overridePrimaryColor": "",
    "overrideSecondaryColor": "",
    "overrideTertiaryColor": "",
    "overrideNeutralColor": "",
    "backgroundLight": "#FBF8FF",
    "backgroundDark": "#131316",
    "description": "Modern indigo-toned interface with clean surfaces",
    "designMd": "# Design System\n\n## Color Palette\n..."
  },
  "screenInstances": [
    {
      "name": "projects/3780309359108792857/screens/88805...",
      "id": "88805...",
      "sourceScreen": "screens/88805...",
      "type": "SCREEN_INSTANCE",
      "width": 412,
      "height": 892,
      "x": 0,
      "y": 0,
      "hidden": false
    },
    {
      "name": "projects/3780309359108792857/screens/99901...",
      "id": "99901...",
      "sourceScreen": "screens/99901...",
      "type": "DESIGN_SYSTEM_INSTANCE",
      "width": 412,
      "height": 892,
      "x": 500,
      "y": 0,
      "hidden": false,
      "sourceAsset": "assets/design-system-123"
    }
  ]
}
```

> `designMd` is truncated above — in practice it's a full auto-generated design system doc (often 500+ lines). `namedColors` typically contains 40+ semantic tokens; only the most common are shown here.

## DesignTheme field reference

| Field | Type | Values / Notes |
|-------|------|----------------|
| `colorMode` | enum | `LIGHT`, `DARK` |
| `customColor` | string | Hex seed color (e.g. `#6366F1`). This is the color seed — NOT called `primaryColor` |
| `colorVariant` | enum | `MONOCHROME`, `NEUTRAL`, `TONAL_SPOT`, `VIBRANT`, `EXPRESSIVE`, `FIDELITY`, `CONTENT`, `RAINBOW`, `FRUIT_SALAD` |
| `roundness` | enum | `ROUND_FOUR`, `ROUND_EIGHT`, `ROUND_TWELVE`, `ROUND_FULL` |
| `spacingScale` | number | `0`–`3` (density multiplier) |
| `headlineFont` | enum | 28-font set: `ROBOTO`, `OPEN_SANS`, `LATO`, `MONTSERRAT`, `POPPINS`, `INTER`, `PLAYFAIR_DISPLAY`, `MERRIWEATHER`, `RALEWAY`, `NUNITO`, `SOURCE_SANS_3`, `OSWALD`, `QUICKSAND`, `CABIN`, `BARLOW`, `WORK_SANS`, `DM_SANS`, `SPACE_GROTESK`, `SORA`, `OUTFIT`, `PLUS_JAKARTA_SANS`, `MANROPE`, `ALBERT_SANS`, `FIGTREE`, `GEIST`, `ONEST`, `INSTRUMENT_SANS`, `GENERAL_SANS` |
| `bodyFont` | enum | Same 28-font set |
| `labelFont` | enum | Same 28-font set |
| `font` | enum | **Deprecated** — legacy single-font field, same enum |
| `namedColors` | object | 40+ semantic color tokens (`primary`, `on_primary`, `surface`, `surface_container`, `outline`, `error`, etc.) |
| `overridePrimaryColor` | string | Hex override, empty string if unused |
| `overrideSecondaryColor` | string | Hex override, empty string if unused |
| `overrideTertiaryColor` | string | Hex override, empty string if unused |
| `overrideNeutralColor` | string | Hex override, empty string if unused |
| `backgroundLight` | string | Hex background for light mode |
| `backgroundDark` | string | Hex background for dark mode |
| `description` | string | Brief aesthetic description of the theme |
| `designMd` | string | Auto-generated design system markdown — the full token spec. Can be very long |

## Project-level fields

| Field | Type | Values / Notes |
|-------|------|----------------|
| `deviceType` | string | `PHONE`, `TABLET`, `DESKTOP`, etc. |
| `visibility` | enum | `PRIVATE`, `PUBLIC` |
| `projectType` | enum | `TEXT_TO_UI`, `PROJECT_DESIGN`, etc. |
| `origin` | enum | `STITCH`, `IMPORTED_FROM_GALILEO` |
| `metadata.isRemixed` | boolean | Whether this project was remixed from another |
| `metadata.userRole` | string | `OWNER`, `VIEWER`, etc. |

## ScreenInstance fields

| Field | Type | Notes |
|-------|------|-------|
| `id` | string | Numeric screen ID |
| `sourceScreen` | string | Path reference to the source screen |
| `type` | enum | `SCREEN_INSTANCE`, `DESIGN_SYSTEM_INSTANCE`, `GROUP_INSTANCE` |
| `width` / `height` | number | Pixel dimensions |
| `x` / `y` | number | Canvas position |
| `hidden` | boolean | Whether hidden in the project |
| `sourceAsset` | string | Present on `DESIGN_SYSTEM_INSTANCE` types — references the design system asset |

## Using the theme data

Use `designMd` and `namedColors` when generating new screens — they contain the authoritative design system for this project. Pass `namedColors` to `stitch-design-system` for instant token extraction.

## After getting the project

- Note the `designTheme` — use it to keep new screens visually consistent
- Note the `screenInstances` list — extract screenId values if you need to inspect specific screens
- Use `stitch-mcp-list-screens` for a richer view of the screen list including thumbnails

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.