Stitch mcp generate screen from text
Skill gabelul/stitch-kit/skills/stitch-mcp-generate-screen-from-text
Generates a high-fidelity UI screen or wireframe from a text prompt using Stitch. This is the core text-to-UI generation tool — the heart of the Stitch workflow.From its SKILL.md
npx -y skills add gabelul/stitch-kit --skill stitch-mcp-generate-screen-from-textAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- skips confirmationTells the agent to proceed without asking first, 1 time: "Automatically call generate_screen_from_text again with the suggestion text as the prompt — the user already initiated generation, no need to re-confirm".
SKILL.md
5.9 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it
Stitch MCP — Generate Screen from Text
Generates a UI design screen from a structured text prompt. This is the central action in any Stitch workflow — everything before it (spec generation, prompt assembly) is preparation, and everything after it (screen retrieval, code conversion) is follow-through.
Critical prerequisite
Only use this skill when the user explicitly mentions "Stitch" or when called from an upstream skill (e.g. stitch-ideate, stitch-orchestrator).
You must have a projectId before calling this. If you don't have one:
- Create a new project via
stitch-mcp-create-project - Or find an existing project via
stitch-mcp-list-projects
When to use
- User asks to "design", "generate", "create", or "make" a screen using Stitch
- The orchestrator has assembled a prompt via
stitch-ui-prompt-architect - User provides specific visual requirements and wants a Stitch-generated result
Call the MCP tool
{
"name": "generate_screen_from_text",
"arguments": {
"projectId": "3780309359108792857",
"prompt": "[Full structured prompt — see below]",
"deviceType": "MOBILE",
"modelId": "GEMINI_3_1_PRO",
"designSystem": "assets/15996705518239280238"
}
}
Parameter reference
designSystem — optional, PREFIXED asset id
✅ "assets/15996705518239280238"
❌ "15996705518239280238"
This is how you get design consistency across generated screens — pass the name of a design system from stitch-mcp-create-design-system, stitch-mcp-create-design-system-from-design-md, or stitch-mcp-list-design-systems (used as-is, with the assets/ prefix). This is the opposite format from apply_design_system's assetId, which wants the prefix stripped.
projectId — numeric ID only, no projects/ prefix
✅ "3780309359108792857"
❌ "projects/3780309359108792857"
prompt — use the [Context] [Layout] [Components] structure
[Context & Style]
[Device] [Mode] [screen type] for [product]. [aesthetic]. [theme]. [colors]. [font].
[Layout]
[Describe the structural arrangement]
[Components]
[Specific named UI components with details]
For best results, use the stitch-ui-prompt-architect skill to assemble the prompt before calling this tool.
deviceType
| Value | Use when |
|---|---|
MOBILE | Mobile app, phone-sized UI (default if uncertain) |
DESKTOP | Web dashboard, landing page, SaaS UI |
TABLET | Tablet-specific layout |
AGNOSTIC | Not tied to a specific device — responsive/fluid layout |
modelId
| Value | Use when |
|---|---|
GEMINI_3_1_PRO | Recommended — complex layouts, high fidelity |
GEMINI_3_FLASH | Fast iteration, wireframes, simple changes |
GEMINI_3_PRO | Deprecated. Still works but will be removed. Use GEMINI_3_1_PRO instead. |
After generating
This tool returns session info but not the actual screenshot/HTML. To retrieve the design:
- Call
stitch-mcp-list-screenswithprojects/[projectId]to find the new screen - Call
stitch-mcp-get-screenwith theprojectIdandscreenIdto get the screenshot and HTML
Prompt quality checklist
Before calling this tool, verify the prompt:
- Specifies device type consistently with
deviceTypeparameter - Names specific components (not "some buttons" — "primary 'Sign In' button")
- Includes colors (hex codes or clear color names)
- Uses realistic content (not Lorem Ipsum)
- Specifies light or dark mode explicitly
Batch generation from full PRDs
When the prompt is a complete PRD document (product overview, design system, multiple screen specifications, build guide), Stitch will generate multiple screens in a single call — not just one. Stitch generates up to 10 screens per call. A PRD with 8 screen specs typically produces 5-7 screens automatically.
This is the same mechanism Stitch's web Ideate uses for "generate all screens". The PRD format acts as a comprehensive prompt that Stitch decomposes internally.
How to use batch generation:
-
Send the full PRD text as the
promptparameter -
Stitch generates up to ~10 screens per call from a multi-screen PRD
-
Two possible outcomes depending on whether the MCP response times out:
If response returns with data:
- Check
output_componentsfor continuation suggestions (e.g. "Yes, make them all", "Generate remaining screens") - Automatically call
generate_screen_from_textagain with the suggestion text as theprompt— the user already initiated generation, no need to re-confirm - Repeat until no more
output_componentssuggestions appear (max 3 continuation calls to prevent infinite loops)
If response returns empty (HTTP timeout):
- Generation is still running server-side — do NOT retry
- Wait 90-120 seconds, then call
list_screensto discover what was generated - If empty, wait another 60 seconds and retry the list call
- Generate any missing screens individually with focused prompts referencing the PRD's design system
- Check
Timing
Stitch generation takes 60–180 seconds for single screens and up to 5 minutes for multi-screen PRD generation. This is normal behavior, not a timeout.
- Do NOT retry during this window
- Do NOT assume failure if it takes > 60 seconds
- The MCP tool may return empty for long generations — check
list_screensafterward - If it fails: wait 90 seconds, check
list_screens, retry ONCE max if nothing appeared - Each call creates a new generation — retries mean duplicate screens
References
examples/desktop.md— Desktop dashboard prompts (SaaS analytics, admin panel)examples/mobile.md— Mobile app prompts (login, social feed, e-commerce)
What ships with it: 2 files
6.5 KB alongside SKILL.md
examples/
- desktop.md2.8 KB
- mobile.md3.8 KB
Gives 0 of the 12 instructions most mcp tooling skills give in ~1.4k tokens
Counted across 780 of the 1,136 authors here whose files we hold, read 2026-09-06
- Use Zod for input validationin 34 of 780, across 21 files
- Use stdio for local clientsin 27 of 780, across 10 files
- Restart Claude Code after configurationin 26 of 780, across 23 files
- Verify MCP server connection before using toolsin 23 of 780, across 17 files
- Define input schemas for every toolin 20 of 780, across 11 files
- Use Streamable HTTP for remote clientsin 18 of 780, across 8 files
- Pin SDK version in package.jsonin 17 of 780, across 6 files
- Keep server logic independent of transportin 16 of 780, across 6 files
- Verify SDK methods against official documentationin 15 of 780, across 5 files
- Format evaluation results as an XML filein 15 of 780, across 12 files
- Test servers using the MCP Inspectorin 15 of 780, across 14 files
- Create ten complex and independent evaluation questionsin 14 of 780, across 11 files
Said here and by no other author read
- Strip assets prefix for apply_design_system assetId
- Obtain a project ID before calling the tool
- Use the structured prompt format for all requests
- Use the recommended model ID for high fidelity
- Call list screens to retrieve generated results
- Wait up to five minutes for generation to complete
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.