mcpField
S
svg-tracer

svg-tracer

本地服务
github.com/pulsemcp媒体与设计818 周前更新

关于 svg-tracer

将位图图像转换为 SVG 矢量图形的 MCP 服务,基于 potrace 描摹。适合需要从 PNG、JPG 等图片生成 SVG 的用户,例如制作图标。

主要功能

  1. 01支持 PNG、JPG、BMP、GIF、TIFF、WebP 输入
  2. 02透明 PNG 的 alpha 通道预处理
  3. 03可调节阈值、斑点抑制和曲线优化参数
  4. 04按目标宽高缩放以生成图标
  5. 05自定义填充颜色与背景

适用场景

  1. 01将 logo 转换为可缩放的 SVG 文件
  2. 02生成 50x50 的 Dewey 图标
  3. 03为图标设置品牌颜色

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端提供 trace_bitmap_to_svg 工具,用于将位图转换为 SVG 并写入本地磁盘。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"com-pulsemcp-svg-tracer": {
"command": "npx",
"args": [
"-y",
"@pulsemcp/svg-tracer-mcp-server"
]
}
}
}
启动命令npx -y @pulsemcp/svg-tracer-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@pulsemcp/svg-tracer-mcp-server0.1.3

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
colorstring否描摹后的 SVG 路径填充颜色,使用十六进制颜色字符串。例如,橙色为 "#FF5733",黑色为 "#000000"。默认值:"#000000"。
thresholdnumber否描摹用的黑白阈值(0-255)。值越低,保留的细节越多;值越高,简化程度越高。默认值:128。
turd_sizenumber否抑制最多包含这么多个像素的斑点。增大此值可去除噪点,减小此值可保留精细细节。默认值:2。
backgroundstring否SVG 的背景颜色。使用 "transparent" 表示无背景,或指定十六进制颜色字符串。默认值:"transparent"。
input_pathstring是输入位图图像文件的绝对路径。支持的格式:PNG、JPG/JPEG、BMP、GIF、TIFF、WebP。示例:"/tmp/logo.png"
output_pathstring否输出 SVG 文件的写入绝对路径。如果未指定,默认使用与输入文件相同的目录和文件名,并将扩展名设为 .svg。示例:"/tmp/logo.svg"
target_widthnumber否输出 SVG viewBox 的目标宽度(像素)。描摹路径将缩放以适应此尺寸。保持纵横比。示例:宽度为 50px 的图标可设为 50。
opt_tolerancenumber否曲线优化容差(0-1)。值越高,曲线越简洁;值越低,细节保留越多。默认值:0.2。
target_heightnumber否输出 SVG viewBox 的目标高度(像素)。描摹路径将缩放以适应此尺寸。保持纵横比。示例:高度为 50px 的图标可设为 50。

详细介绍

SVG Tracer MCP Server

一个 MCP 服务,可使用 potrace 描摹将位图图像(PNG、JPG、BMP、GIF、TIFF、WebP)转换为 SVG 矢量图形。

功能

  • 将常见位图格式转换为简洁的 SVG 矢量路径
  • 自动预处理透明 PNG(将 alpha 通道转换为黑底白色蒙版)
  • 可自定义描摹参数(阈值、斑点抑制、曲线优化)
  • 支持缩放到目标尺寸以生成图标(例如 50x50 的 Dewey 图标)
  • 支持自定义填充颜色和背景
  • 默认使用本地文件系统(读取输入文件并将输出写入磁盘)

快速开始

使用 npx
{
  "mcpServers": {
    "svg-tracer": {
      "command": "npx",
      "args": ["-y", "@pulsemcp/svg-tracer-mcp-server"]
    }
  }
}
手动设置
git clone https://github.com/pulsemcp/mcp-servers.git
cd mcp-servers/productionized/svg-tracer
npm install
npm run build
npm start

工具

trace_bitmap_to_svg

使用 potrace 描摹将位图图像转换为 SVG 矢量图形。

参数:

参数类型必填说明
input_pathstring是输入位图图像文件的绝对路径
output_pathstring否输出 SVG 的路径(默认为输入路径加上 .svg 扩展名)
thresholdnumber否黑白阈值 0-255(默认值:128)
turd_sizenumber否抑制不超过此像素数的斑点(默认值:2)
opt_tolerancenumber否曲线优化容差 0-1(默认值:0.2)
colorstring否描摹路径的填充颜色(默认值:"#000000")
backgroundstring否背景颜色(默认值:"transparent")
target_widthnumber否SVG 的目标宽度(像素)
target_heightnumber否SVG 的目标高度(像素)

使用示例:

Convert /tmp/logo.png to SVG:
trace_bitmap_to_svg(input_path="/tmp/logo.png")

Create a 50x50 icon with brand color:
trace_bitmap_to_svg(
  input_path="/tmp/logo.png",
  output_path="/tmp/logo-icon.svg",
  target_width=50,
  target_height=50,
  color="#FF5733"
)

工作原理

  1. 读取输入 - 加载位图图像(PNG、JPG、BMP、GIF、TIFF、WebP)
  2. 预处理 - 将 alpha 通道转换为黑底白色灰度蒙版,以处理透明效果
  3. 描摹 - 使用 potrace 将位图转换为 SVG 矢量路径
  4. 缩放 - 可选地将路径包裹在变换组中,以适应目标尺寸
  5. 输出 - 将 SVG 写入磁盘,并返回包含元数据的 SVG 字符串

支持的格式

  • PNG(包括带有 alpha 通道的透明 PNG)
  • JPEG / JPG
  • WebP
  • BMP
  • GIF
  • TIFF

开发

npm install
npm run build
npm run dev          # Development mode with auto-reload
npm test             # Run functional tests
npm run test:run     # Run tests once
npm run test:integration  # Run integration tests
npm run test:all     # Run all tests

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。