JSON Canvas MCP Server
@Cam10001110101
About JSON Canvas MCP Server
No overview available yet
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"mcp-server-obsidian-jsoncanvas": {
"command": "docker",
"args": [
"build",
"-t",
"mcp/jsoncanvas",
"."
]
}
}
}Tools
7Create a canvas from `nodes` (and optional `edges`) and write it to a
Validate canvas data against the JSON Canvas 1.0 specification.
Read a stored `.canvas` file and return its nodes and edges.
List the `.canvas` files available in `OUTPUT_PATH`.
Add, update, and/or remove nodes and edges on a stored canvas in one
Export a stored canvas to another format.
Case-insensitive substring search across stored canvases.
Overview
What is JSON Canvas MCP Server?
An MCP (Model Context Protocol) server for working with JSON Canvas files (.canvas), the open infinite-canvas format used by Obsidian. It allows an MCP client to create, validate, read, list, edit, export, and search canvas files. Built on the mcp Python SDK (>=1.27) and runs over stdio or Streamable HTTP transport.
How to use JSON Canvas MCP Server?
Install via Docker or uv. Configure the server with environment variables (e.g., OUTPUT_PATH). Invoke with mcp-server-jsoncanvas. Integrate with Claude Desktop by adding a stanza to claude_desktop_config.json (see examples for Docker and uv). The server can also be used as a Python library via the jsoncanvas package.
Key features of JSON Canvas MCP Server
- Five tools:
create_canvas,validate_canvas,read_canvas,list_canvases,edit_canvas,export_canvas,search_canvases - Interactive canvas viewer (MCP Apps UI) for UI-capable hosts
- Export canvases to Markdown (edge-ordered outline) or SVG (vector image)
- Atomic edit operations (add/update/remove nodes and edges)
- Case-insensitive substring search across stored canvases
Use cases of JSON Canvas MCP Server
- Creating and saving structured infinite canvas files from AI conversations
- Validating canvas data against the JSON Canvas 1.0 specification
- Reading and editing existing canvases programmatically
- Searching across multiple canvases for specific content
- Exporting canvases as Markdown outlines or SVG images
FAQ from JSON Canvas MCP Server
What transports does the server support?
It supports stdio (default) and Streamable HTTP. Set MCP_TRANSPORT environment variable or use the --transport streamable-http command-line flag.
How do I configure the server?
Set the OUTPUT_PATH environment variable to the directory where .canvas files are stored (default ./output). For HTTP transport, optionally set MCP_HOST, MCP_PORT, and MCP_CORS_ORIGINS.
Can I use the server as a Python library?
Yes. The jsoncanvas package can be imported directly to create Canvas objects, add nodes/edges, and serialize to JSON.
Is the HTTP transport secure?
No. It is unauthenticated and intended for local use only. The server binds to 127.0.0.1 by default and rejects non-localhost Host/Origin headers. For remote access, front it with an authenticating reverse proxy.
Does the interactive canvas viewer require a UI?
Only MCP hosts that support the MCP Apps UI extension can render the interactive canvas viewer. Text-only clients receive canvas data as structured output.
Frequently asked questions
What transports does the server support?
It supports stdio (default) and Streamable HTTP. Set `MCP_TRANSPORT` environment variable or use the `--transport streamable-http` command-line flag.
How do I configure the server?
Set the `OUTPUT_PATH` environment variable to the directory where `.canvas` files are stored (default `./output`). For HTTP transport, optionally set `MCP_HOST`, `MCP_PORT`, and `MCP_CORS_ORIGINS`.
Can I use the server as a Python library?
Yes. The `jsoncanvas` package can be imported directly to create `Canvas` objects, add nodes/edges, and serialize to JSON.
Is the HTTP transport secure?
No. It is unauthenticated and intended for local use only. The server binds to `127.0.0.1` by default and rejects non-localhost `Host`/`Origin` headers. For remote access, front it with an authenticating reverse proxy.
Does the interactive canvas viewer require a UI?
Only MCP hosts that support the MCP Apps UI extension can render the interactive canvas viewer. Text-only clients receive canvas data as structured output.
Basic information
More Memory & Knowledge MCP servers

Memory
modelcontextprotocolModel Context Protocol Servers
minutes
silversteinEvery meeting, every idea, every voice note — searchable by your AI. Open-source, privacy-first conversation memory layer.
Groundwork
Rarefied-EarthGroundwork: company memory for your AI tools. Docs public. Source closed. Public proof needs no account.
Context7 MCP - Up-to-date Docs For Any Cursor Prompt
upstashContext7 Platform -- Up-to-date code documentation for LLMs and AI code editors
Notion MCP Integration
danhilseA simple MCP integration that allows Claude to read and manage a personal Notion todo list
Comments