1. [Home](https://svgmill.com/)
2. Agents and MCP

# SVGMill for Agents and MCP

A hosted MCP server that gives your agent one job it can do well: turn an image into a vector file. It uses your API key and your credit balance.

## The server

The MCP endpoint is `https://svgmill.com/mcp`. It speaks Streamable HTTP with plain JSON responses, so any client that supports remote HTTP servers can connect. Authenticate with your API key as a Bearer token, the same key the REST API uses.

Tool descriptions are written in plain English and say what each call costs, so the agent can explain a charge before it makes one.

## You need an API key

Sign up for 5 free credits, then create a key on your account page. A key is shown once, so store it in your client's secret settings.

[Get a key](https://svgmill.com/account/)

## Three tools

Enough for an agent to convert, fetch other formats, and check that it has credit left.

| Tool | Takes | Returns | Cost |
| --- | --- | --- | --- |
| `convert_image_to_svg` | `image_url` or `image_base64`, and optional `format`, `colors`, `preset` | The file (SVG as text, other formats as a base64 resource), its token and the credits left | 1 credit |
| `download_vector` | `token`, `format` | Another format of an earlier trace | Free for a paid trace; 1 credit the first time a preview token is downloaded |
| `get_account` | Nothing | Balance, plan and usage this period | Free |

## Set it up in your client

Replace `svgmill_live_…` with your key. Keep keys out of shared repositories.

```
claude mcp add --transport http svgmill https://svgmill.com/mcp \
  --header "Authorization: Bearer svgmill_live_…"
```

In `claude_desktop_config.json`. The `mcp-remote` bridge connects Desktop to a remote server with a header.

```
{
  "mcpServers": {
    "svgmill": {
      "command": "npx",
      "args": ["-y", "mcp-remote@0.16.5", "https://svgmill.com/mcp",
               "--transport", "http-only",
               "--header", "Authorization:${SVGMILL_AUTH}"],
      "env": { "SVGMILL_AUTH": "Bearer svgmill_live_…" }
    }
  }
}
```

In `~/.cursor/mcp.json`, or `.cursor/mcp.json` in a project.

```
{
  "mcpServers": {
    "svgmill": {
      "url": "https://svgmill.com/mcp",
      "headers": { "Authorization": "Bearer svgmill_live_…" }
    }
  }
}
```

In `.vscode/mcp.json`. VS Code asks for the key once and stores it as a secret.

```
{
  "inputs": [
    { "type": "promptString", "id": "svgmill-key",
      "description": "SVGMill API key", "password": true }
  ],
  "servers": {
    "svgmill": {
      "type": "http",
      "url": "https://svgmill.com/mcp",
      "headers": { "Authorization": "Bearer ${input:svgmill-key}" }
    }
  }
}
```

## No MCP? Call the API

Agents that can make HTTP requests can use the REST API directly. One call converts the image and returns the file:

```
curl https://svgmill.com/v1/vectorize \
  -H "Authorization: Bearer svgmill_live_…" \
  -H "Content-Type: application/json" \
  -d '{"image_url":"https://example.com/logo.png","format":"svg"}' \
  -o logo.svg
```

The full reference is in the [API docs](https://svgmill.com/docs/). For reading by machines there is [llms.txt](https://svgmill.com/llms.txt), [llms-full.txt](https://svgmill.com/llms-full.txt) and the [OpenAPI 3.1 spec](https://svgmill.com/openapi.json).

## What agents pay

The same as people: 1 credit per image, every format included. The web app, the API and MCP share one balance.

Test keys (`svgmill_test_…`) return watermarked results and never spend credits, so you can wire up a workflow for free.

[See pricing](https://svgmill.com/pricing/)

---
Source: https://svgmill.com/agents/
