- Home
- MCP servers
- JSON Canvas
JSON Canvas
- python
12
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
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.
How to use
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.
How to install
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)
- 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/jsoncanvas
Option B: UVX / UV based local run
If 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-jsoncanvas
Configuration notes
Two 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=json
Available tools
create_node
Create a new node of any supported type with common and type-specific properties. Returns the created node object.
update_node
Update properties of an existing node by its ID. Returns the updated node object.
delete_node
Remove a node and its connected edges by node ID. Returns a success confirmation.
create_edge
Create a new edge between two nodes with optional sides, color, and label. Returns the created edge object.
update_edge
Update properties of an existing edge by its ID. Returns the updated edge object.
delete_edge
Remove an edge by its ID. Returns a success confirmation.
validate_canvas
Validate a canvas against the JSON Canvas 1.0 specification. Returns validation results with any errors.
export_canvas
Export a canvas to formats such as json, svg, or png. Returns the exported canvas data.