Excalidraw MCP Server: мощный API для рисования и интеграции LLM
📣 НОВОСТИ: Версия 1.0.0 теперь опубликована в npm! Вы можете запустить Excalidraw MCP напрямую с помощью
npx excalidraw-mcpбез установки. Настройка не требуется — просто запустите и наслаждайтесь!
Комплексный сервер Model Context Protocol (MCP), который обеспечивает бесшовное взаимодействие с диаграммами и чертежами Excalidraw. Этот сервер предоставляет LLM (большие языковые модели) возможность создавать, изменять, запрашивать и манипулировать чертежами Excalidraw через структурированный, удобный для разработчиков API.
Быстрый старт
Вы можете запустить сервер Excalidraw MCP напрямую с помощью npx, не устанавливая ничего:
npx excalidraw-mcpЕсли вы предпочитаете установить его глобально:
npm install -g excalidraw-mcp
excalidraw-mcpПараметры
Доступны следующие параметры командной строки:
-d, --debug Enable debug logging
-?, --help Show this help messageПримечание: следующие параметры в настоящее время полностью функциональны только в версии Docker:
-p, --port <port> Port to run the server on (default: 3000) -h, --host <host> Host to bind the server to (default: localhost) -m, --mode <mode> Transport mode: 'stdio' or 'http' (default: stdio)
Примеры
Запустить с параметрами по умолчанию:
npx excalidraw-mcpВключить ведение журнала отладки:
npx excalidraw-mcp --debugRelated MCP server: Excalidraw MCP Server
Функции
Полный контроль элементов Excalidraw : создание, обновление, удаление и запрос любого элемента Excalidraw.
Расширенные возможности управления элементами : группировка, выравнивание, распределение, блокировка и разблокировка элементов.
Управление ресурсами : доступ и изменение информации о сцене, библиотеках, темах и элементах.
Простая интеграция : работает с Claude Desktop и другими платформами LLM
Поддержка Docker : простое развертывание с возможностью контейнеризации
Справочник по инструментам API
Создание и изменение элементов
создать_элемент
Создайте новый элемент Excalidraw (прямоугольник, эллипс, ромб и т. д.)
Требуемые входные данные:
type, координатыx,yДополнительные входные данные: размеры, цвета, свойства стиля
обновить_элемент
Обновить существующий элемент Excalidraw по идентификатору
Требуемые данные:
idобновляемого элемента.Необязательные входные данные: любое свойство элемента для изменения
удалить_элемент
Удалить элемент Excalidraw
Требуемый ввод:
idудаляемого элемента.
элементы_запроса
Элементы запроса с дополнительной фильтрацией
Дополнительные входные данные:
typeдля фильтрации по типу элемента,filterобъектов с помощью пар ключ-значение
Управление ресурсами
получить_ресурс
Получить определенный ресурс, например информацию о сцене или всех элементах
Требуемые входные данные: тип
resource(сцена, библиотека, тема, элементы)
Организация элемента
group_elements
Группировка нескольких элементов вместе
Требуемые входные данные:
elementIdsмассив идентификаторов элементов для группировки
разгруппировать_элементы
Разгруппировать группу элементов
Требуемый ввод:
groupIdгруппы, которую нужно разгруппировать.
выравнивание_элементов
Выровнять несколько элементов на основе указанного выравнивания
Необходимые входные данные: массив
elementIdsиalignment(слева, по центру, справа, сверху, посередине, снизу)
распределять_элементы
Распределяйте элементы равномерно по пространству
Необходимые входные данные: массив
elementIdsиdirection(горизонтальное или вертикальное)
lock_elements
Блокировка элементов для предотвращения изменений
Требуемые входные данные: массив
elementIdsэлементов для блокировки
разблокировать_элементы
Разблокируйте элементы, чтобы разрешить модификацию
Требуемые входные данные: массив
elementIdsэлементов для разблокировки
Интеграция с Claude Desktop
Чтобы использовать этот сервер с приложением Claude Desktop, добавьте следующую конфигурацию в раздел «mcpServers» вашего claude_desktop_config.json :
{
"mcpServers": {
"mcp_excalidraw": {
"command": "npx",
"args": ["-y", "excalidraw-mcp"]
}
}
}Интеграция с курсором
Чтобы использовать этот сервер с приложением Cursor, добавьте следующую конфигурацию в раздел «mcpServers» вашего .cursor/mcp.json :
{
"mcpServers": {
"mcp_excalidraw": {
"command": "npx",
"args": ["-y", "excalidraw-mcp"]
}
}
}Интеграция с курсором
Чтобы использовать этот сервер с Cursor, создайте файл .cursor/mcp.json в своей рабочей области со следующей конфигурацией:
{
"mcpServers": {
"mcp_excalidraw": {
"command": "npx",
"args": ["-y", "excalidraw-mcp"]
}
}
}Обязательно:
Замените
/path/to/your/directoryна фактический абсолютный путь к вашей установке mcp_excalidraw.Создайте каталог
.cursorесли он не существует.Убедитесь, что путь к
index.jsправильный и файл существует.
Интеграция с Докером
{
"mcpServers": {
"excalidraw": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/excalidraw"],
"env": {
"LOG_LEVEL": "info",
"DEBUG": "false"
}
}
}
}Руководство по установке
Установка НПМ
# Install globally
npm install -g excalidraw-mcp
# Run the server
excalidraw-mcpНастройка локального развития
# Clone the repository
git clone <repository-url>
cd excalidraw-mcp
# Install dependencies
npm install
# Start the server
npm startУстановка докера
# Build the Docker image
docker build -t mcp/excalidraw .
# Run the container
docker run -i --rm mcp/excalidrawПараметры конфигурации
Сервер можно настроить с помощью следующих переменных среды:
LOG_LEVEL— Установить уровень ведения журнала (по умолчанию: «info»)DEBUG— включить режим отладки (по умолчанию: «false»)DEFAULT_THEME— Установить тему по умолчанию (по умолчанию: «светлая»)
Примеры использования
Вот несколько практических примеров использования сервера Excalidraw MCP:
Создание элемента «Прямоугольник»
{
"type": "rectangle",
"x": 100,
"y": 100,
"width": 200,
"height": 100,
"backgroundColor": "#ffffff",
"strokeColor": "#000000",
"strokeWidth": 2,
"roughness": 1
}Запрос определенных элементов
{
"type": "rectangle",
"filter": {
"strokeColor": "#000000"
}
}Группировка нескольких элементов
{
"elementIds": ["elem1", "elem2", "elem3"]
}Лицензия
Этот сервер Excalidraw MCP лицензирован по лицензии MIT. Вы можете свободно использовать, изменять и распространять программное обеспечение в соответствии с условиями лицензии MIT. Для получения более подробной информации см. файл LICENSE в репозитории проекта.
Разработка
Клонируйте репозиторий и установите зависимости:
git clone <repository-url>
cd excalidraw-mcp
npm installЗапустите сервер разработки:
npm run dev