SVG Converter

SVG Converter

surferdot

Converts SVG code to PNG or JPG images with customizable scaling, quality, and background color options. Uses the Sharp library for high-quality image processing.

Converts SVG files to PNG and JPG formats with customizable parameters like scale factor, quality, and background color using TypeScript and the Sharp library for high-quality image processing.

3315 views2Local (stdio)

What it does

  • Convert SVG code to PNG images with transparency
  • Convert SVG code to JPG images with quality control
  • Scale images to higher resolutions
  • Customize background colors
  • Detect and preserve original SVG dimensions
  • Save files to specified directories

Best for

Web developers converting SVG assets to raster formatsDesigners creating multiple image formats from SVG graphicsAutomated workflows requiring SVG to bitmap conversion
High-quality Sharp library processingConfigurable output parametersSecure file system access controls

About SVG Converter

SVG Converter is a community-built MCP server published by surferdot that provides AI assistants with tools and capabilities via the Model Context Protocol. Convert SVG to PNG or JPG with customizable quality, scale, and background. Fast image processing using TypeScript and S It is categorized under file systems.

How to install

You can install SVG Converter in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

SVG Converter is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

MCP SVG Converter

npm version Downloads License

English | 中文

English

A Model Context Protocol (MCP) server that provides tools for converting SVG code to high-quality PNG and JPG images with detailed customization options.

Features

  • Convert SVG code to high-quality PNG images with transparency support
  • Convert SVG code to high-quality JPG images with customizable quality settings
  • Automatic dimension detection and preservation from original SVG
  • Support for scaling to higher resolutions
  • Background color customization
  • Intelligent path handling with automatic redirection to allowed directories
  • Secure file system access with configurable permissions

Installation

Quick Install with npx

npx mcp-svg-converter /path/to/allowed/directory

Global Installation

npm install -g mcp-svg-converter
mcp-svg-converter /path/to/allowed/directory

From Source

Prerequisites
  • Node.js 16 or higher
  • npm or yarn
Installation Steps
  1. Clone this repository

    git clone https://github.com/surferdot/mcp-svg-converter.git
    cd mcp-svg-converter
    
  2. Install dependencies

    npm install
    
  3. Build the project

    npm run build
    

Usage

As a standalone server

Run the server by specifying one or more allowed directories where the converted images can be saved:

node build/index.js /path/to/allowed/directory1 /path/to/allowed/directory2

With Claude Desktop

  1. Download and install Claude Desktop

  2. Create or confirm you have access to an output directory:

    # macOS/Linux
    mkdir -p ~/Desktop/svg-output
    
    # Windows
    mkdir "%USERPROFILE%\Desktop\svg-output"
    
  3. Configure Claude Desktop by editing the configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  4. Open the Claude app, click on the Claude menu in your system menu bar and select "Settings..."

  5. Click on "Developer" in the left sidebar

  6. Click "Edit Config" to open the configuration file

  7. Add this server configuration:

Using npm package with npx (recommended)
{
  "mcpServers": {
    "svg-converter": {
      "command": "npx",
      "args": [
        "mcp-svg-converter",
        "/absolute/path/to/output/directory"
      ]
    }
  }
}
Using global installation

If you've installed the package globally:

{
  "mcpServers": {
    "svg-converter": {
      "command": "mcp-svg-converter",
      "args": [
        "/absolute/path/to/output/directory"
      ]
    }
  }
}
Using local build

If you've built from source:

{
  "mcpServers": {
    "svg-converter": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-svg-converter/build/index.js",
        "/absolute/path/to/output/directory"
      ]
    }
  }
}
  1. Save the file and restart Claude Desktop

Verifying the Setup

When Claude Desktop restarts, if configured correctly:

  1. You should see a hammer icon README image at the bottom right of the input box indicating MCP tools are available.
  2. Clicking the hammer icon should show the svg-to-png and svg-to-jpg tools.

Examples in Claude Desktop

Example 1: Converting a Simple SVG to PNG

In Claude Desktop, send a message like:

