JSON Canvas MCP Server
Overview
The JSON Canvas MCP Server is an implementation of the Model Context Protocol (MCP) that provides tools for creating, modifying, and validating JSON Canvas files according to the official specification. It allows users to work with infinite canvas data structures effectively.
To use the JSON Canvas MCP Server, you can run it via Docker or UV, configure it with environment variables, and interact with it through its API to create and manage canvas data.
- Full implementation of the JSON Canvas 1.0 specification. - Support for various node types (text, file, link, group). - Edge connections with customizable styling and labels. - Validation of canvas data against the specification. - Exporting canvas data to multiple formats (JSON, SVG, PNG).
- Creating interactive diagrams and flowcharts.
- Managing complex data visualizations.
- Collaborating on design projects using infinite canvas.
Add to your AI client
Use these steps to connect JSON Canvas MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"mcp-server-obsidian-jsoncanvas-cam10001110101": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-obsidian-jsoncanvas-cam10001110101"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"mcp-server-obsidian-jsoncanvas-cam10001110101": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-obsidian-jsoncanvas-cam10001110101"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"mcp-server-obsidian-jsoncanvas-cam10001110101": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-obsidian-jsoncanvas-cam10001110101"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"mcp-server-obsidian-jsoncanvas-cam10001110101": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-obsidian-jsoncanvas-cam10001110101"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"mcp-server-obsidian-jsoncanvas-cam10001110101": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-obsidian-jsoncanvas-cam10001110101"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"mcp-server-obsidian-jsoncanvas-cam10001110101": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-obsidian-jsoncanvas-cam10001110101"
]
}
}
}FAQ
What types of nodes can I create?
You can create text, file, link, and group nodes.
How do I validate my canvas?
Use the validate_canvas operation to check your canvas against the specification.
Is there a way to export my canvas?
Yes, you can export your canvas in JSON, SVG, or PNG formats.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":1811,"uuid":"3f527e6f-1387-484b-ab68-8201818ce4d9","name":"mcp-server-obsidian-jsoncanvas","title":"JSON Canvas MCP Server","description":"","avatar_url":"https://avatars.githubusercontent.com/u/168899055?v=4","created_at":"2025-03-05T05:28:41.391+00:00","updated_at":"2025-03-12T10:20:54.009+00:00","status":"created","author_name":"Cam10001110101","author_avatar_url":"https://avatars.githubusercontent.com/u/168899055?v=4","tags":"jsoncanvas,mcp-server,canvas-tools","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/Cam10001110101/mcp-server-obsidian-jsoncanvas","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":"{\"star\":\"0\",\"license\":\"MIT license\",\"language\":\"Python\",\"is_official\":false,\"latest_commit_time\":\"2025-03-03 17:18:16\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]