Sketch MCP
OfficialAllows interaction with Sketch designs, enabling exploration, iteration, data replacement, asset organization, and code generation.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sketch MCPlist all artboards in my Sketch file"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sketch MCP
The official Sketch MCP server that allows AI clients to interact with your designs:
Explore designs and Libraries — compare code to components to Sketch and fix inconsistencies
Expand and iterate on existing designs — try out new directions, generate alternative flows, and more
Replace placeholders with lifelike data, or even pull from real data sets
Organize and export assets
Generate screens and components as code
…and much more.
This server communicates with the Sketch app, so please ensure the app is running andthe MCP Server option is turned on.
Usage
Claude Desktop (Mac)
Go to Customize > Connectors, press the
+button, choose "Browse connectors".Search for "Sketch" and press "Install".
Related MCP server: Talk to Figma MCP
Development
From a technical standpoint this is an stdio MCP server that simply forwards messages to and from the local Streamable HTTP MCP server that is part of the Sketch Mac app. This "proxy" server is needed for clients like Claude Desktop that only support stdio and encrypted (HTTPS) remote MCPs.
Setup
npm ciRun the server
Launch Sketch and activate the MCP server option.
npm run start
Archive
This will generate the .mcpb archive ready for distribution:
npm run packAvailable Tools
2 toolsget_selection_as_imageA
Returns a visual representation of currently selected Sketch layers as a PNG image. (This is a placeholder tool description provided while the Sketch MCP server is not available. Try to re-fetch the tool list after the user has started Sketch and enabled the MCP Server)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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. It only states the output (PNG image) and acknowledges it's a placeholder, but lacks details on side effects, permissions, or whether it is read-only.
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 concise with two sentences: the first clearly states the tool's purpose, and the second adds useful context about its placeholder status. Every sentence is necessary and front-loaded.
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?
Given the low complexity (no parameters, no output schema), the description adequately covers the tool's purpose and current limitation. However, it could mention the return format in more detail (e.g., resolution, encoding).
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 tool has no parameters, and the baseline score for 0 parameters is 4. The description does not need to add parameter semantics, so it adequately fulfills this dimension.
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 states the tool returns a visual representation of currently selected Sketch layers as a PNG image. It is a specific verb+resource combination that distinguishes it from sibling tool run_code.
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 includes a hint that the tool is a placeholder and suggests re-fetching after Sketch is started, but it does not provide explicit guidance on when to use this tool versus the sibling tool run_code, nor does it mention conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_codeB
Run ECMAScript 2020 Sketch plugin scripts. (This is a placeholder tool description provided while the Sketch MCP server is not available. Try to re-fetch the tool list after the user has started Sketch and enabled the MCP Server)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as return values, side effects, or authorization needs. It only states it runs scripts.
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 first sentence is concise and clear; the second sentence provides necessary context about the placeholder status. No wasted words.
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?
Given no parameters and no output schema, the description should explain script specification and execution behavior. It only states the purpose and notes unavailability, leaving significant gaps.
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?
With zero parameters, baseline is 4, but the description does not explain how the script is specified—it only mentions 'scripts' without clarifying input mechanism, reducing clarity.
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 states the verb 'run' and resource 'ECMAScript 2020 Sketch plugin scripts', and it naturally distinguishes from the sibling tool 'get_selection_as_image' which deals with selection, not execution.
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?
No guidance is provided on when to use this tool versus alternatives; the placeholder note about unavailability is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have completely different purposes: one captures a visual representation of selected layers, the other executes arbitrary scripts. There is no overlap or ambiguity.
Both tool names follow a consistent verb_noun pattern using snake_case: get_selection_as_image and run_code. The naming is clear and predictable.
With only 2 tools, the server feels underpowered for a design tool like Sketch. Typical MCP servers have at least a handful of tools covering core operations.
The server lacks obvious operations for a Sketch MCP (e.g., creating layers, modifying documents, exporting). The run_code tool acts as a catch-all, but the surface is incomplete for structured workflows.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
An MCP server that integrates with Discord to provide AI-powered features.
The Figma MCP server brings Figma design context directly into your AI workflow.
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for Flux AI image generation
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server that connects AI clients to Figma, enabling real-time reading, creation, and modification of designs using natural language.MIT
- AlicenseBqualityDmaintenanceAn MCP server that integrates AI agents with Figma, enabling reading and programmatic modification of designs.41MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that gives AI assistants structured access to a design system's tokens, components, guidelines, and patterns, enabling them to read, lint, and author design system data.1MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that gives AI coding agents access to Figma design data, enabling pixel-perfect implementation of designs through structured data extraction, image downloads, and design token retrieval.541MIT
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/sketch-hq/sketch-mcp-bundle'
If you have feedback or need assistance with the MCP directory API, please join our Discord server