mcp-sketch
The mcp-sketch server provides a single tool (sketch_html_analyze) to parse Sketch-exported HTML zip files and extract structured design information for AI-assisted development.
Parse Sketch HTML exports: Analyze Sketch-exported HTML zip archives to extract design structure as JSON (containing metadata, layers, styles, and image data)
Filter by page/artboard: Select specific pages via
page_idorpage_name, and artboards viaartboard_idorartboard_name(falls back to first available if not specified; IDs take priority over names)Target specific regions: Use the
rectparameter ([x, y, width, height]) to analyze only elements within a rectangular area — recommended for modular, component-level workflows and improved AI accuracyGenerate preview images: Returns a preview image path for multimodal AI reference
Extract assets: Save sliced images to a custom or default path (
src/assets/sketch) viaassets_pathSave results locally: Optionally persist the analysis JSON to disk via
saveResult(default:true)
Allows for parsing and extracting design structure information from HTML zip archives exported from Sketch, providing detailed data on pages, artboards, layers, and styles.
mcp-sketch
A local tool providing both MCP server and CLI modes to parse HTML zip archives exported from Sketch-Meaxure and extract design structure information.
SKILL
It is recommended to download the sketch-html
skilland customize your own version to analyze zip files exported fromSketch-Meaxure.You can also use the
skillstool to download it.
npx skills@latest add YamadaAoi/mcp-sketch -s sketch-htmlRelated MCP server: codesign-mcp
Disclaimer
To avoid confusing the
AI, this tool filters out some meaningless layers, but it does not rule out the possibility of filtering out some valid layers.It is recommended to communicate with
UIdesigners; for complex effects, try to use sliced images; for simple effects, set aradiusfor emphasis, even if it is just1.
Features
Parse Sketch exported HTML zip archives and extract design structure
Supports filtering by page and artboard
Supports parsing specified rectangular areas
Outputs design structure JSON and preview images for AI reference
Provides both MCP server and CLI usage modes
Usage
Method 1: Direct CLI Usage
Use with npx:
npx -y mcp-sketch analyze -p /path/to/export.zipCommand Options
Option | Abbreviation | Description |
|
| Path to the Sketch HTML zip archive (Required) |
| Page ID | |
| Page name | |
| Artboard ID | |
| Artboard name | |
|
| Specify the rectangular area to parse, format: |
| Path to store sliced images, default | |
| Whether to save analysis results to a local file, default |
CLI Example
If parameters contain spaces, they must be enclosed in quotes
# 分析 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]"Method 2: MCP Server
You must set the environment variable MCP_MODE=1 to enable the MCP server. Configure it as a local MCP server to allow AI tools to call it directly.
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 Parameters
Use the sketch_html_analyze tool to analyze the HTML zip archive exported from Sketch:
Parameter | Type | Required | Description |
file_path | string | Yes | Path to the Sketch HTML zip archive |
page_id | string | No | Page ID |
page_name | string | No | Page name |
artboard_id | string | No | Artboard ID |
artboard_name | string | No | Artboard name |
rect | number[] | No | Specify the rectangular area to parse, format: |
assets_path | string | No | Path to store sliced images, default |
save_result | boolean | No | Whether to save analysis results to a local file, default |
MCP Call Examples
Analyze the first artboard of the first page in the Sketch HTML zip archive:
sketch_html_analyze({ file_path: "/path/to/export.zip" })Analyze the first artboard of a specified page:
sketch_html_analyze({ file_path: "/path/to/export.zip", page_name: "首页" })Analyze a specified artboard on a specified page:
sketch_html_analyze({ file_path: "/path/to/export.zip", page_name: "首页", artboard_name: "用户管理" })Analyze a specified area of a specified artboard on a specified page, e.g., parsing the top navigation bar of a user management artboard:
sketch_html_analyze({ file_path: "/path/to/export.zip", page_name: "首页", artboard_name: "用户管理", rect: [0, 0, 1920, 64] })Parameter Priority
page:
page_id>page_name> first pageartboard:
artboard_id>artboard_name> first artboardrect: Specifies the rectangular area to parse. The filtering rule is that as long as the element's
x, y, x+width, y+heightare within the rectangle, it will be parsed.
Return Results
The tool returns text: {artboard: {analysis_result}, previewPath: "preview_image_path"}
artboardArtboard data, including layers, styles, images, and other information
previewPathUses
sharpas anoptionalDependenciesfor image processing.If installation fails (extreme case, as
sharpdepends onlibvips), the original full artboard image will be returned.If installation succeeds, it will resize, crop the
rectarea (if specified), and compress it intowebpformat.Only processes preview images; does not handle
sketchslices.
Output File Location
Parsed sliced images are saved in the
src/assets/sketch/directory by default (can be customized viaassets_path)Parsed design content is saved to a local JSON file by default (for manual review), stored in a folder with the same name as the zip file at the same level
Usage Suggestions
Use models that support multi-modality to read preview images and correct the design structure
Keep the data volume provided to the AI under
50KBto improve AI analysis accuracy (the locally stored JSON file is formatted, while the data passed to the AI is in a compact format)It is recommended to use the
rectparameter to parse specific areas within an artboard for modular development and improved granularity.
Guide
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. Dates show when Glama detected each change.
1 tool update
v1.0.4- First observed
sketch_html_analyze
TDQS
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.
9118MCP server to assist with JxBrowser development.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server to provide Sketch layout information to AI coding agents like Cursor1372MIT
- AlicenseAqualityBmaintenanceLocal MCP server for Tencent CoDesign sharing links, exposing artboards, layer specs, preview images, and exported slices to support design-to-code workflows.822411MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for ingesting UI screenshots, Figma MCP node JSON, or hybrid Figma-plus-screenshot sources into a cross-platform design-to-code artifact pipeline.178MIT
- 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.326MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/YamadaAoi/mcp-sketch'
If you have feedback or need assistance with the MCP directory API, please join our Discord server