SVG.new

Vectorize images to SVG from any AI agent: convert, recolor, simplify, remove backgrounds, batch.

Dokumentation

A Model Context Protocol server that gives any MCP client image-to-SVG tools: vectorize, recolor, simplify, remove backgrounds and batch convert. Connect to the hosted server and sign in with your SVG.new account, or run it locally with npx and an API key.

https://svg.new/api/mcp

Set up the SVG MCP server

Connect to the hosted server at https://svg.new/api/mcp (Streamable HTTP) and sign in with your SVG.new account. There is nothing to install.

1

Add the hosted server to your client

In Claude (claude.ai, the desktop app or the mobile app), open Settings, Connectors, Add custom connector. Name it SVG.new and enter this URL:

https://svg.new/api/mcp

In Claude Code, run this once in your terminal:

claude mcp add --transport http --scope user \
  svgnew https://svg.new/api/mcp

3

Ask your agent to vectorize

Ask something like “Vectorize logo.png and save it as logo.svg”. The agent discovers the tools on its own.

Using Cursor, Windsurf, OpenAI Codex or a Claude Desktop config file? Those clients use an API key instead: create one at svg.new/account and run the local server with npx, or point the client at the hosted URL with an Authorization: Bearer svk_... header if it supports headers. Config for each client.

Tools

Eleven tools, all backed by the SVG.new REST API. Give an image exactly one way: image, an inline base64 data URL for small images of about 100 KB; image_url, a public HTTPS link that svg.new fetches itself, up to 20 MB; or upload_id, a file sent with create_upload, up to 20 MB (hosted server only). The editing tools take the SVG inline as svg or as svg_url, a link to an SVG up to 20 MB. The _file variants take files attached by the client.

Results come back inline when they are small. Large results, or any call with output: "url", come back as download links that work for one hour.

create_upload

Input: none

Hosted server only. Returns a signed upload URL and a curl command. The client PUTs a local file of up to 20 MB to it, then passes the returned upload_id to vectorize.

Free

vectorize

Input: image | image_url | upload_id

Converts a PNG, JPG or WebP image to SVG. Returns the SVG and a vectorization ID, or a download link for large results.

1 credit

vectorize_file

Input: file

Same as vectorize, for a PNG, JPG or WebP file the client attaches (a download URL), as ChatGPT apps and similar hosts do.

1 credit

recolor_svg

Input: svg | svg_url, color_map

Replaces colors in an SVG using a map of old to new hex values.

Free

simplify_svg

Input: svg | svg_url, max_colors

Reduces an SVG to at most max_colors colors (1 to 256).

Free

remove_background

Input: svg | svg_url, image | image_url | upload_id

Removes the background from an SVG, using the original raster image as reference.

1 credit

remove_background_file

Input: svg, file

Same as remove_background, with the original image supplied as an attached file.

1 credit

batch_vectorize

Input: images, image_urls, upload_ids

Submits 1 to 10 images (data URLs, links or uploads) for vectorization and returns a batch ID.

1 credit per image

batch_vectorize_files

Input: files

Submits up to 10 attached files for vectorization and returns a batch ID.

1 credit per image

get_batch_status

Input: batch_id

Reports progress for a batch, with a download link for each completed item.

Free

list_vectorizations

Input: none

Lists your 20 most recent vectorizations.

Free

Config for each client

Claude and Claude Code sign in to the hosted server. The other clients run the local server with npx and an API key; where a client supports custom headers, it can point at https://svg.new/api/mcp with an Authorization: Bearer svk_... header instead.

Claude (web, desktop and mobile)

Open Settings, Connectors, Add custom connector. Name it SVG.new, enter this URL, then click Connect and sign in to SVG.new.

https://svg.new/api/mcp

Claude Code

Run once in your terminal, then run /mcp in Claude Code, pick svgnew and choose Authenticate. No API key needed. See the Claude Code guide for the skill-based plugin.

claude mcp add --transport http --scope user \
  svgnew https://svg.new/api/mcp

Claude Desktop config file

To use an API key instead of signing in, add to claude_desktop_config.json (Settings, Developer, Edit Config), then restart Claude Desktop.

