JSON Canvas MCP Server

JSON Canvas MCP Server

site icon
2025.03.04 3
PythonJSON Canvas画布操作数据验证内容生成开发效率
JSON Canvas MCP Server 是一个基于 Model Context Protocol (MCP) 的服务实现,专门用于处理 JSON Canvas 文件。该服务遵循 JSON Canvas 1.0 官方规范,提供了创建、修改和验证无限画布数据结构的能力。核心功能包括节点和边的操作、画布验证以及多种格式的导出。适用于需要构建和操作复杂画布结构的开发者和设计师。
View on GitHub

Overview

基本能力

产品定位

JSON Canvas MCP Server 是一个专门用于处理 JSON Canvas 文件的服务,支持创建、修改和验证无限画布数据结构。

核心功能

  • 创建和操作无限画布数据
  • 支持所有节点类型(文本、文件、链接、组)
  • 边连接与样式设置
  • 画布验证
  • 可配置的输出路径

适用场景

  • 开发者和设计师需要构建和操作复杂画布结构
  • 需要验证画布数据是否符合规范
  • 需要将画布导出为不同格式(如 JSON、SVG、PNG)

工具列表

  1. Node Operations
  2. create_node: 创建新节点
  3. update_node: 更新节点属性
  4. delete_node: 删除节点
  5. Edge Operations
  6. create_edge: 创建新边
  7. update_edge: 更新边属性
  8. delete_edge: 删除边
  9. Canvas Operations
  10. validate_canvas: 验证画布
  11. export_canvas: 导出画布

常见问题解答

  • 如何配置输出路径?通过环境变量 OUTPUT_PATH 设置。
  • 如何更改默认输出格式?通过环境变量 FORMAT 设置。

使用教程

使用依赖

  1. 安装 Docker 或 UV(根据使用方式选择)

安装教程

Docker 安装

docker build -t mcp/jsoncanvas .

本地安装

# 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# 创建虚拟环境并安装依赖
uv venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
uv pip install -e .

# 运行测试
pytest

调试方式

  1. 使用 pytest 运行测试
  2. 通过示例代码验证功能
from jsoncanvas import Canvas, TextNode, Edge

# 创建节点
title = TextNode(
    id="title",
    x=100,
    y=100,
    width=400,
    height=100,
    text="# Hello Canvas\n\nThis is a demonstration.",
    color="#4285F4"
)

# 创建画布
canvas = Canvas()
canvas.add_node(title)

# 保存画布
canvas.save("example.canvas")

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。