| name | stitch-mcp-create-project |
| description | Creates a new Stitch project container (a design workspace). Call this when starting a new design session to get a projectId for screen generation. |
| allowed-tools | ["stitch*:*"] |
Stitch MCP — Create Project
Creates a new Stitch project. A project is a container that holds one or more generated screens. You need a projectId before you can call generate_screen_from_text.
Critical prerequisite
Only use this skill when the user explicitly mentions "Stitch" in their request. Never trigger Stitch operations silently during regular conversation.
When to use
- Starting a new design task or app concept
- The user says "create a Stitch project", "start a new project in Stitch", "design X using Stitch"
- You need a
projectId before calling generate_screen_from_text
- Starting work in a new domain (keep related screens in one project)
Step 1: Extract a meaningful title
Infer a descriptive project title from the user's request:
| User says | → title |
|---|
| "Design a pet adoption app" | "PawPals" or "Pet Adoption App" |
| "Make a login page" | "Login Page" |
| "SaaS dashboard for analytics" | "Analytics Dashboard" |
| "E-commerce product listing" | "Product Listing" |
If no clear name is evident, use a descriptive label: "Design Project [date]".
Step 2: Call the MCP tool
{
"name": "create_project",
"arguments": {
"title": "[Descriptive project title]"
}
}
Step 3: Extract and store the project ID — CRITICAL
The tool returns a name field in the format projects/NUMERIC_ID. You must extract the numeric portion:
Tool response:
{
"name": "projects/3780309359108792857",
"title": "Analytics Dashboard",
"createTime": "2026-03-24T14:30:00Z",
"visibility": "PRIVATE",
"deviceType": "PHONE",
"projectType": "TEXT_TO_UI",
"designTheme": {
"colorMode": "LIGHT",
"customColor": "",
"colorVariant": "TONAL_SPOT",
"roundness": "ROUND_TWELVE",
"spacingScale": 1,
"headlineFont": "ROBOTO",
"bodyFont": "ROBOTO",
"labelFont": "ROBOTO",
"namedColors": {},
"designMd": ""
}
}
The designTheme populates with full values (including designMd and namedColors) after the first screen is generated. For a brand-new project, expect mostly empty/default theme values.
Extract:
- Full name:
projects/3780309359108792857 → use for list_screens, get_project
- Numeric ID:
3780309359108792857 → use for generate_screen_from_text, get_screen
Store both values. Announce to the user:
"Created project 'Analytics Dashboard' (ID: 3780309359108792857). Ready to generate screens."
ID format rules (critical — different tools need different formats)
| Tool | ID format required |
|---|
generate_screen_from_text | Numeric only: 3780309359108792857 |
get_screen | Numeric only: 3780309359108792857 |
list_screens | Full path: projects/3780309359108792857 |
get_project | Full path: projects/3780309359108792857 |
Integration
After creating a project, the next step is always stitch-mcp-generate-screen-from-text to generate the first screen.