{ "name": "excalidraw-mcp-server", "mcpName": "io.github.debu-sinha/excalidraw", "version": "2.0.0", "description": "Security-hardened MCP server for Excalidraw with API key auth, rate limiting, and real-time canvas sync", "main": "dist/mcp/index.js", "type": "module", "bin": { "excalidraw-mcp-server": "dist/mcp/index.js" }, "scripts": { "start": "node dist/mcp/index.js", "canvas": "node dist/canvas/index.js", "build": "npm run build:server && npm run build:widget && npm run build:frontend", "build:server": "tsc -p tsconfig.json", "build:widget": "vite build --config vite.widget.config.ts", "build:frontend": "vite build", "dev": "concurrently \"tsc -p tsconfig.json --watch\" \"vite\"", "lint": "eslint src test", "lint:fix": "eslint --fix src test", "format": "prettier --write src test", "type-check": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "prepublishOnly": "npm run lint && npm run type-check && npm run test && npm run build", "generate-key": "node scripts/generate-api-key.cjs" }, "dependencies": { "@excalidraw/excalidraw": "^0.18.0", "@excalidraw/mermaid-to-excalidraw": "^1.1.3", "@modelcontextprotocol/ext-apps": "^1.0.1", "@modelcontextprotocol/sdk": "^1.26.0", "cors": "^2.8.5", "express": "^4.21.3", "express-rate-limit": "^7.4.0", "helmet": "^8.0.0", "mermaid": "^11.12.1", "pino": "^9.5.0", "pino-pretty": "^13.0.0", "react": "^18.3.1", "react-dom": "^18.3.1", "vite-plugin-singlefile": "^2.3.0", "ws": "^8.18.0", "zod": "^3.23.8" }, "devDependencies": { "@types/cors": "^2.8.17", "@types/express": "^4.17.21", "@types/node": "^20.19.7", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@types/ws": "^8.5.10", "@typescript-eslint/eslint-plugin": "^8.18.0", "@typescript-eslint/parser": "^8.18.0", "@vitejs/plugin-react": "^4.6.0", "@vitest/coverage-v8": "^2.1.0", "concurrently": "^9.2.0", "eslint": "^9.16.0", "prettier": "^3.4.0", "typescript": "^5.8.3", "vite": "^6.3.5", "vitest": "^2.1.0" }, "author": { "name": "Debu Sinha" }, "license": "MIT", "repository": { "type": "git", "url": "https://github.com/debu-sinha/excalidraw-mcp-server.git" }, "keywords": [ "excalidraw", "mcp", "model-context-protocol", "diagramming", "security", "websocket", "real-time" ], "engines": { "node": ">=18.0.0" }, "files": [ "dist/**/*", "LICENSE", "README.md" ] }