{"_id":"@scofieldfree/excalidraw-mcp","_rev":"2-f2c3a79e89c071b2cb6970d315564e3e","name":"@scofieldfree/excalidraw-mcp","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@scofieldfree/excalidraw-mcp","version":"0.1.0","keywords":["mcp","excalidraw","diagram","ai","claude","cursor"],"license":"MIT","_id":"@scofieldfree/excalidraw-mcp@0.1.0","maintainers":[{"name":"scofieldfree","email":"scofieldskiller@gmail.com"}],"bin":{"excalidraw-mcp":"dist/index.js"},"dist":{"shasum":"3ffd534d28406dae5e1efe347f38000a6ab97551","tarball":"https://registry.npmjs.org/@scofieldfree/excalidraw-mcp/-/excalidraw-mcp-0.1.0.tgz","fileCount":120,"integrity":"sha512-a7uvQEQGorZLgPZN8jZe+QLy02Fsg6huhv/r812e7f7KezPWRV0AcpH2t/wEk2hDZKVP5PjRurSQNQopjrrU+A==","signatures":[{"sig":"MEUCIQCg+Uf2fbiy8lGUnVosWZA8mQ60HUPnh3WbPnZwudDAwwIgE4kql+3Em1NR03Z6YSqK4XhFMTcvfI3e7osti5XGk9w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8017798},"main":"./dist/index.js","type":"module","_from":"file:scofieldfree-excalidraw-mcp-0.1.0.tgz","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"scripts":{"dev":"concurrently \"pnpm dev:server\" \"pnpm dev:web\"","build":"pnpm build:web && pnpm build:server","start":"node dist/index.js","dev:web":"vite --config vite.config.ts","preview":"npm pack --dry-run","build:web":"vite build --config vite.config.ts","dev:server":"tsx watch src/index.ts","build:server":"tsup src/index.ts --format esm --dts --clean --outDir dist --tsconfig tsconfig.server.json  && rm -rf dist/tools"},"_npmUser":{"name":"scofieldfree","email":"scofieldskiller@gmail.com"},"_resolved":"/tmp/e4f971b039d2b5ba58e867b156d9c2d5/scofieldfree-excalidraw-mcp-0.1.0.tgz","_integrity":"sha512-a7uvQEQGorZLgPZN8jZe+QLy02Fsg6huhv/r812e7f7KezPWRV0AcpH2t/wEk2hDZKVP5PjRurSQNQopjrrU+A==","_npmVersion":"10.8.2","description":"MCP server for Excalidraw - AI-powered diagram generation with real-time browser preview","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","zod":"^3.25.76","open":"^10.2.0","@modelcontextprotocol/sdk":"^1.26.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","tsup":"^8.5.1","vite":"^5.4.21","react":"^18.3.1","@types/ws":"^8.18.1","react-dom":"^18.3.1","typescript":"^5.9.3","@types/node":"^20.19.31","@types/react":"^18.3.28","concurrently":"^8.2.2","lucide-react":"^0.563.0","@types/react-dom":"^18.3.7","@vitejs/plugin-react":"^4.7.0","@excalidraw/excalidraw":"^0.18.0","@excalidraw/mermaid-to-excalidraw":"1.1.2"},"_npmOperationalInternal":{"tmp":"tmp/excalidraw-mcp_0.1.0_1770535960362_0.7848380840261402","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@scofieldfree/excalidraw-mcp","version":"0.1.1","description":"MCP server for Excalidraw - AI-powered diagram generation with real-time browser preview","publishConfig":{"access":"public"},"type":"module","bin":{"excalidraw-mcp":"dist/index.js"},"main":"./dist/index.js","dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","open":"^10.2.0","ws":"^8.19.0","zod":"^3.25.76"},"devDependencies":{"@excalidraw/excalidraw":"^0.18.0","@excalidraw/mermaid-to-excalidraw":"1.1.2","@types/node":"^20.19.31","@types/react":"^18.3.28","@types/react-dom":"^18.3.7","@types/ws":"^8.18.1","@vitejs/plugin-react":"^4.7.0","concurrently":"^8.2.2","lucide-react":"^0.563.0","react":"^18.3.1","react-dom":"^18.3.1","tsup":"^8.5.1","tsx":"^4.21.0","typescript":"^5.9.3","vite":"^5.4.21"},"engines":{"node":">=18.0.0"},"keywords":["mcp","excalidraw","diagram","ai","claude","cursor"],"license":"MIT","scripts":{"dev":"concurrently \"pnpm dev:server\" \"pnpm dev:web\"","dev:server":"tsx watch src/index.ts","dev:web":"vite --config vite.config.ts","build":"pnpm build:web && pnpm build:server","build:server":"tsup src/index.ts --format esm --dts --clean --outDir dist --tsconfig tsconfig.server.json  && rm -rf dist/tools","build:web":"vite build --config vite.config.ts","start":"node dist/index.js","preview":"npm pack --dry-run"},"_id":"@scofieldfree/excalidraw-mcp@0.1.1","types":"./dist/index.d.ts","_integrity":"sha512-9Ht0vzNKMVf5ubW2sCizXGuy/jyipfgRD0fkJHfRlpcoGwraag2YzzjgTdHAStaEQoJSl8eIRJJOzn8BAfYVWA==","_resolved":"/tmp/6b04965ca40c26f5da2651cefd555a0d/scofieldfree-excalidraw-mcp-0.1.1.tgz","_from":"file:scofieldfree-excalidraw-mcp-0.1.1.tgz","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-9Ht0vzNKMVf5ubW2sCizXGuy/jyipfgRD0fkJHfRlpcoGwraag2YzzjgTdHAStaEQoJSl8eIRJJOzn8BAfYVWA==","shasum":"25baefe22f50e239dce2f2a52d7bbe1afaa6b815","tarball":"https://registry.npmjs.org/@scofieldfree/excalidraw-mcp/-/excalidraw-mcp-0.1.1.tgz","fileCount":120,"unpackedSize":8019424,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEbrrUMi4xJVi/iNmcVjWtFkHSEpuuitL14mBdYv/byxAiAQ1LQriPtuvGQjOhgKxXCIEps6VlxJJdwsaMfDI/Lguw=="}]},"_npmUser":{"name":"scofieldfree","email":"scofieldskiller@gmail.com"},"directories":{},"maintainers":[{"name":"scofieldfree","email":"scofieldskiller@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/excalidraw-mcp_0.1.1_1770547308573_0.3455842615708735"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-08T07:32:40.246Z","modified":"2026-02-08T10:41:48.971Z","0.1.0":"2026-02-08T07:32:40.662Z","0.1.1":"2026-02-08T10:41:48.858Z"},"license":"MIT","keywords":["mcp","excalidraw","diagram","ai","claude","cursor"],"description":"MCP server for Excalidraw - AI-powered diagram generation with real-time browser preview","maintainers":[{"name":"scofieldfree","email":"scofieldskiller@gmail.com"}],"readme":"# Excalidraw MCP Server\n\nAn MCP server that enables AI agents (like Claude, Cursor) to creating and editing Excalidraw diagrams directly.\n\n## Features\n\n- **Protocol**: Fully compliant with Model Context Protocol (MCP).\n- **Tools**: `add_elements`, `update_element`, `start_session`, `export_diagram`, etc.\n- **Smart**: Auto-calculates text width, auto-binds text to containers.\n- **Visual**: Real-time browser preview via WebSocket.\n\n## Quick Start\n\nYou can run this server directly using `npx`:\n\n```bash\nnpx @scofieldfree/excalidraw-mcp\n```\n\n## Configuration\n\n### Claude Desktop\n\nAdd this to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"excalidraw\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@scofieldfree/excalidraw-mcp\"]\n    }\n  }\n}\n```\n\n### Cursor\n\n1. Open **Cursor Settings** -> **Features** -> **MCP**.\n2. Click **+ Add New MCP Server**.\n3. Name: `excalidraw`\n4. Type: `command`\n5. Command: `npx -y @scofieldfree/excalidraw-mcp`\n\n## How it Works\n\n1. The server starts a local HTTP server (default port 3100) for the Excalidraw frontend.\n2. It exposes MCP tools to the AI Agent.\n3. When the Agent calls `add_elements`, the server updates its state and pushes changes to the browser via WebSocket.\n4. You see the diagram update in real-time!\n\n## License\n\nMIT\n","readmeFilename":"README.md"}