Token导航 LogoToken导航TokenDH.com
svg MCP logo
开发工具stdio官方级别未说明来源级核验

svg MCP

MCP Server

一个提供持久化SVG画布的MCP服务器,支持通过简单工具调用进行绘制,并可将画布导出为PNG或SVG格式。

工具数

29

提示词数

0

GitHub Stars

0

资源数

0
Python开发工具命令行工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

datakurre

提供方

datakurre

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install cairosvg "mcp[cli]"

详细介绍

svg mcp

一个MCP服务器,它提供了一个持久的SVG画布,您可以通过简单的工具调用进行绘制。每个工具都会将当前画布返回为PNG图像,这样您就可以在每个步骤后直观地检查进度。

特性

  • 持久内存画布——元素在工具调用中累积
  • 用于矩形、圆形、椭圆形、直线、折线、多边形、路径和文本的形状工具
  • draw_raw_svg 任意SVG片段的转义阴影
  • add_def 用于渐变、图案、剪辑路径和过滤器
  • 导出到 可缩放矢量图形便携式网络图形 (具有可配置的分辨率比例)
  • 每个工具都将当前画布作为PNG预览返回

需求

  • Python≥3.14
  • 开罗 系统库(由使用 cairosvg 用于PNG渲染)

在Ubuntu/Debian上:

sudo apt install libcairo2

在macOS(Homebrew)上:

brew install cairo

Python依赖关系:

pip install cairosvg "mcp[cli]"

运行服务器

服务器通过以下方式进行通信 标准 (标准MCP传输):

python main.py

MCP客户端配置

使用Nix(推荐)

如果你有 尼克斯 已安装,不需要本地签出。使用 nix run 命令--Nix将自动获取、构建和缓存所有内容。

克劳德桌面(claude_desktop_config.json)

{
  "mcpServers": {
    "svg-mcp": {
      "command": "nix",
      "args": ["run", "github:datakurre/svg-mcp"]
    }
  }
}

VS代码(settings.json)

{
  "mcp": {
    "servers": {
      "svg-mcp": {
        "type": "stdio",
        "command": "nix",
        "args": ["run", "github:datakurre/svg-mcp"]
      }
    }
  }
}

没有Nix(本地Python)

克劳德桌面(claude_desktop_config.json)

{
  "mcpServers": {
    "svg-mcp": {
      "command": "python",
      "args": ["/path/to/svg-mcp/main.py"]
    }
  }
}

VS代码(settings.json)

{
  "mcp": {
    "servers": {
      "svg-mcp": {
        "type": "stdio",
        "command": "python",
        "args": ["/path/to/svg-mcp/main.py"]
      }
    }
  }
}

替换 /path/to/svg-mcp/main.py 机器上的绝对路径。

工具参考

画布管理

工具说明
create_canvas(width, height, background)创建或重置画布。默认值:800×600,白色背景。
resize_canvas(width, height, background)调整画布大小而不清除元素。背景是可选的。
clear_canvas()删除所有元素(和defs),保留大小和背景。
get_canvas()返回当前画布的PNG预览,不做任何更改。
get_svg_source()返回当前画布的原始SVG源代码。
list_elements()按z顺序列出所有元素ID(底部→ top).
get_element(element_id)返回单个元素的原始SVG片段。
remove_element(element_id)按ID删除单个元素
update_element(element_id, svg_fragment)替换元素的SVG,保留其z位置。

Z顺序

工具说明
bring_forward(element_id)向顶部移动一步(稍后渲染=在前面)。
send_backward(element_id)向底部移动一步(之前渲染=后面渲染)。
bring_to_front(element_id)移动到堆栈的最顶部。
send_to_back(element_id)移动到堆栈的最底部。

撤消/恢复

工具说明
undo()撤消上次画布更改(最多50步)。
redo()重新应用上次撤消的更改。

绘图

工具关键参数
draw_rectx, y, width, height, rx, ry, fill, stroke, stroke_width, stroke_dasharray, opacity, rotation
draw_circlecx, cy, r, fill, stroke, stroke_width, stroke_dasharray, opacity
draw_ellipsecx, cy, rx, ry, fill, stroke, stroke_width, stroke_dasharray, opacity, rotation
draw_linex1, y1, x2, y2, stroke, stroke_width, stroke_dasharray, opacity, stroke_linecap
draw_polylinepoints (例如。 "0,0 50,50 100,0"),填充,笔划,stroke_dasharray
draw_polygonpoints (闭合形状)、填充、笔划、stroke_dasharray、
draw_pathd (SVG路径数据)、填充、笔划、stroke_dasharray、
draw_textx, y, text, font_size, font_family, fill, text_anchor, font_weight, rotation
draw_imagex, y, width, height, href (URL或数据URI)
draw_groupchildren (原始SVG字符串), transform (例如。 "translate(100,50) rotate(45)"), opacity
draw_raw_svgsvg_fragment --任何有效的SVG字符串,例如。 `, `,过滤器

所有绘图工具都接受可选 element_id 参数。如果省略,则会自动生成一个唯一的ID。

stroke_dasharray 接受任何SVG破折号模式,例如。 "5,3" (5px破折号,3px间隙)或 "10,5,2,5" (长短交替)。

定义

工具说明
add_def(def_fragment)添加a `` 子对象,如渐变、图案或剪辑路径。

示例——定义一个线性梯度并使用它:

add_def('

')
draw_rect(x=0, y=0, width=800, height=600, fill="url(#sky)")

出口

工具说明
export_svg(file_path)将画布写入 .svg 文件。
export_png(file_path, scale)将画布写为 .png 文件。 scale=2.0 分辨率加倍。

示例会话

create_canvas(width=600, height=400, background="#1a1a2e")
draw_circle(cx=300, cy=200, r=120, fill="#e94560", stroke="white", stroke_width=3)
draw_text(x=300, y=210, text="Hello!", font_size=48, fill="white", text_anchor="middle")
export_png("output/hello.png", scale=2.0)

坐标系

SVG使用 左上原点 y向下增加。所有单位都是相对于中设置的画布尺寸的像素 create_canvas.

目录标签

目录标签

Python开发工具命令行工具SVG绘制本地部署画布管理图形渲染

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

29

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP