Existing users who update the npm package often forget to update the agent skill files, leaving their AI agent working with stale workflow guidance (sizing rules, color palettes, anti-patterns). The new `update` subcommand solves this by detecting and updating all skill installations automatically. 🔧 Interactive update wizard: - Scan all agent directories (Cursor, Claude Code, Codex CLI) across global and local scopes for existing excalidraw-skill installations - Batch-update found installations with a single Y/n confirmation - Offer to install the skill for detected agents that don't have it yet - Optionally re-apply MCP config (defaults to no for non-breaking updates) 📝 Documentation: - Rewrite README "Updating" section to lead with the interactive command - Add collapsible example session showing the update flow - Retain manual update methods as fallback for each installation path 🎯 Ensures skill files stay in sync with MCP tools across releases, preventing the subtle drift where new tool capabilities exist but the agent's workflow guidance doesn't reference them.
123 lines
3.3 KiB
JSON
123 lines
3.3 KiB
JSON
{
|
|
"name": "@sanjibdevnath/mcp-excalidraw-local",
|
|
"version": "1.1.5",
|
|
"description": "Fully local MCP server for Excalidraw with SQLite persistence, multi-tenancy, auto-sync, real-time canvas, and 32 tools",
|
|
"main": "dist/index.js",
|
|
"type": "module",
|
|
"bin": {
|
|
"mcp-excalidraw-local": "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",
|
|
"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"
|
|
},
|
|
"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.18.2",
|
|
"mermaid": "^11.12.1",
|
|
"node-fetch": "^3.3.2",
|
|
"react": "^18.3.1",
|
|
"react-dom": "^18.3.1",
|
|
"winston": "^3.11.0",
|
|
"ws": "^8.14.2",
|
|
"zod": "^3.22.4",
|
|
"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": "sanjibdevnathlabs"
|
|
},
|
|
"contributors": [
|
|
{
|
|
"name": "yctimlin",
|
|
"email": "c22647809@gmail.com",
|
|
"url": "https://github.com/yctimlin"
|
|
}
|
|
],
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/sanjibdevnathlabs/mcp-excalidraw-local.git"
|
|
},
|
|
"homepage": "https://github.com/sanjibdevnathlabs/mcp-excalidraw-local#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/sanjibdevnathlabs/mcp-excalidraw-local/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"
|
|
]
|
|
}
|