Files
excalidraw-mcp-sentinel/package.json
T
2026-03-31 13:19:31 +02:00

132 lines
3.7 KiB
JSON

{
"name": "excalidraw-mcp-sentinel",
"version": "1.0.4",
"description": "Hardened, self-hosted Excalidraw MCP server with SQLite persistence, multi-tenancy, auto-sync, security middleware, and 369 tests",
"main": "dist/index.js",
"type": "module",
"bin": {
"excalidraw-mcp-sentinel": "dist/index.js"
},
"scripts": {
"start": "npm run build:server && node dist/index.js",
"canvas": "npm run build:server && node dist/server.js",
"build": "npm run build:frontend && npm run build:server",
"build:frontend": "vite build",
"build:server": "npx tsc",
"build:types": "npx tsc --emitDeclarationOnly",
"dev": "concurrently \"npm run dev:server\" \"vite\"",
"dev:server": "npx tsc --watch",
"production": "npm run build && npm run canvas",
"postinstall": "node -e \"const {execSync}=require('child_process');try{execSync('npm rebuild better-sqlite3 --update-binary',{stdio:'ignore'})}catch(e){}\"",
"prepublishOnly": "npm run build",
"setup": "node dist/index.js setup",
"update": "node dist/index.js update",
"type-check": "npx tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"test:unit": "vitest run tests/backend/db.test.ts tests/frontend/helpers.test.ts",
"test:api": "vitest run tests/backend/api.test.ts",
"test:ws": "vitest run tests/backend/ws.test.ts",
"test:e2e": "npx playwright test",
"test:coverage": "vitest run --coverage",
"scan:similar-projects": "node scripts/scan-excalidraw-similar-projects.mjs"
},
"dependencies": {
"@excalidraw/excalidraw": "^0.18.0",
"@excalidraw/mermaid-to-excalidraw": "^1.1.3",
"@modelcontextprotocol/sdk": "1.26.0",
"better-sqlite3": "12.6.2",
"cors": "2.8.5",
"dotenv": "^16.3.1",
"express": "4.22.1",
"express-rate-limit": "8.3.1",
"helmet": "8.1.0",
"mermaid": "^11.12.1",
"node-fetch": "^3.3.2",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"winston": "^3.11.0",
"ws": "8.20.0",
"zod": "^4.3.6",
"zod-to-json-schema": "^3.22.3"
},
"devDependencies": {
"@playwright/test": "^1.58.2",
"@types/better-sqlite3": "^7.6.13",
"@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/supertest": "^7.2.0",
"@types/ws": "^8.5.10",
"@vitejs/plugin-react": "^4.6.0",
"@vitest/coverage-v8": "^4.1.0",
"concurrently": "^9.2.0",
"supertest": "^7.2.2",
"typescript": "^5.8.3",
"vite": "^6.3.5",
"vitest": "^4.1.0"
},
"keywords": [
"mcp",
"mcp-server",
"excalidraw",
"model-context-protocol",
"ai",
"drawing",
"diagrams",
"canvas",
"real-time",
"websocket",
"visualization",
"sqlite",
"multi-tenancy",
"self-hosted",
"local"
],
"author": {
"name": "celstnblacc",
"url": "https://github.com/celstnblacc"
},
"contributors": [
{
"name": "sanjibdevnathlabs",
"url": "https://github.com/sanjibdevnathlabs"
},
{
"name": "yctimlin",
"email": "c22647809@gmail.com",
"url": "https://github.com/yctimlin"
}
],
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/celstnblacc/excalidraw-mcp-sentinel.git"
},
"homepage": "https://github.com/celstnblacc/excalidraw-mcp-sentinel#readme",
"bugs": {
"url": "https://github.com/celstnblacc/excalidraw-mcp-sentinel/issues"
},
"pnpm": {
"onlyBuiltDependencies": [
"better-sqlite3",
"esbuild"
]
},
"engines": {
"node": ">=20.0.0"
},
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
},
"files": [
"dist/**/*",
"skills/**/*",
"README.md",
"LICENSE"
]
}