@sanjibdevnath/mcp-excalidraw-local 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AAwXH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA2H/C;AAID,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB9C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AAifH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAkK/C;AAID,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAsB9C"}
package/dist/setup.js CHANGED
@@ -51,6 +51,11 @@ function getAgents() {
51
51
  },
52
52
  mcpConfigType: 'json-file',
53
53
  mcpConfigPath: path.join(home, '.cursor', 'mcp.json'),
54
+ instructionConfig: {
55
+ global: path.join(home, '.cursor', 'rules', 'excalidraw.mdc'),
56
+ local: path.join(process.cwd(), '.cursor', 'rules', 'excalidraw.mdc'),
57
+ format: 'cursor-mdc',
58
+ },
54
59
  },
55
60
  {
56
61
  name: 'Claude Code',
@@ -60,7 +65,13 @@ function getAgents() {
60
65
  local: path.join(process.cwd(), '.claude', 'skills'),
61
66
  },
62
67
  mcpConfigType: 'cli-command',
63
- mcpCliCommand: 'claude mcp add excalidraw-canvas --scope user -e CANVAS_PORT=3000 -- npx -y @sanjibdevnath/mcp-excalidraw-local',
68
+ mcpCliRemove: 'claude mcp remove excalidraw-canvas --scope user',
69
+ mcpCliCommand: 'claude mcp add excalidraw-canvas --scope user -e CANVAS_PORT=3000 -- npx -y @sanjibdevnath/mcp-excalidraw-local@latest',
70
+ instructionConfig: {
71
+ global: path.join(home, '.claude', 'CLAUDE.md'),
72
+ local: path.join(process.cwd(), 'CLAUDE.md'),
73
+ format: 'claude-md',
74
+ },
64
75
  },
65
76
  {
66
77
  name: 'Codex CLI',
@@ -195,6 +206,17 @@ async function phaseSkillInstall(rl) {
195
206
  fs.mkdirSync(destDir, { recursive: true });
196
207
  copyDirSync(skillSource, destDir);
197
208
  ok(`Installed to ${destDir}`);
209
+ // Write instruction directive to ensure skill auto-triggers
210
+ if (agent.instructionConfig) {
211
+ const instrPath = agent.instructionConfig[scope];
212
+ try {
213
+ writeInstructionDirective(instrPath, agent.instructionConfig.format);
214
+ ok(`Skill directive added to ${instrPath}`);
215
+ }
216
+ catch (instrErr) {
217
+ warn(`Could not write directive to ${instrPath}: ${instrErr.message}`);
218
+ }
219
+ }
198
220
  }
199
221
  catch (err) {
200
222
  fail(`Failed to install to ${destDir}: ${err.message}`);
@@ -214,6 +236,68 @@ function copyDirSync(src, dest) {
214
236
  }
215
237
  }
216
238
  }
