panta1209/svg2png-mcp-server
3.1
If you are the rightful owner of svg2png-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
svg2png-mcp-server is a high-compatibility SVG to transparent PNG conversion tool based on Node.js and ImageMagick, supporting the MCP protocol and suitable for various platforms.
svg2png-mcp-server
🚀 一款基于 Node.js + ImageMagick 的高兼容性 SVG 转透明 PNG 工具,支持 MCP 协议,适配 Win/Mac/Linux,适合 AI IDE、自动化、批量图标处理等场景。
功能亮点
- 🖼️ 支持 SVG 文件/字符串一键转透明 PNG
- 🧩 完全兼容 MCP 协议,适配 Cursor、Claude 等 AI IDE
- 💻 跨平台:支持 Linux、macOS、Windows
- 🔍 自动检测 rsvg-convert、magick、convert,多版本 ImageMagick 兼容
- 📝 支持自定义输出文件名,自动防止并发覆盖
- 📦 零依赖(仅需 Node.js + ImageMagick)
- 📄 丰富日志,异常友好,开箱即用
快速开始
1. 安装依赖
Ubuntu / Debian
sudo apt-get update
sudo apt-get install -y imagemagick
CentOS / RHEL
sudo yum install -y epel-release
sudo yum install -y ImageMagick
macOS (Homebrew)
brew install imagemagick
Windows
- 推荐使用 ImageMagick 官方安装包
- 安装后请将 magick.exe 所在目录加入系统 PATH 环境变量
- 可在命令行输入
magick -version
验证安装
注意:
- 建议安装 ImageMagick 7 及以上版本,优先使用
magick
命令。- 某些 Linux 发行版的
convert
可能被其他包占用,建议优先用magick convert
。- 若需更高 SVG 兼容性,可选装
rsvg-convert
(如sudo apt-get install librsvg2-bin
)。
2. 安装服务
# Local installation
npm install svg2png-mcp-server
# Global installation
sudo npm install -g svg2png-mcp-server
3. MCP 配置与调用示例
{
"mcpServers": {
"svg2png": {
"command": "npx",
"args": ["-y", "svg2png-mcp-server"]
}
}
}
参数说明
svg
:SVG内容字符串(可选)svg_path
:SVG文件路径(可选,优先)base_dir
:在 Cursor 等 IDE 场景下为必填参数,svg_path 为相对路径时,必须传递 base_dir(即你的项目根目录),否则可能找不到文件。output_name
:可选,PNG输出文件名(如 avatar.png),不传则默认 temp.png 或同名.png,若已存在自动加时间戳。
安全提示: output_name 只能为文件名,不能包含路径(如 ../ 或 /xxx/yyy.png),否则可能被拒绝或导致安全风险。
注意: 由于 Cursor 目前不支持自动注入项目根目录,调用 svg2png 工具时请务必手动传入 base_dir 参数。
推荐调用示例
1. 直接传绝对路径
{
"svg_path": "/your/project/icons/home.svg",
"base_dir": "/your/project/icons",
"output_name": "avatar.png"
}
2. 传 base_dir + 相对路径(Cursor 推荐写法)
{
"svg_path": "icons/home.svg",
"base_dir": "/your/project", // 这里必须手动填写你的项目根目录
"output_name": "avatar.png" // 可选,输出文件名,不能包含路径
}
贡献指南
- 欢迎 issue、PR、建议与反馈!
- 如有兼容性、功能扩展、文档等需求,欢迎参与共建。
社区与反馈
开源协议
本项目基于 开源,欢迎自由使用、修改和分发。