mcp-sketch
mcp-sketch
English | 中文
Локальный инструмент, предоставляющий сервисы MCP и CLI для разбора ZIP-архивов HTML, экспортированных из Sketch-Meaxure, и извлечения информации о структуре дизайна.
SKILL
Рекомендуется скачать
skillsketch-html и настроить свою версию для анализа ZIP-файлов, экспортированных изSketch-Meaxure.Также можно использовать инструмент
skillsдля загрузки.
npx skills@latest add YamadaAoi/mcp-sketch -s sketch-htmlRelated MCP server: codesign-mcp
Заявление
Чтобы не сбивать с толку
AI, данный инструмент отфильтровывает часть бессмысленных слоев, однако не исключено, что некоторые полезные слои также могут быть отфильтрованы.Рекомендуется общаться с
UI-дизайнерами: сложные эффекты лучше нарезать как изображения; для простых эффектов используйте скругление углов (radius) для акцента, даже если это1.
Функции
Разбор ZIP-архивов HTML, экспортированных из Sketch, и извлечение структуры дизайна:
Поддержка фильтрации по страницам (page) и артбордам (artboard).
Поддержка разбора по указанной прямоугольной области.
Вывод JSON структуры дизайна и изображения для предварительного просмотра для использования AI.
Предоставление двух способов использования: сервис MCP и CLI.
Способ использования
Способ 1: Прямое использование через CLI
Использование в сочетании с npx:
npx -y mcp-sketch analyze -p /path/to/export.zipОпции команды
Опция | Сокращение | Описание |
|
| Путь к ZIP-архиву Sketch HTML (обязательно) |
| ID страницы | |
| Имя страницы | |
| ID артборда | |
| Имя артборда | |
|
| Указание прямоугольной области разбора, формат: |
| Путь для сохранения нарезанных изображений, по умолчанию | |
| Сохранять ли результаты анализа в локальный файл, по умолчанию |
Пример CLI
Если параметры содержат пробелы, их необходимо заключить в кавычки
# 分析 zip 中第一个页面第一个画板
npx -y mcp-sketch analyze -p "/path/to/export .zip"
# 分析指定页面
npx -y mcp-sketch analyze -p /path/to/export.zip --pn 首页
# 分析指定页面指定画板
npx -y mcp-sketch analyze -p /path/to/export.zip --pn 首页 --an 用户管理
# 分析指定区域
npx -y mcp-sketch analyze -p /path/to/export.zip --pn 首页 --an 用户管理 -r "[0,0,1920,64]"Способ 2: Сервис MCP
Для включения сервиса MCP необходимо установить переменную окружения MCP_MODE=1. Настройте его как локальный сервис MCP, чтобы инструменты AI могли вызывать его напрямую.
opencode:
{
"mcp": {
"mcp-sketch": {
"type": "local",
"command": ["npx", "-y", "mcp-sketch"],
"enabled": true,
"environment": {
"MCP_MODE": "1",
"LOG_LEVEL": "debug"
}
}
}
}Trae:
{
"mcpServers": {
"mcp-sketch": {
"command": "npx",
"args": ["-y", "mcp-sketch"],
"env": {
"MCP_MODE": "1"
}
}
}
}Параметры MCP
Используйте инструмент sketch_html_analyze для анализа ZIP-архива HTML, экспортированного из Sketch:
Параметр | Тип | Обязательно | Описание |
file_path | string | Да | Путь к ZIP-архиву Sketch HTML |
page_id | string | Нет | ID страницы |
page_name | string | Нет | Имя страницы |
artboard_id | string | Нет | ID артборда |
artboard_name | string | Нет | Имя артборда |
rect | number[] | Нет | Указание прямоугольной области разбора, формат |
assets_path | string | Нет | Путь для сохранения нарезанных изображений, по умолчанию |
save_result | boolean | Нет | Сохранять ли результаты анализа в локальный файл, по умолчанию |
Пример вызова MCP
Анализ первого артборда на первой странице ZIP-архива Sketch HTML:
sketch_html_analyze({ file_path: "/path/to/export.zip" })Анализ первого артборда на указанной странице:
sketch_html_analyze({ file_path: "/path/to/export.zip", page_name: "首页" })Анализ указанного артборда на указанной странице:
sketch_html_analyze({ file_path: "/path/to/export.zip", page_name: "首页", artboard_name: "用户管理" })Анализ указанной области указанного артборда на указанной странице, например, навигационной панели в верхней части артборда управления пользователями:
sketch_html_analyze({ file_path: "/path/to/export.zip", page_name: "首页", artboard_name: "用户管理", rect: [0, 0, 1920, 64] })Приоритет параметров
page:
page_id>page_name> первая страницаartboard:
artboard_id>artboard_name> первый артбордrect: Указывает прямоугольную область разбора; правило фильтрации заключается в том, что элемент будет разобран, если его
x,y,x+width,y+heightнаходятся внутри прямоугольника.
Результаты возврата
Инструмент возвращает текст: {artboard: {результат разбора}, previewPath: "путь к превью"}
artboardДанные артборда, включая информацию о слоях, стилях, изображениях и т.д.
previewPathИспользует
sharpв качествеoptionalDependenciesдля обработки изображений.Если установка не удалась (в крайних случаях, так как
sharpзависит отlibvips), будет возвращено исходное полное изображение артборда.Если установка прошла успешно, размер будет изменен, область
rect(если указана) будет вырезана и сжата в форматwebp.Обрабатывается только превью, нарезка
sketchне затрагивается.
Расположение выходных файлов
Разобранные изображения по умолчанию сохраняются в директории
src/assets/sketch/(можно настроить черезassets_path).Разобранное содержимое дизайна по умолчанию сохраняется в локальный JSON-файл (для ручной проверки), папка хранения по умолчанию находится на том же уровне, что и ZIP-архив, и имеет то же имя.
Рекомендации по использованию
Используйте модели с поддержкой мультимодальности, которые могут считывать превью для корректировки структуры дизайна.
Объем данных, передаваемых AI, не должен превышать
50 КБдля повышения точности анализа AI (локально сохраненный JSON-файл отформатирован, а для AI передается компактный формат).Рекомендуется использовать параметр
rectдля анализа конкретных областей артборда, модульной разработки и повышения детализации.
Руководство
Available Tools
1 toolsketch_html_analyzesketch_html_analyzeC
Analyze sketch html files and return the design structure of corresponding pages or drawing boards
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | sketch html zip file path(required) | |
| page_id | No | page id (optional) | |
| page_name | No | page name (optional) | |
| artboard_id | No | artboard id (optional) | |
| artboard_name | No | artboard name (optional) | |
| rect | No | rect [x, y, width, height] (optional) | |
| assets_path | No | assets path (optional), default src/assets/sketch | |
| saveResult | No | save analysis result (optional), default true |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but fails to specify critical traits: it doesn't clarify that the tool likely extracts/reads zip files (implied by 'sketch html zip file path'), doesn't explain what the saveResult parameter actually saves or where, and doesn't disclose whether this is a read-only operation or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no redundant words. It is appropriately front-loaded with the verb 'Analyze'. However, the density means it sacrifices clarity on parameter relationships and behavioral details that would require additional sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool handling file processing with multiple optional filters (page, artboard, rect) and persistence options (saveResult), the description is inadequate. With no output schema provided, the description should explain the return format and structure, but it omits this entirely, leaving the agent uncertain about what data structure it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, establishing a baseline of 3. The description adds marginal semantic value by referencing 'pages or drawing boards' which contextualizes the page_id and artboard_id parameters, but doesn't explain the rect parameter's purpose (cropping vs selection) or the assets_path behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Analyze') and resource ('sketch html files'), and mentions the return value ('design structure'). However, 'design structure' remains somewhat vague—it doesn't specify whether this returns layer hierarchies, CSS properties, or component trees, which would help the agent understand the utility of the output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'pages or drawing boards' which implicitly maps to the page_id/artboard_id parameters, but provides no explicit guidance on when to use this tool versus alternatives, or how to use the filtering options (e.g., whether page_id and page_name are mutually exclusive or complementary).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.4- First observed
sketch_html_analyze
TDQS
Scored across 1 tool
With only one tool in the set, there is no possibility of confusion or overlap with other tools within this server.
The single tool uses clear snake_case with a descriptive verb suffix, but with only one data point, a broader naming pattern cannot be established.
A single analysis tool is too few for the apparent scope implied by the server name 'mcp-sketch', suggesting a severely limited integration surface.
The server only supports analyzing HTML exports, lacking any functionality for creating, editing, or exporting native Sketch files, representing significant gaps for design workflow automation.
Maintenance
Related MCP Connectors
HTML-to-PDF MCP server — render pixel-faithful PDFs from HTML.
MCP server for web extraction and rendering via AceDataCloud WebExtrator
MCP server for visual regression testing: triage a PR's UI diffs from your coding agent.
MCP server to assist with JxBrowser development.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server to provide Sketch layout information to AI coding agents like Cursor4 npm72MIT
- AlicenseAqualityBmaintenanceLocal MCP server for Tencent CoDesign sharing links, exposing artboards, layer specs, preview images, and exported slices to support design-to-code workflows.851 npm14MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for ingesting UI screenshots, Figma MCP node JSON, or hybrid Figma-plus-screenshot sources into a cross-platform design-to-code artifact pipeline.119 npmMIT
- AlicenseNot gradedqualityBmaintenanceMCP server for the MiroMiro design-extraction API. It extracts real design data from live websites—including brand colors, fonts, tokens, SVGs, images, and component code—so AI agents can build from actual values.95 npmMIT