239
+ // ── Instruction Directives ──────────────────────────────────
240
+ const DIRECTIVE_MARKER_START = '<!-- excalidraw-mcp:start -->';
241
+ const DIRECTIVE_MARKER_END = '<!-- excalidraw-mcp:end -->';
242
+ const EXCALIDRAW_DIRECTIVE_BODY = 'When Excalidraw MCP tools are available (batch_create_elements, create_element, ' +
243
+ 'create_from_mermaid, etc.), ALWAYS invoke the `/excalidraw-skill` skill FIRST ' +
244
+ 'before calling any Excalidraw tool. The skill contains essential sizing formulas, ' +
245
+ 'batch ordering rules (shapes first, arrows second), and a mandatory ' +
246
+ 'write-check-review verification cycle. Using Excalidraw tools without consulting ' +
247
+ 'this skill produces broken diagrams — invisible arrows, truncated text, ' +
248
+ 'overlapping elements.';
249
+ function buildClaudeMdSection() {
250
+ return [
251
+ DIRECTIVE_MARKER_START,
252
+ '## Excalidraw Canvas — Skill Directive',
253
+ '',
254
+ EXCALIDRAW_DIRECTIVE_BODY,
255
+ DIRECTIVE_MARKER_END,
256
+ ].join('\n');
257
+ }
258
+ function buildCursorMdc() {
259
+ return [
260
+ '---',
261
+ 'description: Always consult excalidraw-skill before using Excalidraw MCP tools',
262
+ 'globs:',
263
+ 'alwaysApply: true',
264
+ '---',
265
+ '',
266
+ '## Excalidraw Canvas — Skill Directive',
267
+ '',
268
+ EXCALIDRAW_DIRECTIVE_BODY,
269
+ '',
270
+ ].join('\n');
271
+ }
272
+ function writeInstructionDirective(filePath, format) {
273
+ const dir = path.dirname(filePath);
274
+ if (!fs.existsSync(dir)) {
275
+ fs.mkdirSync(dir, { recursive: true });
276
+ }
277
+ if (format === 'cursor-mdc') {
278
+ // Cursor .mdc files are standalone — write/overwrite the whole file
279
+ fs.writeFileSync(filePath, buildCursorMdc(), 'utf-8');
280
+ return;
281
+ }
282
+ // For claude-md: append or replace the marked section
283
+ let content = '';
284
+ if (fs.existsSync(filePath)) {
285
+ content = fs.readFileSync(filePath, 'utf-8');
286
+ }
287
+ const section = buildClaudeMdSection();
288
+ const startIdx = content.indexOf(DIRECTIVE_MARKER_START);
289
+ const endIdx = content.indexOf(DIRECTIVE_MARKER_END);
290
+ if (startIdx !== -1 && endIdx !== -1) {
291
+ // Replace existing section
292
+ content = content.slice(0, startIdx) + section + content.slice(endIdx + DIRECTIVE_MARKER_END.length);
293
+ }
294
+ else {
295
+ // Append with spacing
296
+ const trimmed = content.trimEnd();
297
+ content = trimmed + (trimmed ? '\n\n' : '') + section + '\n';
298
+ }
299
+ fs.writeFileSync(filePath, content, 'utf-8');
300
+ }
217
301
  // ── Phase 3: MCP Configuration ──────────────────────────────