{
  "mcpServers": {
    "svg-new": {
      "command": "npx",
      "args": ["-y", "@svgnew/mcp"],
      "env": { "SVG_NEW_API_KEY": "svk_your_key_here" }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json or a project's .cursor/mcp.json. Cursor guide.

{
  "mcpServers": {
    "svg-new": {
      "command": "npx",
      "args": ["-y", "@svgnew/mcp"],
      "env": { "SVG_NEW_API_KEY": "svk_your_key_here" }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json, then refresh MCP servers in Cascade. Windsurf guide.

{
  "mcpServers": {
    "svg-new": {
      "command": "npx",
      "args": ["-y", "@svgnew/mcp"],
      "env": { "SVG_NEW_API_KEY": "svk_your_key_here" }
    }
  }
}

OpenAI Codex

Run once in your terminal; Codex saves it to ~/.codex/config.toml. Codex guide.

codex mcp add svg-new \
  --env SVG_NEW_API_KEY=svk_your_key_here \
  -- npx -y @svgnew/mcp

Authentication and settings

The hosted server at https://svg.new/api/mcp accepts either of two credentials. With OAuth, you sign in with your SVG.new account: clients discover the sign-in from https://svg.new/.well-known/oauth-protected-resource and register themselves with dynamic client registration. Or send an API key from svg.new/account as an Authorization: Bearer svk_... header.

The local npx server reads two environment variables. It exits on start if the key is missing, so a client that shows the server as failed usually means the key was not passed through.

SVG_NEW_API_KEY required

Your API key from svg.new/account. Sent to svg.new as a Bearer token.

SVG_NEW_API_URL optional

API base URL. Defaults to https://svg.new.

Prefer plain HTTP? The same operations are in the REST API docs.

Common questions

What is the SVG.new MCP server?

It is an SVG MCP server that SVG.new hosts at https://svg.new/api/mcp over Streamable HTTP. You sign in with your SVG.new account, or send an API key. It exposes eleven tools (create_upload, vectorize, vectorize_file, recolor_svg, simplify_svg, remove_background, remove_background_file, batch_vectorize, batch_vectorize_files, get_batch_status, list_vectorizations) that call the SVG.new API for your account. For clients without sign-in, a local version published on npm as @svgnew/mcp runs over stdio with an API key; create_upload is only on the hosted server.

How do I vectorize an image over MCP?

Connect the server to your MCP client, then ask the agent to vectorize an image. To vectorize an image over MCP, the agent calls the vectorize tool with the image given one of three ways: inline as a base64 data URL (image, for small images of about 100 KB), as a public HTTPS link that svg.new fetches itself (image_url, up to 20 MB), or, on the hosted server, as a local file it first sends with create_upload (upload_id, up to 20 MB). The tool returns the SVG and an ID, or a one-hour download link for a large result, and the agent saves the SVG wherever you asked.

Which clients can use the image to SVG MCP server?

Claude (claude.ai, the desktop app and the mobile app) and Claude Code connect to the hosted server and sign in with your SVG.new account. Cursor, Windsurf, OpenAI Codex and Claude Desktop config files run the local server with npx and an API key, which needs Node.js; where a client supports custom headers, it can instead point at the hosted URL with an Authorization: Bearer svk_... header. Other MCP clients can connect the same ways.

How does authentication work?

The hosted server accepts two kinds of credentials. With OAuth, you sign in with your SVG.new account: clients discover the sign-in from https://svg.new/.well-known/oauth-protected-resource and register themselves with dynamic client registration, so there is no key to copy. Otherwise, create an API key at svg.new/account and send it as an Authorization: Bearer svk_... header, or pass it to the local server as the SVG_NEW_API_KEY environment variable. Keys start with svk_, are shown once, and can be revoked from your account page at any time.

What does the MCP server cost?

The server is free to connect or install. Tool calls use SVG.new credits: vectorize and remove_background cost 1 credit, batch_vectorize costs 1 credit per image, and the editing and status tools are free. A free account includes 3 vectorizations a day; Pro is $9.99 a month for 1,000.

Are there size or rate limits?

Images and SVGs can be up to 20 MB when passed by reference: image_url or svg_url (a public HTTPS link svg.new fetches itself), or upload_id after create_upload on the hosted server. Inline base64 images are for small files of about 100 KB. Small results come back inline; large results, or any call with output: "url", come back as one-hour download links. Vectorize allows 10 requests a minute, and a batch holds up to 10 images.