Skip to main content
Glama

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

Componentes

Recursos

El servidor expone los siguientes recursos:

  • canvas://schema : Esquema JSON para validar archivos de lienzo
  • canvas://examples : Archivos de lienzo de ejemplo que demuestran diferentes funciones
  • canvas://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 nodo
        • Común: id , x , y , width , height , color
        • Especí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 actualizar
      • properties (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 único
      • fromNode (cadena): ID del nodo de origen
      • toNode (cadena): ID del nodo de destino
      • fromSide (cadena opcional): Lado de inicio ("arriba", "derecha", "abajo", "izquierda")
      • toSide (cadena opcional): lado final
      • color (cadena opcional): color del borde
      • label (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 pytest

Ejemplo 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.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor de protocolo de contexto de modelo que permite crear, modificar y validar estructuras de datos de lienzo infinitas según la especificación JSON Canvas 1.0.

  1. Descripción general
    1. Componentes
      1. Recursos
      2. Herramientas
    2. Uso con Claude Desktop
      1. Estibador
      2. UV
    3. Configuración
      1. Edificio
        1. Compilación de Docker
        2. Construcción local
      2. Ejemplo de uso
        1. Creando un lienzo
      3. Licencia

        Related MCP Servers

        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that integrates with Cursor IDE, providing real-time communication, modern web dashboards, and extensible tools via SSE and WebSocket connections.
          Last updated -
          1,071
          1
          Python
        • -
          security
          F
          license
          -
          quality
          A 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.
          Last updated -
          31
          5
          JavaScript
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that provides API functionality for creating, managing, and exporting Excalidraw drawings in various formats like SVG, PNG, and JSON.
          Last updated -
          3
          JavaScript
        • -
          security
          F
          license
          -
          quality
          A Model Context Protocol server that helps students manage academic workflows by integrating with Canvas and Gradescope to fetch deadlines, download course materials, and sync with macOS Calendar or Reminders.
          Last updated -
          3
          Python
          • Apple

        View all related MCP servers

        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/mcp-server-obsidian-jsoncanvas'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server