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.
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. For reading by machines there is llms.txt, llms-full.txt and the OpenAPI 3.1 spec.