What noddle draw MCP server does
The noddle draw MCP server connects AI agents to noddle draw boards. It provides an agent-facing path to inspect boards, create or modify diagram content, browse version history, and work with comments. The underlying application supports structured shapes, connectors, cloud stencils, text, images, multiple pages, and saved board data, so agents can work with diagrams rather than only plain text descriptions.
Boards are addressed through URLs that act as capability links. The README describes these resources as noddle://board/{id}. No separate board token is required for the MCP workflow described by the project; possession of the board URL grants access in the same way as the web application.
How it works
The MCP implementation lives in the repository's mcp/ directory and uses only the Python standard library. It communicates with the noddle draw REST API, while the main application provides FastAPI endpoints, WebSocket collaboration, and either file or PostgreSQL persistence. This separation lets an agent use MCP operations while people continue editing the same board in the browser.
The board supports concurrent collaboration, live state synchronization, anonymous comments pinned to shapes, and per-board version history with restore. Agents can therefore use the server to review an existing diagram, apply changes, inspect earlier versions, or add discussion context. The README also identifies design and review prompts, along with AI generation capabilities, as part of the MCP interface.
Setup and configuration
The project can be self-hosted with Docker Compose. The documented command builds and starts the application at http://localhost:8000; the deployment includes a FastAPI backend, a prebuilt React application, and PostgreSQL. For a simpler container deployment, the project also documents a GHCR image using a mounted storage volume, although the release image must be available first.
Local development can run the backend with Python and Uvicorn and the frontend with Vite. When DATABASE_URL is not set, the application stores data in backend/storage/ files instead of using a database. The README says server settings are optional and refers to .env.example for the complete configuration list. No MCP-specific environment variable is identified in the supplied material.
Tools and capabilities
The documented MCP surface covers:
- Reading and changing boards.
- Creating board content through the REST API.
- Browsing versions and restoring earlier board states.
- Reading and adding comments.
- AI generation operations.
- Design and review prompts.
- Board resources using the
noddle://board/{id} pattern.
The wider noddle draw application can import and export board JSON, draw.io, Mermaid, SVG, and images, and can export SVG, PNG, animated GIF, Mermaid, and board JSON. Those formats are application capabilities; the supplied material does not map each one to a specific MCP operation.
Limitations and notes
The noddle draw MCP server depends on access to a running noddle draw deployment and a valid board URL. The URL is the authorization mechanism: anyone who obtains it can view and co-edit the board, so it should be handled as a secret. The README does not provide a separate authentication or permission model for MCP clients.
AI features are optional. Browser-based AI editing uses a provider key stored in browser local storage, while a server-side free pool may be configured with OPENROUTER_POOL_KEY; the supplied material does not state that MCP requests use either arrangement. Uploaded and generated SVG is sanitized by the application, and the project states that browser-held BYOK keys are not stored or logged by the server.