Skip to main content
Glama

mcp-sketch

English | 中文

Ein lokales Tool, das sowohl als MCP-Dienst als auch als CLI verfügbar ist, um von Sketch-Meaxure exportierte HTML-Zip-Archive zu parsen und Designstrukturinformationen zu extrahieren.

SKILL

  • Es wird empfohlen, den sketch-html skill herunterzuladen und eine eigene Version anzupassen, um die von Sketch-Meaxure exportierten Zip-Dateien zu analysieren.

  • Alternativ kann das skills-Tool zum Herunterladen verwendet werden.

npx skills@latest add YamadaAoi/mcp-sketch -s sketch-html

Related MCP server: codesign-mcp

Hinweis

  • Um die KI nicht zu verwirren, filtert dieses Tool einige bedeutungslose Ebenen heraus; es kann jedoch nicht ausgeschlossen werden, dass dabei auch einige relevante Ebenen entfernt werden.

  • Es wird empfohlen, sich mit dem UI-Designer abzustimmen. Komplexe Effekte sollten nach Möglichkeit als Bild exportiert werden; einfache Effekte sollten mit einem Radius (radius) zur Hervorhebung versehen werden, selbst wenn dieser nur 1 beträgt.

Funktionen

  • Parsen von Sketch-exportierten HTML-Zip-Archiven und Extrahieren der Designstruktur

    • Unterstützung für Filterung nach Seite (page) und Zeichenfläche (artboard)

    • Unterstützung für die Analyse spezifischer rechteckiger Bereiche

    • Ausgabe der Designstruktur als JSON und Vorschaubild für die KI-Referenz

  • Bereitstellung als MCP-Dienst und CLI-Tool

Verwendung

Methode 1: Direkte Verwendung über CLI

Verwendung in Kombination mit npx:

npx -y mcp-sketch analyze -p /path/to/export.zip

Befehlsoptionen

Option

Abkürzung

Beschreibung

-p, --file_path <PATH>

-p

Pfad zum Sketch HTML-Zip-Archiv (erforderlich)

--pid, --page_id

Seiten-ID

--pn, --page_name

Seitenname

--aid, --artboard_id

Zeichenflächen-ID

--an, --artboard_name

Zeichenflächenname

-r, --rect

-r

Definiert den zu analysierenden rechteckigen Bereich, Format: [x,y,width,height]

--ap, --assets_path

Speicherpfad für exportierte Assets, Standard: src/assets/sketch

--sr, --save_result

Ob das Analyseergebnis in einer lokalen Datei gespeichert werden soll, Standard: false

CLI-Beispiel

Wenn Parameter Leerzeichen enthalten, müssen sie in Anführungszeichen gesetzt werden.

# 分析 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]"

Methode 2: MCP-Dienst

Die Umgebungsvariable MCP_MODE=1 muss gesetzt sein, um den MCP-Dienst zu aktivieren. Konfigurieren Sie ihn als lokalen MCP-Server, damit KI-Tools direkt darauf zugreifen können.

  • 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-Parameter

Verwenden Sie das Tool sketch_html_analyze, um das aus Sketch exportierte HTML-Zip-Archiv zu analysieren:

Parameter

Typ

Erforderlich

Beschreibung

file_path

string

Ja

Pfad zum Sketch HTML-Zip-Archiv

page_id

string

Nein

Seiten-ID

page_name

string

Nein

Seitenname

artboard_id

string

Nein

Zeichenflächen-ID

artboard_name

string

Nein

Zeichenflächenname

rect

number[]

Nein

Definiert den zu analysierenden rechteckigen Bereich, Format: [x, y, width, height] (x, y sind Koordinaten der oberen linken Ecke, width, height sind Breite und Höhe des Rechtecks)

assets_path

string

Nein

Speicherpfad für exportierte Assets, Standard: src/assets/sketch

save_result

boolean

Nein

Ob das Analyseergebnis in einer lokalen Datei gespeichert werden soll, Standard: false

MCP-Aufrufbeispiele

  • Analyse der ersten Zeichenfläche auf der ersten Seite des Sketch HTML-Zip-Archivs:

