Skip to main content
Glama
yctimlin

Excalidraw MCP Server

by yctimlin

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 --debug

Related 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"] } } }

Обязательно:

  1. Замените /path/to/your/directory на фактический абсолютный путь к вашей установке mcp_excalidraw.

  2. Создайте каталог .cursor если он не существует.

  3. Убедитесь, что путь к 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

Latest Blog Posts

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/yctimlin/mcp_excalidraw'

If you have feedback or need assistance with the MCP directory API, please join our Discord server