JSON Canvas MCP Server
Servidor MCP de lienzo JSON
Una implementación de servidor del Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para trabajar con archivos JSON Canvas según la especificación oficial . Este servidor permite crear, modificar y validar estructuras de datos Canvas infinitas.
Descripción general
El servidor JSON Canvas MCP proporciona una implementación completa de la especificación JSON Canvas 1.0, lo que permite:
Creación y manipulación de datos de lienzo infinitos
Soporte para todos los tipos de nodos (texto, archivo, enlace, grupo)
Conexiones de borde con estilo y etiquetas
Validación contra la especificación
Rutas de salida configurables
Related MCP server: MCP REST API Server
Componentes
Recursos
El servidor expone los siguientes recursos:
canvas://schema: Esquema JSON para validar archivos de lienzocanvas://examples: Archivos de lienzo de ejemplo que demuestran diferentes funcionescanvas://templates: Plantillas para crear nuevos lienzos
Herramientas
Operaciones de nodo
crear_nodo
Crea un nuevo nodo de cualquier tipo compatible
Aporte:
type(cadena): Tipo de nodo ("texto", "archivo", "enlace", "grupo")properties(objeto): Propiedades específicas del nodoComún:
id,x,y,width,height,colorEspecífico del tipo:
text,file,url, etc.
Devuelve: objeto de nodo creado
nodo_de_actualización
Actualizar las propiedades de un nodo existente
Aporte:
id(cadena): ID del nodo a actualizarproperties(objeto): Propiedades a actualizar
Devuelve: objeto de nodo actualizado
eliminar_nodo
Eliminar un nodo y sus bordes conectados
Aporte:
id(cadena): ID del nodo a eliminar
Devoluciones: Confirmación de éxito
Operaciones de borde
crear_borde
Crear un nuevo borde entre nodos
Aporte:
id(cadena): identificador de borde únicofromNode(cadena): ID del nodo de origentoNode(cadena): ID del nodo de destinofromSide(cadena opcional): Lado de inicio ("arriba", "derecha", "abajo", "izquierda")toSide(cadena opcional): lado finalcolor(cadena opcional): color del bordelabel(cadena opcional): etiqueta de borde
Devuelve: objeto de borde creado
actualizar_borde
Actualizar las propiedades de un borde existente
Aporte:
id(cadena): ID de borde que se actualizaráproperties(objeto): Propiedades a actualizar
Devoluciones: objeto de borde actualizado
eliminar_borde
Quitar un borde
Aporte:
id(cadena): ID del borde que se eliminará
Devoluciones: Confirmación de éxito
Operaciones de Canvas
validar_lienzo
Validar un lienzo contra la especificación
Aporte:
canvas(objeto): Datos del canvas a validar
Devuelve: Resultados de validación con cualquier error
lienzo_de_exportación
Exportar lienzo a diferentes formatos
Aporte:
format(cadena): Formato de destino ("json", "svg", "png")canvas(objeto): Datos de Canvas para exportar
Devoluciones: Lienzo exportado en el formato solicitado
Uso con Claude Desktop
Estibador
Agregue esto a su claude_desktop_config.json :
{
"mcpServers": {
"jsoncanvas": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"canvas-data:/data",
"mcp/jsoncanvas"
],
"env": {
"OUTPUT_PATH": "/data/output"
}
}
}
}UV
{
"mcpServers": {
"jsoncanvas": {
"command": "uv",
"args": [
"--directory",
"/path/to/jsoncanvas",
"run",
"mcp-server-jsoncanvas"
],
"env": {
"OUTPUT_PATH": "./output"
}
}
}
}Configuración
El servidor se puede configurar mediante variables de entorno:
OUTPUT_PATH: Directorio donde se guardarán los archivos de lienzo (predeterminado: "./output")FORMAT: Formato de salida predeterminado para archivos de lienzo (predeterminado: "json")
Edificio
Compilación de Docker
docker build -t mcp/jsoncanvas .Construcción local
# Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .
# Run tests
pytestEjemplo de uso
Creando un lienzo
from jsoncanvas import Canvas, TextNode, Edge
# Create nodes
title = TextNode(
id="title",
x=100,
y=100,
width=400,
height=100,
text="# Hello Canvas\n\nThis is a demonstration.",
color="#4285F4"
)
info = TextNode(
id="info",
x=600,
y=100,
width=300,
height=100,
text="More information here",
color="2" # Using preset color
)
# Create canvas
canvas = Canvas()
canvas.add_node(title)
canvas.add_node(info)
# Connect nodes
edge = Edge(
id="edge1",
from_node="title",
to_node="info",
from_side="right",
to_side="left",
label="Connection"
)
canvas.add_edge(edge)
# Save canvas
canvas.save("example.canvas")Licencia
Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables interaction with the Canvas Learning Management System API, allowing users to manage courses, assignments, enrollments, and grades within Canvas.54339103JavaScriptMIT
- FlicenseNot gradedqualityDmaintenanceA server implementation of the Model Context Protocol (MCP) that provides REST API endpoints for managing and interacting with MCP resources.
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables real-time communication using Server-Sent Events (SSE), providing standardized model management and resource templating capabilities.
- AlicenseCqualityDmaintenanceA Model Context Protocol server implementation that enables real-time data communication between web pages and client applications through WebSocket connections.21,284MIT
Related MCP Connectors
MCP Spec Compliance MCP — audits any MCP server.json against the official Model Context Protocol
A Model Context Protocol server for Wix AI tools
Create, validate, edit, export (markdown/svg/png/mermaid), and search JSON Canvas files.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Cam10001110101/obsidian-jsoncanvas'
If you have feedback or need assistance with the MCP directory API, please join our Discord server