excalidraw-ai
excalidraw-ai — Servidor MCP (interfaz de IA para Excalidraw)
La interfaz limpia y sin complicaciones para que una IA lea, observe y edite una sala de Excalidraw en vivo. En lugar de automatización del navegador (lectura de fibra + arrastrar y soltar + gotas del navegador remoto), se une a la sala como un socket-bot a través del relé de colaboración y habla directamente el protocolo de escena cifrado con AES-GCM — determinista, sin cabeza, escalable.
Estado de POC: puente central + superficie MCP stdio funcionando de extremo a extremo contra un relé excalidraw-room auto-alojado (selftest + prueba de humo MCP pasan).
Por qué un relé que controlamos
El bot se comunica con un relé. El relé alojado de Excalidraw (oss-collab.excalidraw.com) protege por origen a los bots que no son navegadores (403/400), por lo que para nuestras propias salas ejecutamos excalidraw/excalidraw-room (MIT, mismo código que producción) y apuntamos una interfaz de Excalidraw hacia él mediante VITE_APP_WS_SERVER_URL.
Related MCP server: Excalidraw MCP Server
Arquitectura
Excalidraw UI (fork) ──socket.io──▶ relay (excalidraw-room) ◀──socket-bot── excalidraw-ai (MCP)
(humans) self-hosted (the AI's interface)Herramientas
Herramienta | Qué hace |
| nuevo id/clave de sala para nuestro relé |
| unirse a una sala, leer escena, empezar a escuchar |
| desconectar |
| elementos del tablero + textos |
| deltas de añadir/actualizar/eliminar desde la última llamada ("escuchar la sala") |
| añadir elementos (transmitir en vivo) |
| mover / renombrar / recolorear existentes (aumento de versión) |
| marcar como eliminados |
Ejecutar
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.jsConectar con Hermes (~/.hermes/config.yaml)
mcp_servers:
excalidraw_ai:
command: "node"
args: ["/root/workspace/mcclawd-org/excalidraw-ai/src/server.js"]Reiniciar Hermes → las herramientas aparecen como mcp_excalidraw_ai_*.
Estructura
src/crypto.js— ayudantes E2E AES-GCM (Node Web Crypto)src/elements.js— constructores de elementos + fusión/diferencia de escena (semántica de id+versión)src/room.js— RoomClient: unión de socket, lectura, escritura, flujo de cambiossrc/server.js— servidor MCP (stdio), registro de herramientasscripts/selftest.mjs,scripts/mcp-smoke.mjs— verificación
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.-