Sketch Context MCP是一个模型上下文协议(MCP)服务器,用于将Sketch设计与Cursor、Cline或Windsurf等集成开发环境(IDE)集成。它允许IDE访问和解释Sketch设计文件,实现由人工智能驱动的从设计到代码的工作流程。
# 全局安装
npm install -g sketch-context-mcp
# 使用本地Sketch文件运行
sketch-context-mcp --local-file=/path/to/your/file.sketch
# 使用Sketch Cloud访问运行
sketch-context-mcp --sketch-api-key=
或者直接使用npx运行:
npx sketch-context-mcp --local-file=/path/to/your/file.sketch
.sketchplugin文件,将其安装到Sketch中。要在Cursor中使用此工具,请按以下步骤操作:
sketch-context-mcp --local-file=/path/to/your/file.sketch
http://localhost:3333/sse。# 全局安装
npm install -g sketch-context-mcp
# 使用本地Sketch文件运行
sketch-context-mcp --local-file=/path/to/your/file.sketch
# 使用Sketch Cloud访问运行
sketch-context-mcp --sketch-api-key=
或者直接使用npx运行:
npx sketch-context-mcp --local-file=/path/to/your/file.sketch
.sketchplugin文件,将其安装到Sketch中。在Cursor中使用Sketch Context MCP的基础操作示例:
# 启动MCP服务器
sketch-context-mcp --local-file=/path/to/your/file.sketch
在Sketch中连接到服务器,然后在Cursor中连接到MCP服务器,即可开始使用。
在Cursor中使用自然语言命令创建和修改设计元素:
# 创建一个宽度为300、高度为200的蓝色矩形
"Create a blue rectangle with width 300 and height 200"
# 添加一个内容为 'Hello World' 的文本层
"Add a text layer with the content 'Hello World'"
本项目由两个主要组件组成:
服务器为Cursor提供了以下工具:
get_file:检索Sketch文件或其中特定节点的内容。list_components:列出Sketch文件中的所有组件/符号。get_selection:获取当前所选元素的信息。create_rectangle:创建具有指定尺寸和属性的新矩形。create_text:创建具有自定义内容和样式的新文本元素。这些工具使Cursor能够:
服务器可以使用环境变量(通过.env文件)或命令行参数进行配置。命令行参数优先于环境变量。
SKETCH_API_KEY:你的Sketch API访问令牌(访问Sketch Cloud文件必需)PORT:服务器运行的端口(默认:3333)LOCAL_SKETCH_PATH:本地Sketch文件的路径(替代--local-file参数)DEBUG_LEVEL:设置日志详细程度(默认:'info')--version:显示版本号--sketch-api-key:你的Sketch API访问令牌--port:服务器运行的端口--stdio:以命令模式运行服务器,而不是默认的HTTP/SSE模式--help:显示帮助菜单连接选项卡允许你连接到Sketch Context MCP服务器:
选择选项卡显示Sketch文档中所选图层的信息:
关于选项卡提供了有关插件的信息以及如何使用它的说明。
一旦Sketch和Cursor都连接到MCP服务器:
要启用详细日志记录,请设置DEBUG环境变量:
DEBUG=sketch-mcp:* npx sketch-context-mcp
Sketch API密钥是访问Sketch Cloud托管文件所需的OAuth访问令牌。按照以下步骤获取和使用该令牌:
使用你的Sketch Cloud凭证(电子邮件和密码),通过向身份验证端点发出POST请求来生成访问令牌:
curl -X "POST" "https://auth.sketch.cloud/oauth/token" \
-H 'Content-Type: application/json' \
-d '{
"email": "YOUR_EMAIL",
"password": "YOUR_PASSWORD",
"grant_type": "password"
}'
将YOUR_EMAIL和YOUR_PASSWORD替换为你的Sketch Cloud账户凭证。
响应将包含一个access_token。此令牌用作你访问Sketch Cloud托管文件的API密钥。
为了安全起见,建议将令牌作为环境变量传递:
export SKETCH_API_KEY=
或者将其作为命令行参数包含:
sketch-context-mcp --sketch-api-key=
如果你的令牌过期,请使用初始响应中提供的refresh_token获取新的访问令牌。
为确保你的API密钥安全,请遵循以下准则:
.env文件中,并使用dotenv等库加载它:SKETCH_API_KEY=
确保将.env文件添加到.gitignore中,以避免意外暴露。Sketch API密钥是访问Sketch Cloud托管文件所必需的。服务器使用此密钥对Sketch Cloud的请求进行身份验证,并检索必要的设计数据。在进行API请求时,密钥通过Authorization头安全地传递。
本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。
⚠️ 重要提示
本项目目前处于测试阶段,可能不完全稳定。
💡 使用建议
- 确保你的Node.js和Sketch版本符合要求,以避免兼容性问题。
- 在使用Sketch Cloud文件时,妥善保管好你的API密钥,遵循安全最佳实践。
- 如果遇到问题,可以通过设置DEBUG环境变量查看详细日志,帮助排查问题。