Developers
VectoSolve hosted MCP server
Give your AI agent the VectoSolve API: it turns an image into the file the machine needs (SVG, DXF, G-code, DST, PES, JEF, EPS, AI, PDF or PNG) and hands it back with a download link. One HTTPS URL, your API key, nothing to install.
Server
- Transport: Streamable HTTP, stateless (POST JSON-RPC; GET returns 405).
- Authentication:
Authorization: Bearer vs_xxx, the same API key as the REST API. - Tools can be listed without a key; every tool call needs one.
API key and credits
Create a key in Dashboard, API keys (sign in or create a free account first). The MCP server calls the REST API with it, so each tool call uses the same API credits, limits and free trial calls as the matching endpoint. Nothing is billed separately.
Costs per operation and plans: API access. get_credits shows the balance from inside your agent, for free.
Connect your client
Claude Code
One command in your terminal.
claude mcp add --transport http vectosolve https://vectosolve.com/api/v1/mcp \
--header "Authorization: Bearer vs_xxx"Cursor
~/.cursor/mcp.json, or .cursor/mcp.json in a project.
{
"mcpServers": {
"vectosolve": {
"url": "https://vectosolve.com/api/v1/mcp",
"headers": { "Authorization": "Bearer vs_xxx" }
}
}
}VS Code
.vscode/mcp.json. VS Code asks for the key once and stores it securely.
{
"inputs": [
{ "type": "promptString", "id": "vectosolve-key", "description": "VectoSolve API key", "password": true }
],
"servers": {
"vectosolve": {
"type": "http",
"url": "https://vectosolve.com/api/v1/mcp",
"headers": { "Authorization": "Bearer ${input:vectosolve-key}" }
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"vectosolve": {
"serverUrl": "https://vectosolve.com/api/v1/mcp",
"headers": { "Authorization": "Bearer vs_xxx" }
}
}
}Claude Desktop and other stdio-only clients
Bridge the remote server with mcp-remote, which forwards the header.
{
"mcpServers": {
"vectosolve": {
"command": "npx",
"args": ["mcp-remote", "https://vectosolve.com/api/v1/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer vs_xxx" }
}
}
}Replace vs_xxx with your key. A client that cannot send a custom header (for example a chat app that only offers sign-in connectors) can use the no-account VectoSolve connector instead. Prefer a local server? npx @vectosolve/mcp still works.
Tools
| Tool | What it does | Parameters |
|---|---|---|
| vectorize | Image to machine-ready file, in one call. | image_url or image_base64; mode (standard, laser, cricut, embroidery, centerline); format (svg, dxf, eps, ai, pdf, png, gcode, dst, pes, jef); colors; units and target_width; hoop; machine_type; cam_preset; dxf_version; export_options. |
| export_svg | An SVG you already have, to a machine or print file. | svg_content or svg_url; format (gcode, eps, ai, dxf, pdf, png, dst, pes, jef); same machine options as vectorize. |
| remove_background | Transparent PNG of an image. | image_url or image_base64. |
| upscale | Higher-resolution PNG of a small or blurry image. | image_url or image_base64. |
| generate_logo | SVG logos from a text description. | prompt; style; colors (hex, up to 5); num_variants (1, 2 or 4). |
| get_credits | API credit balance, plan and limits. Free. | None. |
Every tool except get_credits uses credits, so they are annotated readOnlyHint: false, destructiveHint: false. Options follow POST /api/v1/vectorize and POST /api/v1/export; export_options takes the advanced export options of the REST API as they are.
Which mode and format
| Machine or use | Settings |
|---|---|
| Laser cutter (LightBurn, xTool, Glowforge) | mode laser, format dxf (cam_preset lightburn) or svg |
| CNC router or plasma | mode laser, format gcode, machine_type cnc or plasma, target_width |
| Cricut, Silhouette | mode cricut, format svg |
| Embroidery machine | mode embroidery, format dst, pes or jef, hoop (4x4, 5x7, 6x10, 8x12...) |
| Print, signs, Illustrator | mode standard, format eps, ai or pdf |
| Line art, scanned plans, V-carving | mode centerline, format svg or dxf (dxf_version AC1015 for splines) |
Example prompt: “Vectorize https://example.com/patch.png into a PES for a 5x7 hoop, 110 mm wide.”
Output
- A PNG preview of the tracing, so the agent and you can check it.
- A summary: mode, number of vector shapes, file name and size, API credits used and remaining. Embroidery files also report the stitched size and hoop.
- A direct download link to the file, valid 24 hours. It serves the file and nothing else.
- Text formats (SVG, DXF, EPS, AI, G-code) up to 100 KB also come inline, ready to save.
- Failures are flagged with
isError: true. Invalid options are refused before anything is charged.
Errors
| Message | Meaning and fix |
|---|---|
| This VectoSolve MCP server needs your API key. | The connection sends no Authorization header. Add "Authorization: Bearer vs_..." to the client config. |
| The API key was refused (...) | The key is wrong, revoked, or locked to other origins. Check it in your dashboard. |
| Not enough API credits on the account of this key, so nothing was charged. | Add credits, then retry. |
| ... only applies to ... Nothing was charged. | An option does not fit the chosen format (for example hoop on a PDF). Options are checked before any charge. |
| The ... export failed: ... Here is the SVG instead. | The tracing worked but the machine file could not be built from it. The SVG is delivered and the call is flagged as an error. |
| Rate limit reached. Retry after N seconds. | Same per-key limits as the REST API (60 requests per minute by default). |
Support
Questions or a format you need: support@vectosolve.com. Data handling is the same as the REST API: see the Privacy Policy.