Excalidraw MCP Server: мощный API для рисования в LLM
Этот сервер реализует Protocol (MCP) для взаимодействия с диаграммами Excalidraw. Он позволяет языковым моделям (LLM) создавать, изменять, запрашивать и управлять элементами чертежа через структурированный API.
Возможности
- Полный контроль элементов Excalidraw: создание, обновление, удаление, запрос
- Продвинутые операции: группировка, выравнивание, распределение, блокировка/разблокировка
- Управление ресурсами: сцена, библиотеки, темы, элементы
- Простая интеграция с Claude Desktop и другими LLM-платформами
- Поддержка Docker
API: инструменты (tools)
Создание и изменение элементов
create_element — создать новый элемент (прямоугольник, эллипс, ромб и т.д.). Обязательные параметры: type, x, y. Опционально: размеры, цвета, стили.
update_element — обновить существующий элемент по id.
delete_element — удалить элемент по id.
query_elements — запросить элементы с фильтрацией (по type или произвольный filter).
Управление ресурсами
get_resource — получить ресурс: scene, library, theme, elements.
Организация элементов
group_elements — сгруппировать несколько элементов (параметр elementIds).
ungroup_elements — разгруппировать группу (groupId).
align_elements — выровнять элементы (elementIds + alignment: left, center, right, top, middle, bottom).
distribute_elements — распределить элементы равномерно (elementIds + direction: horizontal, vertical).
lock_elements / unlock_elements — заблокировать/разблокировать элементы (elementIds).
Интеграция с Claude Desktop
Добавьте в claude_desktop_config.json в секцию mcpServers:
{
"mcpServers": {
"excalidraw": {
"command": "node",
"args": ["src/index.js"],
"env": {
"LOG_LEVEL": "info",
"DEBUG": "false"
}
}
}
}
Интеграция с Cursor
Создайте файл .cursor/mcp.json в рабочей директории:
{
"mcpServers": {
"excalidraw": {
"command": "node",
"args": ["/path/to/mcp_excalidraw/src/index.js"],
"env": {
"LOG_LEVEL": "info",
"DEBUG": "false"
}
}
}
}
Убедитесь, что путь указан абсолютный, а файл index.js существует.
Docker
Конфигурация для mcpServers:
{
"mcpServers": {
"excalidraw": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/excalidraw"],
"env": {
"LOG_LEVEL": "info",
"DEBUG": "false"
}
}
}
}
Установка
NPM
npm install
npm start
Docker
docker build -t mcp/excalidraw .
docker run -i --rm mcp/excalidraw
Настройка (переменные окружения)
LOG_LEVEL — уровень логирования (по умолчанию info)
DEBUG — режим отладки (true/false, по умолчанию false)
DEFAULT_THEME — тема по умолчанию (light или dark)
Примеры использования
Создание прямоугольника
{
"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"]
}
Лицензия
Проект распространяется под лицензией MIT. См. файл LICENSE в репозитории.
Комментарии
Комментариев пока нет. Будьте первым.