home / mcp / json canvas mcp server
Provides a complete MCP server for creating, validating, and exporting JSON Canvas canvases with node/edge management and canvas validation.
Configuration
View docs{
"mcpServers": {
"cam10001110101-mcp-server-obsidian-jsoncanvas": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"canvas-data:/data",
"mcp/jsoncanvas"
],
"env": {
"FORMAT": "json",
"OUTPUT_PATH": "\\/data\\/output"
}
}
}
}You can run a JSON Canvas MCP Server to create, modify, validate, and export infinite canvas data structures. This server exposes a complete implementation of the JSON Canvas 1.0 spec, enabling you to manage nodes, edges, and canvases with configurable output paths and built‑in validation.
Connect to the JSON Canvas MCP Server using your MCP client to perform common actions such as creating nodes, connecting edges, validating canvases, and exporting in multiple formats. You can run the server locally or via a container, then send requests to manage nodes (create_node, update_node, delete_node), edges (create_edge, update_edge, delete_edge), and canvas operations (validate_canvas, export_canvas). Use these capabilities to build, modify, and verify complex, interconnected canvas structures for dashboards, documentation, or design systems.
Prerequisites you need installed on your machine before you run the MCP server:
Option A: Docker based deployment (Docker runs the MCP server in a container)
1) Ensure Docker is installed and running on your system. 2) Create a data directory for persistent output if needed. 3) Run the container with the provided command.
# Pull and run the MCP server in Docker
# Your data will be stored in a data volume mounted at /data
# OUTPUT_PATH is exposed as /data/output inside the container
# Command to run
docker run -i --rm -v canvas-data:/data mcp/jsoncanvasIf you prefer running the server locally without Docker, install the UV runtime and start the MCP server as shown.
# Install UV runtime (example)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create a virtual environment and install dependencies
uv venv
source .venv/bin/activate
uv pip install -e .
# Run tests (optional)
pytest
# Run the server via UV with your canvas source path
uv run mcp-server-jsoncanvasTwo environment variables influence how your canvases are saved and exported. OUTPUT_PATH sets the directory for canvas files, and FORMAT defines the default export format.
# Example environment configuration for container or local run
OUTPUT_PATH=/data/output
FORMAT=jsonCreate a new node of any supported type with common and type-specific properties. Returns the created node object.
Update properties of an existing node by its ID. Returns the updated node object.
Remove a node and its connected edges by node ID. Returns a success confirmation.
Create a new edge between two nodes with optional sides, color, and label. Returns the created edge object.
Update properties of an existing edge by its ID. Returns the updated edge object.
Remove an edge by its ID. Returns a success confirmation.
Validate a canvas against the JSON Canvas 1.0 specification. Returns validation results with any errors.
Export a canvas to formats such as json, svg, or png. Returns the exported canvas data.