Please convert this SVG to PNG and save it to my output directory:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 100" width="200" height="100">
  <rect x="10" y="10" width="80" height="80" fill="#4285f4" />
  <circle cx="140" cy="50" r="40" fill="#ea4335" />
  <path d="M10 50 L90 50 L50 90 Z" fill="#fbbc05" />
  <text x="100" y="20" font-family="Arial" font-size="12" text-anchor="middle" fill="#34a853">SVG Example</text>
</svg>

Example 2: High-Quality JPG Conversion

Please convert this SVG to a JPG with 95% quality and 2x scaling:

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200">
  <rect width="200" height="200" fill="#f0f0f0" />
  <circle cx="100" cy="100" r="80" fill="#ff6b6b" />
  <path d="M100 50 L130 150 L70 150 Z" fill="white" />
</svg>

Tools

svg-to-png

Converts SVG code to a high-quality PNG image with transparency support.

Parameters:

  • svgCode (string, required): The SVG code to convert
  • outputPath (string, required): Path where the PNG file should be saved
  • backgroundColor (string, optional): Background color (default: transparent)
  • scale (number, optional): Scale factor for higher resolution (default: 1)

svg-to-jpg

Converts SVG code to a high-quality JPG image.

Parameters:

  • svgCode (string, required): The SVG code to convert
  • outputPath (string, required): Path where the JPG file should be saved
  • backgroundColor (string, optional): Background color (default: white)
  • quality (number, optional): JPEG quality from 1-100 (default: 90)
  • scale (number, optional): Scale factor for higher resolution (default: 1)

Advanced Usage Tips

Specifying Multiple Output Directories

You can specify multiple allowed output directories for more flexible file saving:

{
  "mcpServers": {
    "svg-converter": {
      "command": "npx",
      "args": [
        "mcp-svg-converter",
        "/Users/yourusername/Desktop/svg-output",
        "/Users/yourusername/Documents/svg-images",
        "/Users/yourusername/Downloads"
      ]
    }
  }
}

Using Custom Output Filenames

Specify detailed file paths in your request:

Please convert this SVG to PNG, and save it as "colorful_shapes.png" in my output directory.

<svg>...</svg>

Automatic Path Redirection

If you request saving to a non-allowed directory, the converter automatically redirects to an allowed directory and informs you of the actual save location.

Troubleshooting

Claude Doesn't Show MCP Tools Icon

  1. Verify the configuration file has correct JSON syntax
  2. Ensure all paths are absolute paths
  3. Make sure output directories exist and are writable
  4. Completely exit and restart Claude Desktop
  5. Check Claude logs:
    • macOS: ~/Library/Logs/Claude/mcp*.log
    • Windows: %APPDATA%\Claude\logs\mcp*.log

Tool Execution Fails

  1. Ensure mcp-svg-converter is correctly installed
  2. Check output directory permissions
  3. Verify the SVG code is valid
  4. Check Claude logs for detailed error messages

"Command Not Found" Error

  1. Ensure mcp-svg-converter is globally installed or correctly reference npx
  2. Confirm npm's global bin directory is in your PATH
  3. Try using full paths in configuration

Debugging

You can use the MCP Inspector to debug and test the server directly:

npx @modelcontextprotocol/inspector npx mcp-svg-converter /path/to/allowed/directory

This opens an interactive interface where you can test all available tools without going through Claude Desktop.

Security Considerations

  • The server will only write files to the directories specified when starting the server
  • If a user attempts to save to a non-allowed directory, the file will be automatically redirected to an allowed directory
  • Path traversal attacks are prevented by proper path validation

License

MIT


中文

MCP SVG 转换器是一个基于模型上下文协议 (MCP) 的服务器,提供将 SVG 代码转换为高质量 PNG 和 JPG 图像的工具,支持详细的自定义选项。

特点

  • 将 SVG 代码转换为支持透明度的高质量 PNG 图像
  • 将 SVG 代码转换为可定制质量设置的高质量 JPG 图像
  • 自动检测并保留原始 SVG 的尺寸
  • 支持缩放到更高分辨率
  • 可自定义背景颜色
  • 智能路径处理,自动重定向到允许的目录
  • 可配置权限的安全文件系统访问

安装

使用 npx 快速安装

npx mcp-svg-converter /path/to/allowed/directory

全局安装

npm install -g mcp-svg-converter
mcp-svg-converter /path/to/allowed/directory