218
302
  async function phaseMcpConfig(rl) {
219
303
  heading('3/3', 'MCP Configuration');
@@ -252,6 +336,12 @@ async function phaseMcpConfig(rl) {
252
336
  continue;
253
337
  }
254
338
  try {
339
+ if (agent.mcpCliRemove) {
340
+ try {
341
+ execSync(agent.mcpCliRemove, { stdio: 'pipe' });
342
+ }
343
+ catch { /* ignore if not found */ }
344
+ }
255
345
  execSync(agent.mcpCliCommand, { stdio: 'inherit' });
256
346
  ok(`Registered 'excalidraw-canvas' via ${agent.name} CLI`);
257
347
  }
@@ -266,7 +356,7 @@ async function phaseMcpConfig(rl) {
266
356
  function mergeJsonConfig(configPath) {
267
357
  const mcpEntry = {
268
358
  command: 'npx',
269
- args: ['-y', '@sanjibdevnath/mcp-excalidraw-local'],
359
+ args: ['-y', '@sanjibdevnath/mcp-excalidraw-local@latest'],
270
360
  env: { CANVAS_PORT: '3000' },
271
361
  };
272
362
  let existing = {};
@@ -292,6 +382,23 @@ function mergeJsonConfig(configPath) {
292
382
  }
293
383
  fs.writeFileSync(configPath, JSON.stringify(existing, null, 2) + '\n', 'utf-8');
294
384
  }
385
+ function checkJsonConfigStatus(configPath) {
386
+ if (!fs.existsSync(configPath))
387
+ return 'not-found';
388
+ try {
389
+ const raw = fs.readFileSync(configPath, 'utf-8');
390
+ const config = JSON.parse(raw);
391
+ const entry = config?.mcpServers?.['excalidraw-canvas'];
392
+ if (!entry)
393
+ return 'not-found';
394
+ const args = entry.args ?? [];
395
+ const hasLatest = args.some((a) => a.includes('@latest'));
396
+ return hasLatest ? 'up-to-date' : 'needs-update';
397
+ }
398
+ catch {
399
+ return 'not-found';
400
+ }
401
+ }
295
402
  function printManualConfig() {
296
403
  process.stdout.write(`
297
404
  Manual config (JSON):
@@ -299,7 +406,7 @@ function printManualConfig() {
299
406
  "mcpServers": {
300
407
  "excalidraw-canvas": {
301
408
  "command": "npx",
302
- "args": ["-y", "@sanjibdevnath/mcp-excalidraw-local"],
409
+ "args": ["-y", "@sanjibdevnath/mcp-excalidraw-local@latest"],
303
410
  "env": { "CANVAS_PORT": "3000" }
304
411
  }
305
412
  }
@@ -371,6 +478,17 @@ export async function runUpdate() {
371
478
  copyDirSync(skillSource, inst.path);
372
479
  ok(`Updated ${inst.agent.name} (${inst.scope}) — ${inst.path}`);
373
480
  updated++;
481
+ // Update instruction directive
482
+ if (inst.agent.instructionConfig) {
483
+ const instrPath = inst.agent.instructionConfig[inst.scope];
484
+ try {
485
+ writeInstructionDirective(instrPath, inst.agent.instructionConfig.format);
486
+ ok(`Skill directive updated in ${instrPath}`);
487
+ }
488
+ catch (instrErr) {
489
+ warn(`Could not update directive in ${instrPath}: ${instrErr.message}`);
490
+ }
491
+ }
374
492
  }
375
493
  catch (err) {
376
494
  fail(`Failed to update ${inst.path}: ${err.message}`);
@@ -402,6 +520,17 @@ export async function runUpdate() {
402
520
  fs.mkdirSync(destDir, { recursive: true });
403
521
  copyDirSync(skillSource, destDir);
404
522
  ok(`Installed to ${destDir}`);
523
+ // Write instruction directive
524
+ if (agent.instructionConfig) {
525
+ const instrPath = agent.instructionConfig[scope];
526
+ try {
527
+ writeInstructionDirective(instrPath, agent.instructionConfig.format);
528
+ ok(`Skill directive added to ${instrPath}`);
529
+ }
530
+ catch (instrErr) {
531
+ warn(`Could not write directive to ${instrPath}: ${instrErr.message}`);
532
+ }
533
+ }
405
534
  }
406
535
  catch (err) {
407
536
  fail(`Failed to install to ${destDir}: ${err.message}`);
@@ -411,37 +540,59 @@ export async function runUpdate() {
411
540
  }
412
541
  // ── Phase 2: MCP config check ────────────────────────────
413
542
  heading('2/2', 'MCP Configuration');
414
- const wantConfig = await confirm(rl, 'Re-apply MCP server config? (overwrites existing entry)', false);
415
- if (wantConfig) {
416
- for (const agent of detectedAgents) {
417
- if (agent.mcpConfigType === 'json-file' && agent.mcpConfigPath) {
418
- const doIt = await confirm(rl, `${agent.name} — update ${agent.mcpConfigPath}?`);
543
+ for (const agent of detectedAgents) {
544
+ if (agent.mcpConfigType === 'json-file' && agent.mcpConfigPath) {
545
+ const status = checkJsonConfigStatus(agent.mcpConfigPath);
546
+ if (status === 'up-to-date') {
547
+ ok(`${agent.name} — already uses @latest, auto-updates on restart.`);
548
+ }
549
+ else if (status === 'needs-update') {
550
+ const doIt = await confirm(rl, `${agent.name} — config uses a pinned version. Migrate to @latest?`);
419
551
  if (doIt) {
420
552
  try {
421
553
  mergeJsonConfig(agent.mcpConfigPath);
422
- ok(`Updated 'excalidraw-canvas' in ${agent.mcpConfigPath}`);
554
+ ok(`Migrated to @latest in ${agent.mcpConfigPath}`);
423
555
  }
424
556
  catch (err) {
425
557
  fail(`Failed: ${err.message}`);
426
558
  }
427
559
  }
428
560
  }
429
- else if (agent.mcpConfigType === 'cli-command' && agent.mcpCliCommand) {
430
- const doIt = await confirm(rl, `${agent.name} — re-register via CLI?`);
561
+ else {
562
+ const doIt = await confirm(rl, `${agent.name} — no MCP config found. Add it?`);
431
563
  if (doIt) {
432
564
  try {
433
- execSync(agent.mcpCliCommand, { stdio: 'inherit' });
434
- ok(`Re-registered 'excalidraw-canvas' via ${agent.name} CLI`);
565
+ mergeJsonConfig(agent.mcpConfigPath);
566
+ ok(`Added 'excalidraw-canvas' to ${agent.mcpConfigPath}`);
435
567
  }
436
568
  catch (err) {
437
- fail(`CLI registration failed: ${err.message}`);
569
+ fail(`Failed: ${err.message}`);
438
570
  }
439
571
  }
440
572
  }
441
573
  }
442
- }
443
- else {
444
- info(`${DIM}MCP config unchanged.${RESET}`);
574
+ else if (agent.mcpConfigType === 'cli-command' && agent.mcpCliCommand) {
575
+ info(`${agent.name} — config managed via CLI (cannot auto-detect version).`);
576
+ const doIt = await confirm(rl, `${agent.name} re-register with @latest?`, false);
577
+ if (doIt) {
578
+ try {
579
+ if (agent.mcpCliRemove) {
580
+ try {
581
+ execSync(agent.mcpCliRemove, { stdio: 'pipe' });
582
+ }
583
+ catch { /* ignore if not found */ }
584
+ }
585
+ execSync(agent.mcpCliCommand, { stdio: 'inherit' });
586
+ ok(`Re-registered 'excalidraw-canvas' via ${agent.name} CLI`);
587
+ }
588
+ catch (err) {
589
+ fail(`CLI registration failed: ${err.message}`);
590
+ }
591
+ }
592
+ else {
593
+ info(`${DIM}Skipped.${RESET}`);
594
+ }
595
+ }
445
596
  }
446
597
  process.stdout.write(`\n ${GREEN}${BOLD}Update complete!${RESET} Restart your MCP client to pick up changes.\n\n`);
447
598
  }
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanjibdevnath/mcp-excalidraw-local",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Fully local MCP server for Excalidraw with SQLite persistence, multi-tenancy, auto-sync, real-time canvas, and 32 tools",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: excalidraw-skill
3
- description: Programmatic canvas toolkit for creating, editing, and refining Excalidraw diagrams via MCP tools (32 tools) or REST API with real-time canvas sync, multi-tenant workspace isolation, SQLite persistence, project management, full-text search, and element version history. Use when an agent needs to draw or lay out diagrams on a live canvas, iteratively refine diagrams using screenshots, manage workspaces/tenants and projects, export/import .excalidraw files or PNG/SVG images, search elements, view change history, save/restore canvas snapshots, or perform element-level CRUD. Canvas server port is configurable via CANVAS_PORT env var (default 3000).
3
+ description: MANDATORY prerequisite for ALL Excalidraw MCP tool usage. Read this skill BEFORE calling any Excalidraw tool (batch_create_elements, create_element, create_from_mermaid, update_element, etc.) without this skill's sizing formulas, two-batch ordering (shapes first, arrows second), and write-check-review verification cycle, diagrams will have invisible arrows, truncated text, and overlapping elements. Use whenever the user asks to draw, create, visualize, sketch, or diagram anything flowcharts, architecture diagrams, system designs, org charts, sequence flows, decision trees, network topologies, ER diagrams, mind maps, or any visual on Excalidraw canvas. Also covers diagram refinement, PNG/SVG export, project/workspace management, and all canvas interactions.
4
4
  ---
5
5
 
6
6
  # Excalidraw Skill