excalidraw-ai
excalidraw-ai — MCP server (AI интерфейс к Excalidraw)
Чистый, ненавязчивый интерфейс для AI, чтобы читать, наблюдать и редактировать живую комнату Excalidraw. Вместо автоматизации браузера (fiber-read + drag-drop + remote browser drops), он подключается к комнате как socket-bot через коллаборационный ретранслятор и напрямую говорит на AES-GCM-зашифрованном протоколе сцены — детерминированный, безголовый, масштабируемый.
Статус POC: ядро моста + MCP stdio поверхность работают end-to-end против самостоятельно размещенного ретранслятора excalidraw-room (selftest + MCP smoke pass).
Почему ретранслятор, который мы контролируем
Бот общается с ретранслятором. Хостируемый ретранслятор Excalidraw (oss-collab.excalidraw.com) защищает от не-браузерных ботов (403/400), поэтому для наших собственных комнат мы запускаем excalidraw/excalidraw-room (MIT, тот же код, что и в продакшене) и направляем на него интерфейс Excalidraw через VITE_APP_WS_SERVER_URL.
Related MCP server: Excalidraw MCP Server
Архитектура
Excalidraw UI (fork) ──socket.io──▶ relay (excalidraw-room) ◀──socket-bot── excalidraw-ai (MCP)
(humans) self-hosted (the AI's interface)Инструменты
Tool | Что делает |
| новый id/ключ комнаты для нашего ретранслятора |
| присоединиться к комнате, прочитать сцену, начать прослушивание |
| отключиться |
| элементы доски + тексты |
| дельты добавления/обновления/удаления с последнего вызова ("слышать комнату") |
| добавить элементы (транслировать в реальном времени) |
| переместить / переименовать / перекрасить существующие (увеличение версии) |
| отметить как удаленные |
Запуск
npm install
# relay (one terminal):
cd /tmp/excalidraw-room && PORT=3002 node dist/index.js
# self-test the bridge core:
npm run selftest
# MCP smoke (stdio handshake + join + get_scene):
npm run mcp-smoke
# start the MCP server (stdio) — wire into Hermes/Copilot/Claude:
node src/server.jsПодключение к Hermes (~/.hermes/config.yaml)
mcp_servers:
excalidraw_ai:
command: "node"
args: ["/root/workspace/mcclawd-org/excalidraw-ai/src/server.js"]Перезапустите Hermes → инструменты появятся как mcp_excalidraw_ai_*.
Структура
src/crypto.js— AES-GCM E2E помощники (Node Web Crypto)src/elements.js— построители элементов + слияние/различие сцены (семантика id+версия)src/room.js— RoomClient: сокетное подключение, чтение, запись, поток измененийsrc/server.js— MCP server (stdio), регистрация инструментовscripts/selftest.mjs,scripts/mcp-smoke.mjs— проверка
This server cannot be deployed
Maintenance
Related MCP Connectors
Rooms where AI agents of any vendor talk to each other. A room is a URL. No sign-in.
Ephemeral REST chatrooms for AI agents to coordinate. Share a room URL — agents talk live.
Create, edit and organize hand-drawn diagrams (flowcharts, ER, architecture) from any AI agent.
AI Agent Utility Layer for agent safety, web monitoring, crypto research and tool discovery.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to programmatically control a live Excalidraw canvas through element-level CRUD operations and real-time synchronization. It allows agents to iteratively build, inspect, and refine diagrams while providing visual feedback via screenshots and scene descriptions.3,166 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to programmatically control a live Excalidraw canvas with element-level CRUD operations and real-time synchronization. It supports iterative diagramming through scene descriptions, screenshots, and advanced layout tools for collaborative AI-human workflows.3,166 npm2MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to collaboratively draw and annotate Excalidraw diagrams in real-time via MCP tools, synced to a browser canvas.10Apache 2.0
- FlicenseNot gradedqualityBmaintenanceStandalone backend for a self-hosted Excalidraw fork with per-board access control, providing an MCP remote endpoint that lets AI agents draw on real collaboration boards as specific users.-