关于 stitch-mcp-get-project
用于获取 Stitch 项目元数据的技能,包含设计主题和屏幕实例信息。可在创建风格一致的新屏幕前了解项目,也可验证项目引用。
主要功能
- 01获取项目元数据
- 02查看设计主题和屏幕实例
- 03从网址或引用中解析项目 ID
- 04利用主题数据保持屏幕风格一致
适用场景
- 01添加屏幕前查看项目
- 02了解项目的设计主题
- 03验证用户提供的网址所指项目
- 04从项目元数据中查找屏幕 ID
MCP 相关
通过 Stitch MCP 的 get_project 工具获取项目信息,项目名称使用 projects/ID 格式。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ gabelul/ stitch-kit --skill stitch-mcp-get-project安装后在 Claude Code 中输入/stitch-mcp-get-project确认已加载。
详细介绍
Stitch MCP — 获取项目
获取特定 Stitch 项目的完整元数据。在生成其他屏幕前,可用于了解现有项目的主题和屏幕列表。
关键前提
仅在用户明确提到“Stitch”时使用此技能。
如果你已经同时拥有 projectId 和 screenId,请勿调用此工具。 此时直接调用 stitch-mcp-get-screen——效率更高。
何时使用
- 用户提供了 Stitch 项目 URL,而你需要获取项目详情
- 生成风格一致的新屏幕前,需要了解现有设计主题
- 继续操作前,验证项目是否存在
步骤 1:从上下文中解析项目 ID
用户可能会以几种格式提供项目引用——始终将其提取为 projects/ID 格式:
| 输入格式 | → get_project 的参数 |
|---|---|
3780309359108792857(数字) | projects/3780309359108792857 |
projects/3780309359108792857 | projects/3780309359108792857(原样使用) |
https://stitch.withgoogle.com/projects/3780309359108792857 | 提取 ID → projects/3780309359108792857 |
步骤 2:调用 MCP 工具
{
"name": "get_project",
"arguments": {
"name": "projects/3780309359108792857"
}
}
输出架构
{
"name": "projects/3780309359108792857",
"title": "Analytics Dashboard",
"createTime": "2024-11-10T09:00:00Z",
"updateTime": "2024-11-15T10:30:00Z",
"deviceType": "DESKTOP",
"visibility": "PRIVATE",
"projectType": "TEXT_TO_UI",
"origin": "STITCH",
"metadata": {
"isRemixed": false,
"userRole": "OWNER"
},
"designTheme": {
"colorMode": "LIGHT",
"customColor": "#6366F1",
"colorVariant": "TONAL_SPOT",
"roundness": "ROUND_TWELVE",
"saturation": 3,
"spacingScale": 1,
"headlineFont": "INTER",
"bodyFont": "INTER",
"labelFont": "INTER",
"font": "INTER",
"headlineFontFamily": "Inter",
"bodyFontFamily": "Inter",
"labelFontFamily": "Inter",
"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内容已截断——实际内容是一份完整的自动生成设计系统文档(通常超过 500 行)。namedColors通常包含 40 多个语义令牌;此处仅展示最常见的部分。
DesignTheme 字段参考
| 字段 | 类型 | 值 / 说明 |
|---|---|---|
colorMode | 枚举 | LIGHT、DARK |
customColor | 字符串 | 十六进制种子颜色(例如 #6366F1)。这是颜色种子——名称不是 primaryColor |
colorVariant | 枚举 | MONOCHROME、NEUTRAL、TONAL_SPOT、VIBRANT、EXPRESSIVE、FIDELITY、CONTENT、RAINBOW、FRUIT_SALAD |
roundness | 枚举 | ROUND_FOUR、ROUND_EIGHT、ROUND_TWELVE、ROUND_FULL |
spacingScale | 数字 | 0–3(密度乘数) |
headlineFont | 枚举 | 68 种字体:INTER、GEIST、DM_SANS、MANROPE、PLUS_JAKARTA_SANS、WORK_SANS、SPACE_GROTESK、SORA、OUTFIT、RALEWAY、QUICKSAND、MONTSERRAT、OSWALD、PLAYFAIR_DISPLAY、MERRIWEATHER、NOTO_SERIF、EB_GARAMOND、LITERATA、SOURCE_SERIF_4、SOURCE_SANS_3、NUNITO_SANS、JETBRAINS_MONO、BEBAS_NEUE、ANTON、ARCHIVO_NARROW——完整的 68 项列表请参阅 stitch-ued-guide |
bodyFont | 枚举 | 同一组 68 种字体 |
labelFont | 枚举 | 同一组 68 种字体 |
font | 枚举 | 已弃用——旧版单字体字段,使用相同的枚举 |
namedColors | 对象 | 40 多个语义颜色令牌(primary、on_primary、surface、surface_container、outline、error 等) |
overridePrimaryColor | 字符串 | 十六进制覆盖色;未使用时为空字符串 |
overrideSecondaryColor | 字符串 | 十六进制覆盖色;未使用时为空字符串 |
overrideTertiaryColor | 字符串 | 十六进制覆盖色;未使用时为空字符串 |
overrideNeutralColor | 字符串 | 十六进制覆盖色;未使用时为空字符串 |
backgroundLight | 字符串 | 浅色模式的十六进制背景色 |
backgroundDark | 字符串 | 深色模式的十六进制背景色 |
description | 字符串 | 主题的简短美学描述 |
designMd | 字符串 | 自动生成的设计系统 Markdown——完整的令牌规范,可能非常长 |
spacing | 对象 | 可选。间距令牌名称 → CSS 值的映射(例如 {"sm": "8px"}) |
typography | 对象 | 可选。排版层级名称(例如 h1、body)→ 排版令牌(fontFamily、fontSize、fontWeight、letterSpacing、lineHeight,均为可选字符串) |
项目级字段
| 字段 | 类型 | 值 / 备注 |
|---|---|---|
deviceType | 字符串 | MOBILE、DESKTOP、TABLET、AGNOSTIC 或 DEVICE_TYPE_UNSPECIFIED |
visibility | 枚举 | PRIVATE、PUBLIC |
projectType | 枚举 | TEXT_TO_UI、PROJECT_DESIGN 等 |
origin | 枚举 | STITCH、IMPORTED_FROM_GALILEO |
metadata.isRemixed | 布尔值 | 此项目是否由其他项目重新混编而来 |
metadata.userRole | 字符串 | OWNER、VIEWER 等 |
ScreenInstance 字段
| 字段 | 类型 | 备注 |
|---|---|---|
id | 字符串 | 数字屏幕 ID |
sourceScreen | 字符串 | 源屏幕的路径引用 |
type | 枚举 | SCREEN_INSTANCE、DESIGN_SYSTEM_INSTANCE、GROUP_INSTANCE |
width / height | 数字 | 像素尺寸 |
x / y | 数字 | 画布位置 |
hidden | 布尔值 | 在项目中是否隐藏 |
sourceAsset | 字符串 | 存在于 DESIGN_SYSTEM_INSTANCE 类型中,引用设计系统资源 |
使用主题数据
生成新屏幕时,请使用 designMd 和 namedColors;它们包含此项目权威的设计系统。将 namedColors 传递给 stitch-design-system,即可立即提取令牌。
获取项目后
- 记录
designTheme,用它确保新屏幕在视觉上保持一致 - 记录
screenInstances列表;如果需要检查特定屏幕,请提取其中的 screenId 值 - 使用
stitch-mcp-list-screens查看更丰富的屏幕列表,其中包括缩略图
评论
支持 Markdown