Commit Graph
24 Commits
Author SHA1 Message Date
7143b5e41e feat: add SQLite persistence, multi-tenancy, auto-sync, and CI/Docker improvements (#1)
Replace in-memory storage with SQLite (WAL mode), add workspace-based
multi-tenancy with auto-detection via server.listRoots(), and embed the
canvas server into the MCP process for single-process operation.

🔧 Core enhancements:
- SQLite persistence with versioning, element history, and search
- Multi-tenancy: isolated canvases per workspace (SHA-256 tenant IDs)
- Embedded canvas lifecycle (single node process starts MCP + canvas)
- Auto-sync with 3s debounce and manual override toggle
- Configurable canvas port via CANVAS_PORT env var
- 6 new MCP tools (search, history, tenants, projects)
- Workspace switcher UI with dropdown search
- Sync normalization to prevent bound-text breakage on reload

🐳 Docker & CI improvements:
- BuildKit cache mounts for faster npm installs across builds
- Skip native compilation in frontend-builder stage (--ignore-scripts)
- Build only linux/amd64 on PRs, multi-arch on push to main
- Docker Hub registry with proper build tools for better-sqlite3
- CI and Docker status check gates (github/ci-status-check, github/docker-build-check)

📦 Package & publishing:
- Renamed to @sanjibdevnath/mcp-excalidraw-local (v3.0.0)
- Updated npm-publish workflow for scoped package
- Updated bin entry, keywords, and files list

📝 Documentation:
- README with UI screenshots, architecture diagram, and full feature docs
- Updated agent skill with 32-tool cheatsheet and workflow playbooks
- Fork attribution and upstream comparison table

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-19 10:17:29 +05:30
yctimlin 9883dce220 add gif demo 2026-02-14 13:23:52 +08:00
yctimlinandGitHub 913f9b89b7 Updates to Excalidraw MCP server and documentation (#43) 2026-02-13 00:20:01 +08:00
yctimlinandGitHub 4a17c47b54 Feat/canvas toolkit v2 (#41)
* feat: enhance Excalidraw MCP with advanced canvas toolkit features

- Rename skill to `excalidraw-skill` with expanded playbook and cheatsheet.
- Add new MCP tools for iterative refinement: `describe_scene` and `get_canvas_screenshot`.
- Implement layout tools (`align_elements`, `distribute_elements`) and `duplicate_elements`.
- Add file I/O support for `.excalidraw` JSON and image export (PNG/SVG).
- Introduce named snapshots for canvas state management.
- Add server-side element CRUD and WebSocket handlers for real-time sync.
- Normalize `points` format for arrows and lines.

* docs: update README with v2.0 features and official MCP comparison

* feat: implement arrow binding and edge-to-edge routing

* fix: enhance security with path sanitization and improve export error handling

* feat: add viewport control, design guide, and excalidraw.com URL export

* feat: enhance excalidraw.com export with proper scene formatting and labels
2026-02-12 18:09:56 +08:00
yctimlin 1359720f66 feat: Add Zod and OpenCode AI SDK dependencies and agent skill files. 2026-01-26 00:37:06 +08:00
d73fa53cde Feat/excalidraw skill (#38)
* feat(skill): add excalidraw-mcp skill with export/import helpers

* fix(skill): correct url trailing-slash normalization in scripts

* feat(skill): add create/update/delete helpers and document CRUD test

* docs: restructure README and document skill usage

* docs: make README skill guidance tool-agnostic and SEO-friendly

* docs: add Claude Code skill installation instructions

* feat: Introduce skill creation tools and an agent-browser skill with templates and reference documentation.

* fix(frontend): keep server element ids for WS updates

Ensure WS delete/update events match scene element IDs by disabling ID regeneration when converting server payloads.

* feat: Add Zod library and OpenCode AI SDK dependencies, and introduce new Excalidraw skill scripts for element deletion and health checks.

* chore: Install project dependencies including Zod and OpenCode AI SDK, and add an Excalidraw reference cheatsheet.

---------

Co-authored-by: YC Lin <yclin@YCdeMacBook-Air.local>
2026-01-26 00:17:18 +08:00
francisco 98b7c6ec69 docs: add Mermaid diagram support documentation to README 2025-11-01 13:58:22 -03:00
yctimlin 5d6b8d0033 Add comprehensive GitHub Actions CI/CD workflows and update documentation 2025-10-31 17:00:48 +00:00
yctimlin 4cfe5ce1fc update readme 2025-10-31 16:47:43 +00:00
yctimlin 07f7b20be0 update readme 2025-10-31 16:21:19 +00:00
Karl Weinmeister b5297cb947 feat: add configuration option for log file path 2025-10-18 07:31:20 -05:00
CHENG-TING CHEN 71e94307da fix: set figure aligned 2025-09-19 15:16:21 +08:00
yctimlin 5043a67385 Refactor project structure and enhance TypeScript support
- Updated package.json to point to compiled TypeScript files in the dist directory.
- Improved TypeScript configuration with stricter type checks and removed JavaScript support.
- Migrated frontend entry point to TypeScript and added a new App component with enhanced functionality.
- Implemented a new server structure with TypeScript, including WebSocket support and improved element management.
- Updated README to reflect changes in architecture and usage instructions.
- Added comprehensive type definitions for Excalidraw elements and server responses.
2025-08-20 15:31:42 +00:00
yctimlin 661d343b18 update readme 2025-07-12 10:36:24 +00:00
yctimlin 86232d9c94 fix text label bugs 2025-07-12 09:01:51 +00:00
yctimlin afa145bd73 update readme 2025-07-12 07:56:06 +00:00
yctimlin cb743c6a1e Add MIT License, update project name and description in package.json, enhance README.md with installation instructions, and modify index.js for CLI support
- Introduce LICENSE file with MIT License details.
- Change project name to 'mcp-excalidraw-server' and update description in package.json for clarity on features.
- Revise README.md to include new installation options and usage instructions for the npm package.
- Add shebang to index.js for direct CLI execution.
2025-07-11 19:52:18 +00:00
ycsahara cee3b775bf Update README.md and remove unused files for Excalidraw MCP Canvas
- Revise README.md to reflect the new project name and features, emphasizing real-time diagramming and AI integration.
- Remove outdated public HTML files and CLI script as they are no longer needed.
- Streamline installation and setup instructions for better clarity.
- Enhance architecture overview and key features sections to provide a comprehensive understanding of the system.
2025-07-11 19:31:22 +00:00
yctimlin 31c0dbd2d1 Add integration instructions for Cursor in README.md, including configuration details for mcp.json file and setup steps for users. 2025-05-12 23:20:49 +08:00
yctimlin 2c22953542 Update README.md to announce the release of version 1.0.0 on npm, enhance npx usage instructions, and add command-line options for server configuration. Include details for global installation and local development setup. 2025-05-12 23:16:28 +08:00
yctimlin 110bb19642 support npx 2025-05-12 22:27:24 +08:00
ycsahara c0ac378695 Add .excalidraw to .gitignore, enhance README.md with Cursor integration instructions, and add mcp.json.example for configuration 2025-03-17 13:18:27 +08:00
yctimlin 7a72c187a6 Enhance README.md with comprehensive features and usage details for Excalidraw MCP server. Updated sections for integration, installation, and examples to improve clarity and developer experience. 2025-03-16 22:45:52 +08:00
yctimlin 860e905b56 Initialize Excalidraw MCP server with essential files including Docker setup, environment configuration, and logging. Added core functionality for element manipulation and server operations. 2025-03-16 21:52:02 +08:00