Integrations
Supports configuration through environment variables via .env files for settings like API keys, port configuration, and debug levels.
Uses Node.js as the server platform for implementing the Model Context Protocol to provide Sketch file data to compatible IDEs.
Parses Sketch design files (.sketch), enabling access to components, symbols, and design elements. Supports both local and Cloud Sketch files, component extraction, asset management, and selection links via a Sketch Selection Helper plugin.
Примечание: данный проект в настоящее время находится на стадии тестирования и может быть не полностью стабильным.
Эскиз Контекст MCP
Сервер протокола контекста модели (MCP) для интеграции проектов Sketch с такими IDE, как Cursor, Cline или Windsurf.
Обзор
Этот инструмент позволяет Cursor IDE получать доступ к файлам дизайна Sketch и интерпретировать их, обеспечивая рабочие процессы проектирования и кодирования на базе ИИ. Он работает следующим образом:
- Предоставление сервера, который анализирует файлы Sketch (.sketch)
- Реализация протокола MCP, который Cursor или другие IDE используют для контекста
- Позволяет ссылаться на определенные компоненты и слои из файлов Sketch.
- Предоставление пользовательского интерфейса для Sketch, взаимодействующего с курсором
- Обеспечение двунаправленной связи в реальном времени между Sketch и Cursor
Компоненты
Этот проект состоит из двух основных компонентов:
- MCP Server : сервер Node.js, реализующий протокол контекста модели для предоставления данных Sketch-файла в Cursor IDE.
- Плагин Sketch : плагин Sketch с пользовательским интерфейсом, который взаимодействует с сервером MCP через WebSockets.
Доступные инструменты MCP
Сервер предоставляет следующие инструменты для Курсора:
get_file
: Извлечение содержимого файла Sketch или определенного узла внутри негоlist_components
: Список всех компонентов/символов в файле Sketchget_selection
: Получить информацию о выбранных в данный момент элементахcreate_rectangle
: Создание новых прямоугольников с указанными размерами и свойствами.create_text
: создание новых текстовых элементов с пользовательским содержимым и стилем
Эти инструменты позволяют Cursor:
- Доступ и проверка файлов дизайна Sketch
- Запрос определенных компонентов и слоев
- Создавайте и изменяйте элементы дизайна с помощью команд естественного языка.
- Поддерживайте синхронизацию в реальном времени со Sketch
Поддерживаемые функции
- Анализ локальных и облачных файлов Sketch
- Извлечение компонентов/символов
- Управление активами и автоматические загрузки
- Поддержка ссылок выбора через плагин Sketch
- Обновления в реальном времени через WebSockets и SSE
- Интерактивный пользовательский интерфейс для подключения Sketch к Cursor
- Анализ как локальных, так и размещенных в облаке Sketch файлов
- Извлечение информации о структуре и компонентах документа
- Доступ к определенным узлам по идентификатору
- Перечисление всех компонентов в файле Sketch
- Создание прямоугольников, текста и других элементов с помощью команд Курсора
Начиная
Предпосылки
- Node.js (v14 или более поздняя версия)
- Эскиз (v70 или более поздняя версия)
- Курсор IDE, VS Code или аналогичный
- Учетная запись Sketch (локальная) или использование API-доступа (файлы Sketch Cloud)
Установка
Или запустить напрямую с помощью npx:
Установка плагина Sketch
- Загрузите последнюю версию плагина со страницы релизов.
- Дважды щелкните файл
.sketchplugin
, чтобы установить его в Sketch. - Плагин будет доступен в Sketch в разделе Плагины > Sketch Context MCP.
Интеграция с курсором
Чтобы использовать это с курсором:
- Запустите сервер MCP с вашим файлом Sketch:Copy
- В Sketch откройте плагин:
- Перейдите в раздел Плагины > Sketch Context MCP > Открытый интерфейс MCP.
- Введите порт сервера (по умолчанию: 3333)
- Нажмите «Подключиться».
- В Курсоре подключитесь к серверу MCP:
- Перейдите в Настройки > Функции > Контекст.
- Добавьте новый сервер MCP с URL-адресом:
http://localhost:3333/sse
- Нажмите «Подключиться».
- В редакторе курсоров теперь можно:
- Ссылка на компоненты по идентификатору: «Покажите мне компонент с идентификатором 12345»
- Перечислите все компоненты: «Перечислите все компоненты в проекте»
- Получите подробную информацию о конкретных элементах: «Опишите кнопку в заголовке»
- Создать новые элементы: «Создать прямоугольник шириной 200 и высотой 100»
Получение ключа API Sketch
Ключ API Sketch — это токен доступа OAuth, необходимый для доступа к файлам, размещенным в облаке Sketch. Чтобы получить и использовать токен, выполните следующие действия:
Шаг 1: Авторизуйтесь с помощью Sketch Cloud
Используйте свои учетные данные Sketch Cloud (адрес электронной почты и пароль) для генерации токена доступа, отправив запрос POST к конечной точке аутентификации:
Замените YOUR_EMAIL
и YOUR_PASSWORD
на данные вашей учетной записи Sketch Cloud.
Шаг 2: Токен доступа
Ответ будет включать access_token
. Этот токен служит вашим ключом API для доступа к файлам, размещенным в облаке Sketch.
Шаг 3: Использование токена
В целях безопасности рекомендуется передавать токен как переменную среды:
Или включите его в качестве аргумента командной строки:
Шаг 4: Обновление токена
Если срок действия вашего токена истек, используйте refresh_token
, предоставленный в первоначальном ответе, чтобы получить новый токен доступа.
Лучшие практики безопасности
Чтобы обеспечить безопасность вашего ключа API, следуйте следующим рекомендациям:
- Не закодируйте ключ хард-кодом : Никогда не закодируйте ключ API в приложении или исходном коде. Вместо этого используйте переменные среды или секретные инструменты управления.
- Используйте файлы .env для локальной разработки : сохраните свой ключ API в файле
.env
и загрузите его с помощью библиотеки, напримерdotenv
:Убедитесь, что файлCopy.env
добавлен в.gitignore
, чтобы избежать случайного раскрытия. - Регулярно проводите ротацию токенов : если ваш токен был скомпрометирован или украден, немедленно отзовите его и сгенерируйте новый.
- Мониторинг и аудит : используйте инструменты для сканирования вашего репозитория на предмет раскрытых учетных данных (например, функция секретного сканирования GitHub).
- Используйте токены с коротким сроком жизни : если возможно, используйте токены с коротким сроком жизни и обновляйте их по мере необходимости, чтобы свести к минимуму влияние утечки токена.
Как это работает в Sketch-Context-MCP
Ключ API Sketch необходим для доступа к файлам, размещенным в облаке Sketch. Сервер использует этот ключ для аутентификации запросов к облаку Sketch и получения необходимых данных дизайна. Ключ передается по защищенному каналу через заголовок Authorization
при выполнении запросов API.
Конфигурация
Сервер можно настроить с помощью переменных среды (через файл .env
) или аргументов командной строки. Аргументы командной строки имеют приоритет над переменными среды.
Переменные среды
SKETCH_API_KEY
: Ваш токен доступа к API Sketch (требуется для файлов Sketch Cloud)PORT
: Порт, на котором будет работать сервер (по умолчанию: 3333)LOCAL_SKETCH_PATH
: Путь к локальному файлу Sketch (альтернатива аргументу --local-file)DEBUG_LEVEL
: Установить уровень детализации журнала (по умолчанию: «info»)
Аргументы командной строки
--version
: Показать номер версии--sketch-api-key
: Ваш токен доступа к API Sketch--port
: Порт, на котором будет запущен сервер.--stdio
: запустить сервер в командном режиме вместо HTTP/SSE по умолчанию--help
: Показать меню справки
Использование плагина Sketch
Вкладка «Подключение»
Вкладка «Подключение» позволяет подключиться к серверу Sketch Context MCP:
- Введите номер порта (по умолчанию 3333)
- Нажмите «Подключиться», чтобы установить соединение WebSocket.
- После подключения вы увидите подтверждающее сообщение с идентификатором канала.
- Следуйте инструкциям по подключению Курсора к серверу.
Вкладка «Выбор»
На вкладке «Выделение» отображается информация о выбранных слоях в документе Sketch:
- Выберите один или несколько слоев в документе Sketch.
- Выбранные слои будут отображены в списке.
- Нажмите «Копировать идентификаторы выделенных слоев», чтобы скопировать идентификаторы слоев в буфер обмена.
- Используйте эти идентификаторы в курсоре для ссылки на определенные слои.
О вкладке
Вкладка «О плагине» содержит информацию о плагине и о том, как его использовать.
Использование с курсором
После подключения Sketch и Cursor к серверу MCP:
- Выбрать элементы в Sketch
- Скопируйте их идентификаторы с помощью плагина Sketch Context MCP.
- В курсоре ссылайтесь на эти элементы по их идентификаторам.
Примеры команд в курсоре:
- «Покажите мне подробности слоя с идентификатором 12345»
- «Создайте синий прямоугольник шириной 300 и высотой 200»
- «Добавить текстовый слой с содержимым «Hello World»»
Поиск неисправностей
Общие проблемы
- Ошибки подключения : убедитесь, что ваш сервер работает и порт доступен.
- Ошибки аутентификации : проверьте правильность ключа API Sketch.
- Проблемы с анализом файлов : убедитесь, что ваш файл Sketch действителен и не поврежден.
- Ошибка подключения WebSocket : убедитесь, что порт не заблокирован брандмауэром.
Журналы
Чтобы включить подробное ведение журнала, установите переменную среды DEBUG:
Внося вклад
Вклады приветствуются! Пожалуйста, не стесняйтесь отправлять запрос на включение.
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Сервер MCP для предоставления информации о макете Sketch агентам кодирования ИИ, таким как Cursor
Related MCP Servers
- -securityAlicense-qualityEnables Cursor to access Figma files through the Model Context Protocol, enhancing its ability to accurately interpret and utilize design data for code generation.Last updated -514,5966,386TypeScriptMIT License
- -securityAlicense-qualityMCP server to provide Jira Tickets information to AI coding agents like CursorLast updated -1144TypeScriptMIT License
- AsecurityAlicenseAqualityAllow your AI coding agents to access Figma files & prototypes directly. You can DM me for any issues / improvements: https://x.com/jasonzhou1993 1. Access all figma pages 2. Access all figma components 3. Access figma prototype flowsLast updated -349PythonMIT License
- AsecurityFlicenseAqualityEnables AI assistants to interact with Figma files through the ModelContextProtocol, allowing viewing, commenting, and analyzing Figma designs directly in chat interfaces.Last updated -51,816151TypeScript