Skip to main content
Glama
GenWaveLLC

SVGMaker MCP Server

by GenWaveLLC

SVGMaker MCP Server

A powerful MCP server for generating, editing, and converting SVG images using SVGMaker API.

Website npm version License Build Status npm downloads

🎨 MCP Server in Action

MCP Capabilities Demo

This very illustration came to life through our own SVGMaker MCP serverβ€”a living example of AI assistants and vector graphics working in perfect harmony via the Model Context Protocol.

Related MCP server: SVG to PNG MCP Server

🌟 Highlights

  • 🎨 AI-Powered SVG Generation: Create SVGs from text descriptions

  • ✏️ Smart SVG Editing: Edit existing SVGs with natural language

  • πŸ”„ Image-to-SVG Conversion: Convert any image to scalable SVG

  • πŸ”’ Secure File Operations: Built-in path validation and security

  • ⚑ Real-Time Progress: Live updates during operations

  • πŸ“ Type Safety: Full TypeScript support with type definitions

πŸ“‹ Table of Contents

πŸ’» Requirements

  • Node.js: Minimum version 18.0.0

    node --version  # Should be >= v18.0.0
  • npm: Minimum version 7.0.0

    npm --version   # Should be >= 7.0.0
  • Operating Systems:

    • Linux (Ubuntu 20.04+, CentOS 8+)

    • macOS (10.15+)

    • Windows (10+)

  • SVGMaker API key (Get one here)

πŸ“¦ Package Structure

@genwave/svgmaker-mcp/
β”œβ”€β”€ build/             # Compiled JavaScript files
β”œβ”€β”€ docs/              # Documentation
β”‚   └── api/           # API documentation
β”œβ”€β”€ src/               # Source TypeScript files
β”‚   β”œβ”€β”€ tools/         # MCP tool implementations
β”‚   β”œβ”€β”€ services/      # API integration
β”‚   └── utils/         # Utility functions
└── types/             # TypeScript declarations

πŸš€ Installation

# Using npm
npm install @genwave/svgmaker-mcp

# Using yarn
yarn add @genwave/svgmaker-mcp

Basic Setup

  1. Create .env file:

SVGMAKER_API_KEY="your_api_key_here"
  1. Start the server:

npx svgmaker-mcp

πŸ”Œ LLM Integrations

πŸ”Œ Claude Desktop

  1. Add to claude_desktop_config.json:

