Generate and vectorize SVGs using the Quiver AI API
npx claudepluginhub tjboudreaux/cc-skills-svg-generatorGenerate and vectorize SVGs using the Quiver AI API
Generate SVGs from text prompts or convert raster images to SVG using the Quiver AI API.
Works as a cross-platform AI agent skill (Claude Code, Codex CLI, Gemini CLI, Cursor, Windsurf) and as an MCP server (Claude Code, Codex, Cursor, Cline, Roo Code, Claude Desktop).
Get an API key from Quiver AI and set it as an environment variable:
export QUIVER_API_KEY="your-api-key-here"
claude plugin add /path/to/cc-skills-svg-generator
This installs both the skill (prompt-driven usage) and the MCP server (tool-based usage).
claude mcp add svg-generator -- uvx svg-generator-mcp
Copy or symlink the svg-generator/ directory into your skills folder:
# User-level (all projects)
cp -r svg-generator ~/.claude/skills/svg-generator
# Project-level (this project only)
mkdir -p .claude/skills
cp -r svg-generator .claude/skills/svg-generator
As a skill:
mkdir -p .agents/skills
cp -r svg-generator .agents/skills/svg-generator
As an MCP server — add to ~/.codex/config.toml:
[mcp_servers.svg-generator]
command = "uvx"
args = ["svg-generator-mcp"]
enabled = true
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"svg-generator": {
"command": "uvx",
"args": ["svg-generator-mcp"],
"env": {
"QUIVER_API_KEY": "your-api-key-here"
}
}
}
}
Add via the MCP settings panel, or add to the MCP config file:
{
"mcpServers": {
"svg-generator": {
"command": "uvx",
"args": ["svg-generator-mcp"],
"env": {
"QUIVER_API_KEY": "your-api-key-here"
}
}
}
}
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"svg-generator": {
"command": "uvx",
"args": ["svg-generator-mcp"],
"env": {
"QUIVER_API_KEY": "your-api-key-here"
}
}
}
}
pip install svg-generator-mcp
Or run directly with uvx:
uvx svg-generator-mcp
The MCP server exposes two tools:
generate_svgGenerate SVGs from text descriptions.
| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Text description of the SVG |
output | string | No | Output filename |
output_dir | string | No | Output directory (default: .) |
instructions | string | No | Style guidance |
references | string[] | No | Reference image URLs (max 4) |
n | int | No | Number of SVGs, 1-16 (default: 1) |
temperature | float | No | Randomness 0-2 (default: 1) |
model | string | No | Model name (default: arrow-preview) |
timeout | int | No | Request timeout in seconds (default: 600) |
vectorize_svgConvert raster images (PNG, JPG, WebP) to SVG.
| Parameter | Type | Required | Description |
|---|---|---|---|
image | string | Yes | Local file path or URL |
output | string | No | Output filename |
output_dir | string | No | Output directory (default: .) |
auto_crop | bool | No | Enable automatic cropping |
target_size | int | No | Target size in pixels (128-4096) |
n | int | No | Number of SVGs, 1-16 (default: 1) |
temperature | float | No | Randomness 0-2 (default: 1) |
model | string | No | Model name (default: arrow-preview) |
timeout | int | No | Request timeout in seconds (default: 600) |
The skill also includes standalone CLI scripts:
# Text-to-SVG
python3 svg-generator/scripts/generate_svg.py \
--prompt "a minimalist mountain logo" \
--output mountain.svg
# Image-to-SVG
python3 svg-generator/scripts/vectorize_svg.py \
--image photo.png \
--output vectorized.svg
See svg-generator/SKILL.md for full CLI documentation.
.
├── .claude-plugin/
│ └── plugin.json # Claude Code plugin manifest
├── .mcp.json # Project-level MCP config
├── svg-generator/
│ ├── SKILL.md # Cross-platform agent skill
│ ├── references/
│ │ └── api_reference.md
│ └── scripts/
│ ├── generate_svg.py
│ └── vectorize_svg.py
├── src/
│ └── svg_generator_mcp/
│ ├── __init__.py
│ └── server.py # MCP server implementation
├── pyproject.toml # Python package config
└── svg-generator.skill # Packaged skill (zip)