by draw.io (open source) Claude Desktop, Claude Code, OpenCode, Cursor, любой MCP-клиент, Windows, macOS, Linux
Позволяет LLM создавать и открывать диаграммы в редакторе draw.io: inline chat-превью через MCP Apps, прямое открытие редактора с поддержкой XML/CSV/Mermaid, экспорт диаграмм в PNG/SVG/PDF.
MCP-сервер для генерации графиков и диаграмм. Создаёт bar, line, pie, scatter через matplotlib/quickchart по данным от …
MCP-сервер для доступа к актуальной документации библиотек прямо в контексте LLM. Вместо устаревших обучающих данных — …
Официальный MCP от команды Chrome DevTools: дает AI-агентам полный доступ к инструментам разработчика браузера. Автоматизация через …
Официальный MCP-сервер от Microsoft для управления браузером через Playwright. Использует accessibility tree вместо скриншотов — быстрее, …
npx @drawio/mcp # Claude Code /plugin marketplace add jgraph/drawio-mcp /plugin install drawio@drawio # Codex CLI codex plugin marketplace add jgraph/drawio-mcp codex plugin add drawio@drawio # GitHub Copilot CLI copilot plugin marketplace add jgraph/drawio-mcp copilot plugin install drawio@drawio
Официальный сервер draw.io MCP (Model Context Protocol), который позволяет LLM создавать и открывать диаграммы в редакторе draw.io.
Этот репозиторий предлагает четыре подхода для интеграции draw.io с AI-ассистентами. Выберите тот, который подходит для вашей конфигурации:
| MCP App Server | MCP Tool Server | Assistant Plugins | Project Instructions | |
|---|---|---|---|---|
| Как работает | Отображает диаграммы прямо в чате | Открывает диаграммы в вашем браузере | Генерирует файлы .drawio, опционально экспорт в PNG/SVG/PDF или URL браузера |
Claude генерирует draw.io URL через Python |
| Вывод диаграммы | Интерактивный просмотрщик, встроенный в разговор | Редактор draw.io в новой вкладке | .drawio, .drawio.png / .svg / .pdf или URL браузера |
Кликабельная ссылка на draw.io |
| Требуется установка | Нет (размещено на mcp.draw.io) |
Да (npm-пакет) | Установка плагина в одну строку (только draw.io Desktop для экспорта PNG/SVG/PDF) | Нет — просто вставьте инструкции |
| Поддерживает XML, CSV, Mermaid | Только XML | ✅ Все три | Только XML (родной формат) | ✅ Все три |
| Редактируется в draw.io | Через кнопку "Open in draw.io" | ✅ Напрямую | ✅ Напрямую | Через ссылку |
| Работает с | Claude.ai, VS Code, Cursor, любой MCP Apps хост | Claude Desktop, Cursor, любой MCP клиент | Claude Code, Codex CLI, GitHub Copilot | Claude.ai (с Projects) |
| Лучше всего подходит для | Встроенных предпросмотров в чате | Локальных десктопных рабочих процессов | Локальных процессов разработки | Быстрой настройки, без установки |
MCP App сервер отображает диаграммы draw.io встроенно в интерфейсах AI-чата, используя протокол MCP Apps. Вместо открытия вкладки браузера диаграммы появляются прямо в разговоре как интерактивные iframe.
Официальный размещённый endpoint доступен по адресу:
https://mcp.draw.io/mcp
Добавьте этот URL как удалённый MCP-сервер в Claude.ai, Cursor или любой MCP Apps-совместимый хост — установка не требуется. В Cursor (≥ 2.6) диаграммы отображаются встроенно в чате агента (установка в один клик); на старых сборках используйте stdio @drawio/mcp инструмент-сервер.
Вы также можете запустить сервер локально через Node.js или развернуть собственный экземпляр на Cloudflare Workers.
Инструменты:
- create_diagram — Отображает draw.io XML как интерактивную диаграмму встроенно в чате
- search_shapes — Ищет более 10 000 фигур во всех библиотеках draw.io (AWS, Azure, GCP, P&ID, электрика, Cisco, Kubernetes, UML, BPMN и т.д.) по ключевым словам, дополняя сервисом иконок draw.io (логотипы брендов и общие концептуальные иконки), когда во встроенных библиотеках нет хорошего совпадения. Возвращает точные строки стилей, которые можно использовать непосредственно в XML. Используйте это, чтобы найти правильную фигуру перед вызовом create_diagram.
Примечание: Встроенное отображение диаграмм требует MCP-хоста, поддерживающего расширение MCP Apps. В хостах без поддержки MCP Apps инструмент всё равно работает, но возвращает XML как текст.
Оригинальный MCP-сервер, который открывает диаграммы непосредственно в редакторе draw.io. Поддерживает форматы XML, CSV и Mermaid.js с опциями лайтбокса и тёмного режима. Опубликован как @drawio/mcp на npm.
Быстрый старт: npx @drawio/mcp
Инструкции по настройке доступны для Claude Desktop, Claude Code, VS Code (GitHub Copilot) и Cursor (с установкой в один клик).
Навык drawio, упакованный как плагин для AI-ассистентов кодирования (в plugins/): он генерирует родные файлы .drawio с опциональным экспортом в PNG, SVG или PDF (с встроенным XML, так что экспортированный файл остаётся редактируемым в draw.io) — или URL браузера, который открывает диаграмму прямо в app.diagrams.net. Настройка MCP не требуется. Тот же навык поставляется для трёх хостов:
Claude Code (полная документация →) — установка из маркетплейса этого репозитория:
/plugin marketplace add jgraph/drawio-mcp
/plugin install drawio@drawio
Или загрузите его напрямую из локального клона с помощью claude --plugin-dir ./plugins/claude-code.
Codex CLI (полная документация →) — установка из того же репозитория-маркетплейса:
codex plugin marketplace add jgraph/drawio-mcp
codex plugin add drawio@drawio
GitHub Copilot CLI (полная документация →) — установка из того же репозитория-маркетплейса:
copilot plugin marketplace add jgraph/drawio-mcp
copilot plugin install drawio@drawio
Другие поверхности Copilot (режим агента VS Code, агент кодирования, ревью кода) загружают тот же навык из каталога .github/skills/ репозитория — см. README плагина.
По умолчанию плагин создаёт файл .drawio и открывает его в draw.io. Укажите формат в запросе, чтобы изменить вывод:
- png / svg / pdf — экспорт с помощью draw.io Desktop CLI с флагом --embed-diagram
- url — сжиживает XML с помощью встроенного в Node.js модуля zlib и открывает результат на app.diagrams.net. draw.io Desktop не требуется; файл .drawio сохраняется локально как постоянная копия.
Альтернативный подход, который работает без установки чего-либо. Добавьте инструкции в проект Claude, которые научат Claude генерировать URL-адреса draw.io с помощью выполнения Python-кода. Ника MCP-сервера, ни десктопного приложения — просто вставьте и работайте.
После генерации диаграммы ИИ могут выполняться два необязательных независимых прохода — один переупорядочивает узлы, другой только перенаправляет рёбра. Какие из них доступны, зависит от подхода:
| Проход раскладки | Что делает | App Server (create_diagram) |
Tool Server (open_drawio_xml) |
Assistant Plugins | Project Instructions |
|---|---|---|---|---|---|
ELK auto-layout (postLayout: "elk") |
Переупорячивает узлы в чистую слоистую раскладку; маршрутизирует рёбра в рамках этого процесса | ✅ | — | ✅ через draw.io Desktop CLI (--layout) |
— |
libavoid routing (routing: "libavoid") |
Сохращает позиции узлов; перенаправляет соединители ортогонально вокруг фигур | ✅ | ✅ с v1.3.0 | ✅ через draw.io Desktop CLI (--layout libavoid) |
— |
postLayout для переупорядочивания раскладки или routing для упорядочивания соединителей на раскладке, которую вы разместили осознанно.Если вы разворачиваете инструмент в среде со строгими ограничениями на данные, вот точно, куда попадают данные диаграммы для каждого подхода.
Ни один компонент не отправляет вашу диаграмму в облачный растеризатор. convert.diagrams.net (или
любая облачная конечная точка экспорта) не вызывается нигде в этом репозитории, и не существует
пути «локальная зависимость отсутствует → откат к облаку». Экспорт PNG/SVG/PDF происходит только
в плагинах ассистента, которые обращаются к вашему локально установленному draw.io Desktop CLI
(находится через which drawio); если он не установлен, файл .drawio сохраняется и
ничего не отправляется.
| Подход | Диаграмма покидает машину? |
|---|---|
MCP App Server — размещённый (mcp.draw.io) |
Да — она отправляется на сервер draw.io как MCP-запрос. Разверните самостоятельно (ниже), чтобы сохранить её локально. |
| MCP App Server — самостоятельное размещение (локальный Node или собственный Cloudflare) | Нет — обрабатывается вашим сервером и встраивается в HTML, который рендерится на стороне клиента. |
MCP Tool Server (@drawio/mcp) |
Нет — передаётся в URL-#fragment, который браузеры не передают на сервер. |
| Assistant Plugins (Claude Code, Codex CLI, GitHub Copilot) | Нет — записывается локально и экспортируется вашим локальным draw.io Desktop CLI. |
По умолчанию серверы не записывают содержимое диаграмм в свои журналы — только метаданные запросов (метод, сессия, статус, время). Журналы App Server, размещённого на Cloudflare,
Даже когда сама диаграмма остаётся локальной, рендеринг по умолчанию загружает код веб-приложения / просмотрщика draw.io с app.diagrams.net и viewer.diagrams.net. Эти запросы получают код приложения и ресурсы — не вашу диаграмму, — но они всё равно являются исходящими. Чтобы сократить или устранить их:
VIEWER_PATH, чтобы встроить просмотрщик вместо загрузки с viewer.diagrams.net.DRAWIO_BASE_URL для самостоятельного размещённого экземпляра draw.io.url открывает диаграмму на app.diagrams.net (жёстко задано — аналога DRAWIO_BASE_URL нет). Используйте вывод по умолчанию .drawio или локальный экспорт в Desktop, если нужно избежать этого запроса.Диаграмма генерируется LLM. Если вы используете облачную модель, содержимое диаграммы создаётся в облаке этого провайдера независимо от того, где запущен этот MCP-сервер. Полная изоляция требует также локально размещённой модели.
Единственный надёжный способ убедиться, что развёртывание не совершает никаких исходящих вызовов, — запустить его с заблокированным сетевым исходящим трафиком (или следить за вкладкой Network в браузере) и убедиться, что рендеринг всё ещё работает. Рекомендуем это для любого развёртывания со строгой изоляцией.
Справочник по генерации XML для draw.io — охватывающий маршрутизацию рёбер, контейнеры, слои, теги, метаданные, тёмную тему, свойства стилей и корректность XML — находится в одном каноническом файле:
Все четыре вышеуказанных подхода используют этот файл как единый источник истины для подсказок LLM:
| Подход | Как обращается к справочнику |
|---|---|
| MCP App Server | Читает файл при запуске / сборке и включает его в описание инструмента |
| MCP Tool Server | Читает файл при запуске (из репозитория или встроенной копии через prepack) |
| Assistant Plugins (Claude Code, Codex CLI, GitHub Copilot) | Обращаются к сырому URL на GitHub |
| Project Instructions | Пользователи копируют его содержимое в свой Claude Project |
При обновлении руководств по генерации XML редактируйте только shared/xml-reference.md — изменения автоматически распространяются на всех потребителей.
Инстру search_shapes управляет предварительно созданным индексом всех фигур draw.io. Индекс генерируется из живого клиента draw.io (https://app.diagrams.net/js/app.min.js) путём запуска всех инициализаций боковой палитры в Node.js через jsdom и захвата данных фиг.
Иконки из сервиса иконок draw.io (icons.diagrams.net — тот же группированный поиск иконок, который использует боковая панель редактора) не являются частью этого индекса: search_shapes запрашивает сервис в реальном времени, когда локальный индекс не имеет точного совпадения для запроса, возвращая иконки в виде стилей shape=image. Установите DRAWIO_ICON_SERVICE_URL на самостоятельно размещённый сервис, чтобы переопределить конечную точку, или на off, чтобы отключить дополнение иконками.
shape-search/search-index.json зафиксирован в репозитории и автоматически обновляется при каждом выпуске draw.io через GitHub Action Update Shape Search Index — ручных действий для синхронизации с последними фигурами не требуется.
Чтобы вручную перегенерировать индекс (например, при итерации самого генератора):
cd shape-search
npm install
npm run generate
# Rebuild the MCP App Server worker to embed the updated index
cd ../mcp-app-server
npm run build:worker
Генератор загружает app.min.js напрямую из публичного веб-приложения draw.io, поэтому локальная копия исходников draw.io не нужна.
# MCP App Server
cd mcp-app-server
npm install
npm start
# MCP Tool Server
cd mcp-tool-server
npm install
npm start