Sketch Context MCP 服务端
使用说明(Markdown 格式)
-
项目简介
- 本项目实现了一个基于 MCP 的服务器端,能够通过统一的接口向 LLM 客户端提供 Sketch 文件相关的资源、执行设计工具并进行实时数据传输,旨在支持 AI 驱动的设计到代码工作流。服务器支持本地文件和 Sketch Cloud 云端文件的读取,以及通过 WebSocket 和 SSE 与客户端进行双向通信。
-
主要功能点
- MCP 协议核心处理:实现对常见 MCP 任务的接收与响应(如获取工具、执行工具、健康与连接状态)。
- 资源管理与访问:能够读取本地 Sketch 文件或从 Sketch Cloud 获取云端文件,并解析为可用的数据结构。
- 工具注册与执行:内置工具集合,包括 get_file、list_components、get_selection、create_rectangle、create_text 等,支持将命令分发给连接的客户端并返回结果。
- 实时通信与事件推送:通过 WebSocket 以及 Server-Sent Events 提供实时交互能力,支持多客户端和通道(频道)的消息转发。
- 健康与配置监控:提供健康检查、配置验证以及运行时日志,方便运维与调试。
- 容错与日志:包含多种错误类型、日志等级控制,以及对异常消息的安全处理。
-
安装步骤
- 确保环境已安装 Node.js(推荐 v14 及以上)。
- 将仓库内容克隆到本地,然后在项目根目录执行:
- npm install
- 根据需要配置环境变量或启动参数,例如 Sketch Cloud 的 API Key、端口、文件路径等。
- 启动服务器(示例:本地 Sketch 文件):
- npx sketch-context-mcp --local-file=/path/to/your/file.sketch
- 也可以使用本地安装全局命令(如果通过 npm 全局安装):
- sketch-context-mcp --local-file=/path/to/your/file.sketch
-
服务器配置(供 MCP 客户端使用的启动信息,JSON 格式) { "server_name": "Sketch Context MCP Server", "command": "npx", "args": [ "sketch-context-mcp", "--local-file=/path/to/your/file.sketch", "--port=3333", "--sketch-api-key=YOUR_SKETCH_API_KEY" ] // 注释:端口、文件路径和 Sketch Cloud API Key 根据实际环境配置。若使用本地文件,可省略 --sketch-api-key。 }
-
基本使用方法
- 连接方式
- 对 Cursor/IDE:通过 SSE 端点 http://localhost:3333/sse 建立上下文连接,服务器会提供连接信息与能力声明。
- 对 Sketch 插件:通过 WebSocket 与端口进行双向通信,实时发送/接收命令与结果。
- 常用操作示例
- 获取工具列表:发送 type: "get_tools" 的请求,即可获取可用工具清单。
- 执行工具:
- get_file:提供 url(Sketch 文件地址)与可选的 nodeId,获取文档或指定节点信息。
- list_components:提供 url,列出 Sketch 文件中的组件/符号。
- get_selection:提供 url 与 selectionIds,获取当前选择元素信息。
- create_rectangle / create_text:向 Sketch 插件发送创建元素的指令,插件执行并返回新元素信息。
- 运行状态与排错
- 访问 /health 查看服务器当前健康状态与连接情况。
- 访问 /validate 获取当前配置的校验结果与警告信息。
- 如遇连接问题,请检查端口是否被防火墙阻塞,Sketch API Key 是否正确,或 Sketch 文件路径/云端 URL 是否有效。
- 连接方式
-
其他提示
- 服务器在 README 中标注为处于开发/测试阶段,正式生产环境请额外进行充分测试与安全加固。
- 如需编写客户端配置,确保 server_name、command、args 与实际部署环境一致,并将 Sketch API Key 保留在安全环境变量中。