基本能力
产品定位
JSON Canvas MCP Server 是一个专门用于处理 JSON Canvas 文件的服务,支持创建、修改和验证无限画布数据结构。
核心功能
- 创建和操作无限画布数据
- 支持所有节点类型(文本、文件、链接、组)
- 边连接与样式设置
- 画布验证
- 可配置的输出路径
适用场景
- 开发者和设计师需要构建和操作复杂画布结构
- 需要验证画布数据是否符合规范
- 需要将画布导出为不同格式(如 JSON、SVG、PNG)
工具列表
- Node Operations
create_node
: 创建新节点update_node
: 更新节点属性delete_node
: 删除节点- Edge Operations
create_edge
: 创建新边update_edge
: 更新边属性delete_edge
: 删除边- Canvas Operations
validate_canvas
: 验证画布export_canvas
: 导出画布
常见问题解答
- 如何配置输出路径?通过环境变量
OUTPUT_PATH
设置。 - 如何更改默认输出格式?通过环境变量
FORMAT
设置。
使用教程
使用依赖
- 安装 Docker 或 UV(根据使用方式选择)
安装教程
Docker 安装
bash
docker build -t mcp/jsoncanvas .
本地安装
```bash
安装 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
```
调试方式
- 使用
pytest
运行测试 - 通过示例代码验证功能
```python
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")
```