Search / com.svgmill/svgmill
SVGMill
R0· no sign-inTurn images into clean SVG, PDF, EPS or DXF files, then edit the colours. 1 credit per image.
v1.2.0 · active · website · descriptor JSON · versions
Search / com.svgmill/svgmill
R0· no sign-inTurn images into clean SVG, PDF, EPS or DXF files, then edit the colours. 1 credit per image.
v1.2.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"svgmill": {
"type": "http",
"url": "https://svgmill.com/mcp",
"headers": {
"Authorization": "Bearer ${SVGMILL_TOKEN}"
}
}
}
}claude mcp add --transport http svgmill https://svgmill.com/mcp --header "Authorization: Bearer ${SVGMILL_TOKEN}"[mcp_servers.svgmill]
url = "https://svgmill.com/mcp"
bearer_token_env_var = "SVGMILL_TOKEN"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"svgmill": {
"type": "remote",
"url": "https://svgmill.com/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:SVGMILL_TOKEN}"
}
}
}
}{
"mcpServers": {
"svgmill": {
"type": "http",
"url": "https://svgmill.com/mcp",
"headers": {
"Authorization": "Bearer ${SVGMILL_TOKEN}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=svgmill&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vc3ZnbWlsbC5jb20vbWNwIiwiaGVhZGVycyI6eyJBdXRob3JpemF0aW9uIjoiQmVhcmVyICR7U1ZHTUlMTF9UT0tFTn0ifX0%3D"
}{
"servers": {
"svgmill": {
"type": "http",
"url": "https://svgmill.com/mcp",
"headers": {
"Authorization": "Bearer ${SVGMILL_TOKEN}"
}
}
}
}{
"mcpServers": {
"svgmill": {
"httpUrl": "https://svgmill.com/mcp",
"headers": {
"Authorization": "Bearer ${SVGMILL_TOKEN}"
}
}
}
}extensions:
"svgmill":
enabled: true
name: "svgmill"
type: streamable_http
uri: "https://svgmill.com/mcp"
headers:
"Authorization": "Bearer ${SVGMILL_TOKEN}"
timeout: 300
Placeholders to fill from your own secret store: ${SVGMILL_TOKEN}. The registry never accepts secret values.
protocol.modernprotocol.statelessprotocol.transportprotocol.list_ttlauth.prm, auth.as_metadata, auth.cimdauth.secret_in_urltools.descriptionstools.description_lengthtools.schemastools.annotationstools.directory_hintstools.token_costtools.api_dumptools.hidden_textstability.changes, stability.rug_pull, stability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% +updated-0d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://svgmill.com/mcp streamable-http | none | yes | 100% | 161 ms | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26 | 2026-11-14 |
buy_credits | Needs an API key. Returns a Stripe Checkout link for a credit pack, for the person to open and pay; nothing is charged until they do. Packs: pack_100 (100 credits, $25), pack_1k, pack_10k, pack_25k, pack_50k, pack_100k. Credits are added after payment and last 12 months. Prices: https://svgmill.com/pricing/. |
convert_image_to_svg | No key needed to preview: without an API key it returns a watermarked preview image (at most 512 px) and a claim_url, and no vector file. Show the preview, then ask the person to open the claim link (they sign up free and get 5 credits); then download_vector with the token returns the SVG (1 credit from their account). Without a key, pass token instead of an image to trace the same image again with other colors or preset (at most 3 times). With an API key (free to create) it converts a raster image (PNG, JPG, WebP, GIF, BMP or TIFF) into a vector file. Each call with a key costs 1 credit, and a failed conversion is not charged. Pass image_url or image_base64. Returns an image token, the credits left and a signed download link valid for 1 hour; the file itself is included when it is at most inline_max_bytes (default 16 KB; PNG up to 1 MB, as an image). Use download_vector with the token to get more formats for free. If you may retry (after a timeout, say), pass an idempotency_key: a repeat with the same key and arguments within 24 hours returns the first result and is not charged again. When images are waiting their turn, the result can instead have status "queued" with the token and retry_after_seconds, and nothing is charged yet: after that many seconds call download_vector with the token (charged then). Do not convert the image again. |
create_account | No key needed. Emails the person a link to create their free SVGMill account (or to sign in, if they have one) and returns a test-mode API key at once (free, watermarked results, no credits; it ends when the link is clicked, or after 24 hours). New accounts get 5 free credits when the person clicks the link; the page it opens shows their live API key. Disposable addresses are refused. Free. |
download_vector | No key needed for a token from a preview made without a key, once the person has claimed it (the first download costs 1 credit from their account); before that it answers status "waiting_for_claim" with the claim_url. Other tokens need an API key. Gets a file for an image token from an earlier conversion, with a fresh signed download link valid for 1 hour. Free for any format of a token you already paid for. The first download of a preview token, or of a token from a queued conversion, costs 1 credit. The file is included inline up to inline_max_bytes, as for convert_image_to_svg. If that trace is still queued or running, it answers with an error giving its place and how many seconds to wait; nothing is charged, so call it again then. |
edit_vector | Needs an API key. Edits a converted image, free (no credits). By colour, with only the palette from inspect_vector: mergeColours {a, b} (labels; a takes b's colour), splitColour {label}, snapPalette {rules: [{color: [r,g,b], to?: [r,g,b], drop?: true, tolerance}]} (change or drop colours; tolerance 0–2 is required, and 0.05–0.15 snaps near shades only), setColourCount {n} (fewer colours, at most the traced count). By region, with region.region from inspect_vector at a pixel of its preview image: recolor {region, color: [r,g,b]}, setTransparent {region} (cuts it out), mergeIntoNeighbour {region, neighbour}, move {region, dx, dy} (source pixels), delete {region} (shows what is beneath). Send rev, the revision you last saw (0 for a token never edited). If the token changed since, the result is a conflict error with the current rev and edits: check them, then resend. undo: n removes the last n edits. Returns the new preview image and palette, and fresh signed links to the formats already made (valid for 1 hour; earlier links stop working). |
get_accountread-only | Needs an API key. Shows your credit balance, credit grants, plan and usage this period. Free; it costs no credits. |
inspect_vectorread-only | No key needed for a token from a preview made without a key: then it shows the watermarked preview image and palette only (read-only). Other tokens need an API key. Shows a converted image as it is now, for editing with edit_vector: its palette (colours, their share and labels), its revision (rev) and edit log, and a watermarked preview image. Free and changes nothing. Pass x and y, a pixel of that preview image, to get the region there: its key (region.region) for region edits, colour, size and neighbours. Over a transparent pixel region is null. |
list_conversionsread-only | No key needed for tokens you already hold: pass tokens (up to 20) to see whether each is a preview waiting for its claim, claimed (download_vector works), expired or not found; this shows the state only, no files. With an API key, lists your conversions instead, newest first: token, file name, when it was made, when its files expire (30 days), the formats already made, and whether it is paid, a preview or a test. Free and read-only. |
subscribe | Needs an API key. Returns a Stripe Checkout link for a monthly or annual credit plan, for the person to open and pay; nothing is charged until they do. Credits are added each month while the plan lasts. Plans: plan_100_monthly ($17.50 a month, 100 credits a month); plan_100_annual ($168 a year, 100 credits a month); plan_1k_monthly ($140 a month, 1,000 credits a month); plan_1k_annual ($1,344 a year, 1,000 credits a month); plan_10k_monthly ($1,050 a month, 10,000 credits a month); plan_10k_annual ($10,080 a year, 10,000 credits a month); plan_25k_monthly ($1,750 a month, 25,000 credits a month); plan_25k_annual ($16,800 a year, 25,000 credits a month); plan_50k_monthly ($2,625 a month, 50,000 credits a month); plan_50k_annual ($25,200 a year, 50,000 credits a month); plan_100k_monthly ($3,500 a month, 100,000 credits a month); plan_100k_annual ($33,600 a year, 100,000 credits a month). If the account already has a plan, it is not changed: the person manages it at https://svgmill.com/account/. Prices: https://svgmill.com/pricing/. |
Schemas: list_tools.
{
"name": "com.svgmill/svgmill",
"title": "SVGMill",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://svgmill.com/mcp",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"isSecret": true,
"description": "Optional. Bearer key from svgmill.com/account/ (5 free credits). With none: watermarked previews and a claim link.",
"placeholder": "Bearer svgmill_live_..."
}
]
}
],
"version": "1.2.0",
"websiteUrl": "https://svgmill.com/agents/",
"description": "Turn images into clean SVG, PDF, EPS or DXF files, then edit the colours. 1 credit per image."
}