sketch_html_analyze({ file_path: "/path/to/export.zip" })
  • Analyse der ersten Zeichenfläche einer bestimmten Seite:

sketch_html_analyze({ file_path: "/path/to/export.zip", page_name: "首页" })
  • Analyse einer bestimmten Zeichenfläche auf einer bestimmten Seite:

sketch_html_analyze({ file_path: "/path/to/export.zip", page_name: "首页", artboard_name: "用户管理" })
  • Analyse eines bestimmten Bereichs einer bestimmten Zeichenfläche auf einer bestimmten Seite, z. B. die obere Navigationsleiste der Benutzerverwaltungs-Zeichenfläche:

sketch_html_analyze({ file_path: "/path/to/export.zip", page_name: "首页", artboard_name: "用户管理", rect: [0, 0, 1920, 64] })

Parameterpriorität

  • page: page_id > page_name > erste Seite

  • artboard: artboard_id > artboard_name > erste Zeichenfläche

  • rect: Definiert den zu analysierenden rechteckigen Bereich. Die Filterregel besagt, dass Elemente analysiert werden, sobald sich ihr x,y,x+width,y+height innerhalb des Rechtecks befindet.

Rückgabeergebnisse

Das Tool gibt Text zurück: {artboard: {Analyseergebnis}, previewPath: "Pfad zum Vorschaubild"}

  • artboard

    • Daten der Zeichenfläche, einschließlich Ebenen, Stilen, Bildern usw.

  • previewPath

    • Verwendet sharp als optionalDependencies für die Bildverarbeitung.

    • Falls die Installation fehlschlägt (Extremfall, da sharp von libvips abhängt), wird das ursprüngliche vollständige Zeichenflächenbild zurückgegeben.

    • Bei erfolgreicher Installation wird die Größe angepasst, der rect-Bereich (falls angegeben) zugeschnitten und als webp komprimiert zurückgegeben.

    • Verarbeitet nur das Vorschaubild, führt keine automatische Verarbeitung der sketch-Assets durch.

Speicherort der Ausgabedateien

  • Die analysierten Assets werden standardmäßig im Verzeichnis src/assets/sketch/ gespeichert (kann über assets_path angepasst werden).

  • Der analysierte Designinhalt wird standardmäßig in einer lokalen JSON-Datei gespeichert (zur manuellen Überprüfung). Der Ordner befindet sich standardmäßig auf derselben Ebene wie das Zip-Archiv und trägt denselben Namen.

Empfehlungen zur Verwendung

  • Verwenden Sie Modelle, die multimodale Eingaben unterstützen, um das Vorschaubild zu lesen und die Designstruktur zu korrigieren.

  • Die an die KI übermittelte Datenmenge sollte 50KB nicht überschreiten, um die Genauigkeit der KI-Analyse zu erhöhen (die lokal gespeicherte JSON-Datei ist formatiert, an die KI wird ein kompaktes Format übermittelt).

  • Es wird empfohlen, den rect-Parameter zu verwenden, um spezifische Bereiche innerhalb einer Zeichenfläche zu analysieren, um eine modulare Entwicklung zu fördern und die Granularität zu erhöhen.

Anleitung

Available Tools

1 tool
sketch_html_analyzesketch_html_analyzeC

Analyze sketch html files and return the design structure of corresponding pages or drawing boards

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYessketch html zip file path(required)
page_idNopage id (optional)
page_nameNopage name (optional)
artboard_idNoartboard id (optional)
artboard_nameNoartboard name (optional)
rectNorect [x, y, width, height] (optional)
assets_pathNoassets path (optional), default src/assets/sketch
saveResultNosave analysis result (optional), default true

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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. 1 tool updatev1.0.4
    • First observedsketch_html_analyze

TDQS

B3/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool in the set, there is no possibility of confusion or overlap with other tools within this server.

Naming Consistency4/5

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.

Tool Count2/5

A single analysis tool is too few for the apparent scope implied by the server name 'mcp-sketch', suggesting a severely limited integration surface.

Completeness2/5

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

ActivitySlowing
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Local MCP server for Tencent CoDesign sharing links, exposing artboards, layer specs, preview images, and exported slices to support design-to-code workflows.
    8
    51 npm
    14
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP 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 npm
    MIT