A Model Context Protocol server that converts SVG code to PNG images, offering two conversion methods (CairoSVG and Inkscape) with support for custom working directories.
这是一个基于Model Context Protocol (MCP)的SVG转PNG工具服务器。
目前支持两种SVG转PNG的转换方案:
CairoSVG方案(当前使用)
cairosvg
库进行转换Inkscape方案(备选)
注意:当前版本默认使用CairoSVG方案,如果遇到字体渲染问题或复杂SVG转换问题,可以考虑切换到Inkscape方案。
svg2png_mcp/
├── src/
│ ├── server.py # MCP服务器实现
│ ├── svg2png.py # SVG转PNG的业务逻辑
│ └── test_client.py # 测试客户端
├── servers_config.example.json # MCP服务器配置示例
└── requirements.txt # 依赖文件
# 创建虚拟环境 python -m venv venv # 激活虚拟环境 # 在 macOS/Linux 上: source venv/bin/activate # 在 Windows 上: .\venv\Scripts\activate
pip install -r requirements.txt
cp servers_config.example.json servers_config.json
servers_config.json
,必须使用绝对路径:{ "mcpServers": { "svg2png": { "command": "/absolute/path/to/venv/bin/python", "args": [ "/absolute/path/to/svg2png_mcp/src/server.py" ] } } }
⚠️ 重要说明:
command
必须是虚拟环境中 Python 解释器的绝对路径args
中的 server.py
路径必须是绝对路径获取路径的方法:
# 获取Python解释器的绝对路径(在虚拟环境中运行) which python # macOS/Linux where python # Windows # 获取项目根目录的绝对路径 pwd # macOS/Linux cd # Windows
示例(macOS/Linux):
{ "mcpServers": { "svg2png": { "command": "/Users/username/projects/svg2png_mcp/venv/bin/python", "args": [ "/Users/username/projects/svg2png_mcp/src/server.py" ] } } }
示例(Windows):
{ "mcpServers": { "svg2png": { "command": "C:\\Users\\username\\projects\\svg2png_mcp\\venv\\Scripts\\python.exe", "args": [ "C:\\Users\\username\\projects\\svg2png_mcp\\src\\server.py" ] } } }
运行测试客户端:
# 确保虚拟环境已激活 source venv/bin/activate # macOS/Linux # 运行客户端 python src/test_client.py
如果运行正常,将在test_output目录生成一张名为output.png的图片。
将servers_config.json中的内容填入Cursor、Claude desktop等MCP客户端即可使用。
注意:
servers_config.json
中的配置启动服务器servers_config.json
中使用了正确的绝对路径svg_to_png
工具接口Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!