{
  "mcpServers": {
    "svgmaker": {
      "command": "npx",
      "args": ["@genwave/svgmaker-mcp"],
      "transport": "stdio",
      "env": {
        "SVGMAKER_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Example Claude prompt:

Generate an SVG of a minimalist mountain landscape:
<mcp>
{
  "server": "svgmaker",
  "tool": "svgmaker_generate",
  "arguments": {
    "prompt": "Minimalist mountain landscape with sun",
    "output_path": "./landscape.svg",
    "quality": "high",
    "aspectRatio": "landscape"
  }
}
</mcp>

πŸ”Œ Cursor

Install MCP Server

Or configure manually:

  1. Configure in cursor settings:

{
  "mcpServers": {
    "svgmaker": {
      "type": "local",
      "command": "npx",
      "args": ["@genwave/svgmaker-mcp"],
      "transport": "stdio",
      "env": {
        "SVGMAKER_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Example usage in Cursor:

Use svgmaker to edit the logo.svg file and make it more modern:
<mcp>
{
  "server": "svgmaker",
  "tool": "svgmaker_edit",
  "arguments": {
    "input_path": "./logo.svg",
    "prompt": "Make it more modern and minimalist",
    "output_path": "./modern_logo.svg",
    "quality": "high"
  }
}
</mcp>

πŸ”Œ Visual Studio Code

Or configure manually:

  1. Configure in settings.json:

{
  "servers": {
    "svgmaker": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@genwave/svgmaker-mcp"],
      "env": {
        "SVGMAKER_API_KEY": "<your_api_key>"
      }
    }
  }
}
  1. Example usage in VS Code:

Generate a new icon for my app:
<mcp>
{
  "server": "svgmaker",
  "tool": "svgmaker_generate",
  "arguments": {
    "prompt": "Modern app icon with abstract geometric shapes",
    "output_path": "./assets/icon.svg",
    "quality": "high",
    "aspectRatio": "square"
  }
}
</mcp>

πŸ”Œ WindSurf

  1. Configure in settings:

{
  "mcpServers": {
    "svgmaker": {
      "command": "npx",
      "args": ["-y", "@genwave/svgmaker-mcp"],
      "env": {
        "SVGMAKER_API_KEY": "<your_api_key>"
      }
    }
  }
}
  1. Example usage in WindSurf:

Convert the company logo to SVG:
<mcp>
{
  "server": "svgmaker",
  "tool": "svgmaker_convert",
  "arguments": {
    "input_path": "./branding/logo.png",
    "output_path": "./branding/vector_logo.svg"
  }
}
</mcp>

πŸ”Œ Zed

  1. Configure in settings:

{
  "context_servers": {
    "svgmaker": {
      "command": {
        "path": "npx",
        "args": ["-y", "@genwave/svgmaker-mcp"],
        "env": {
          "SVGMAKER_API_KEY": "<your_api_key>"
        }
      },
      "settings": {}
    }
  }
}
  1. Example usage in Zed:

Edit an existing SVG file:
<mcp>
{
  "server": "svgmaker",
  "tool": "svgmaker_edit",
  "arguments": {
    "input_path": "./diagrams/flowchart.svg",
    "prompt": "Add rounded corners and smooth gradients",
    "output_path": "./diagrams/enhanced_flowchart.svg",
    "quality": "high"
  }
}
</mcp>

πŸ› οΈ Available Tools

svgmaker_generate

Generate SVG images from text prompts. Supports style parameters for fine-grained control over the output.

{
  "prompt": "A minimalist mountain landscape with sun",
  "output_path": "/path/to/landscape.svg",
  "quality": "medium",
  "style": "flat",
  "color_mode": "few_colors",
  "composition": "full_scene",
  "background": "transparent"
}

svgmaker_edit

Edit existing SVGs or images with natural language. Supports the same style parameters as generate.

{
  "input_path": "/path/to/input.svg",
  "prompt": "Add a gradient background and make it more vibrant",
  "output_path": "/path/to/enhanced.svg",
  "quality": "high",
  "style": "cartoon",
  "background": "opaque"
}

svgmaker_convert

Convert raster images to SVG using AI-powered vectorization.

{
  "input_path": "/path/to/image.png",
  "output_path": "/path/to/vector.svg"
}

βš™οΈ Configuration

Environment Variables

Variable

Description

Required

Default

SVGMAKER_API_KEY

Your SVGMaker API key

βœ… Yes

-

SVGMMAKER_RATE_LIMIT_RPM

API rate limit (requests per minute)

❌ No

2

SVGMAKER_BASE_URL

Custom SVGMaker API base URL

❌ No

https://api.svgmaker.io

SVGMAKER_DEBUG

Enable debug logging

❌ No

false

Debug Logging

The server includes comprehensive logging for debugging and monitoring:

Enable Logging:

# Enable debug logging
SVGMAKER_DEBUG=true npx @genwave/svgmaker-mcp

# Or set NODE_ENV to development
NODE_ENV=development npx @genwave/svgmaker-mcp

Log Files Location:

  • macOS/Linux: ~/.cache/svgmaker-mcp/logs/

  • Windows: %LOCALAPPDATA%/svgmaker-mcp/logs/

  • Fallback: ./logs/ (in project directory)

Log File Format:

mcp-debug-2025-06-04T10-30-45-123Z.log

πŸ” Development

Local Setup

  1. Clone and install dependencies:

npm install
  1. Create .env file with your API key

SVGMAKER_API_KEY="your_api_key_here"
  1. Run in development mode:

npm run dev

Testing

Use the MCP Inspector for testing:

npx @modelcontextprotocol/inspector node build/index.js

CI/CD Workflow

This project uses GitHub Actions for continuous integration and deployment:

  1. Continuous Integration

    • Runs on every push to main branch and pull requests

    • Performs linting, type checking, and building

    • Ensures code quality and consistency

  2. Releasing a New Version

    • To release a patch version (bug fixes):

      npm run release:patch
    • To release a minor version (new features):

      npm run release:minor
    • To release a major version (breaking changes):

      npm run release:major
  3. Publishing

    • Automatically publishes to npm when a new version tag is pushed

πŸ” Security

  • βœ… Path validation prevents directory traversal

  • βœ… Input sanitization for all parameters

  • βœ… Secure file operation handling

  • βœ… Environment variable protection

  • βœ… Rate limiting support

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

⭐ Features

Input Format Support

  • SVG files (.svg)

  • PNG images (.png)

  • JPEG images (.jpg, .jpeg)

  • Other common image formats

Output Capabilities

  • Clean, optimized SVG output

  • Multiple aspect ratio options

  • Background control (transparent/opaque)

  • High-quality vectorization

πŸ“ License

MIT Β© Genwave AI - see the LICENSE file for details.

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GenWaveLLC/svgmaker-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server