从源代码安装

前提条件
  • Node.js 16 或更高版本
  • npm 或 yarn
安装步骤
  1. 克隆此仓库

    git clone https://github.com/surferdot/mcp-svg-converter.git
    cd mcp-svg-converter
    
  2. 安装依赖

    npm install
    
  3. 构建项目

    npm run build
    

使用方法

作为独立服务器运行

通过指定一个或多个允许存储转换后图像的目录来运行服务器:

node build/index.js /path/to/allowed/directory1 /path/to/allowed/directory2

与 Claude Desktop 一起使用

  1. 下载并安装 Claude Desktop

  2. 创建或确认你有权限访问的输出目录:

    # macOS/Linux
    mkdir -p ~/Desktop/svg-output
    
    # Windows
    mkdir "%USERPROFILE%\Desktop\svg-output"
    
  3. 配置 Claude Desktop:

    • 打开 Claude 应用程序
    • 点击系统菜单栏中的 Claude 图标
    • 选择"Settings..."(设置)
    • 在左侧菜单中选择"Developer"(开发者)
    • 点击"Edit Config"(编辑配置)按钮
  4. 编辑配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  5. 添加服务器配置:

使用 npm 包与 npx(推荐)
{
  "mcpServers": {
    "svg-converter": {
      "command": "npx",
      "args": [
        "mcp-svg-converter",
        "/absolute/path/to/output/directory"
      ]
    }
  }
}
使用全局安装

如果你已全局安装了此包:

{
  "mcpServers": {
    "svg-converter": {
      "command": "mcp-svg-converter",
      "args": [
        "/absolute/path/to/output/directory"
      ]
    }
  }
}
使用本地构建

如果你从源代码构建:

{
  "mcpServers": {
    "svg-converter": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-svg-converter/build/index.js",
        "/absolute/path/to/output/directory"
      ]
    }
  }
}
  1. 保存文件并重启 Claude Desktop

验证设置

当 Claude Desktop 重启后,如果配置正确:

  1. 你应该在输入框

README truncated. View full README on GitHub.

Alternatives

Related Skills

Browse all skills
godot

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

732
markdown-to-html

Convert Markdown files to HTML similar to `marked.js`, `pandoc`, `gomarkdown/markdown`, or similar tools; or writing custom script to convert markdown to html and/or working on web template systems like `jekyll/jekyll`, `gohugoio/hugo`, or similar web templating systems that utilize markdown documents, converting them to html. Use when asked to "convert markdown to html", "transform md to html", "render markdown", "generate html from markdown", or when working with .md files and/or web a templating system that converts markdown to HTML output. Supports CLI and Node.js workflows with GFM, CommonMark, and standard Markdown flavors.

10
google-gemini-file-search

Build document Q&A and searchable knowledge bases with Google Gemini File Search - fully managed RAG with automatic chunking, embeddings, and citations. Upload 100+ file formats (PDF, Word, Excel, code), configure semantic search, and query with natural language.Use when: building document Q&A systems, creating searchable knowledge bases, implementing semantic search without managing embeddings, indexing large document collections (100+ formats), or troubleshooting document immutability errors (delete+re-upload required), storage quota issues (3x input size for embeddings), chunking configuration (500 tokens/chunk recommended), metadata limits (20 key-value pairs max), indexing cost surprises ($0.15/1M tokens one-time), operation polling timeouts (wait for done: true), force delete errors, or model compatibility (Gemini 2.5 Pro/Flash only).

6
d3js-visualization

Build deterministic, verifiable data visualizations with D3.js (v6). Generate standalone HTML/SVG (and optional PNG) from local data files without external network dependencies. Use when tasks require charts, plots, axes/scales, legends, tooltips, or data-driven SVG output.

6
pydicom

Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.

5
astropy

Comprehensive Python library for astronomy and astrophysics. This skill should be used when working with astronomical data including celestial coordinates, physical units, FITS files, cosmological calculations, time systems, tables, world coordinate systems (WCS), and astronomical data analysis. Use when tasks involve coordinate transformations, unit conversions, FITS file manipulation, cosmological distance calculations, time scale conversions, or astronomical data processing.

5