SVG Lab See plans

SVG Lab MCP setup guide

Connect your AI to SVG Lab. About two minutes.

The SVG Lab MCP puts SVG Lab's Design Engine, the Design Engine for AI, behind the AI app you already use. Add one address, sign in to SVG Lab, press Approve, and your assistant can design app screens, icons, illustrations and charts that land in your SVG Lab projects, ready to edit and export.

https://svglab.app/mcp
The only address you need. No key, nothing to install.
Works with
Claude, ChatGPT, Codex, Cursor, VS Code, OpenCode and more
Connection type
Remote MCP over streamable HTTP
Sign-in
OAuth: your app opens SVG Lab, you press Approve
Access
100 free credits (up to 24 app screens) once to try it, then a plan or top-ups

Before you start

You need two things.

  1. An SVG Lab account. Sign in at svglab.app with Google or an email link.
  2. Nothing to buy to try it. Every account gets 100 free credits (up to 24 app screens), with no form to fill in (a tool call costs 1 credit). After that, choose a plan, or buy a top-up (10 US dollars for 5,000 credits, up to 1,200 app screens, 25 for 10,000 credits, up to 2,400 app screens, 50 for 25,000 credits, up to 6,100 app screens; they never expire, all purchases final), on the plans page.

Sign in with the same account every time. When your AI app opens the SVG Lab sign-in page, use the same account, so its free credits, plan or top-ups apply. Your designs are saved to that account's My Projects.

Nothing needs to be open in SVG Lab, and there is no code to type in. SVG Lab runs the Design Engine on its own servers, so your assistant can work while the site is closed.

Pick your app

ChatGPT and Codex install the SVG Lab plugin in one click: no address to paste and no developer mode. Every other app below adds the address. Either way the app opens a Sign in to SVG Lab page: sign in, check which app is asking, and press Approve.

Claude

claude.ai and Claude Desktop

One connector works in claude.ai on the web and in the Claude Desktop app. Custom connectors are available on the Free, Pro, Max, Team and Enterprise plans; a Free account can add one custom connector.

Add to ClaudeOne click: Claude opens Add custom connector with SVG Lab filled in. Press Add, then Connect, sign in to SVG Lab and press Approve. Or follow the steps below.

  1. In Claude, open Customize, then Connectors (on the web: claude.ai/customize/connectors).
  2. Press +, then Add custom connector.
  3. Name it SVG Lab and paste this address as the remote MCP server URL. Leave Advanced settings (OAuth Client ID and Secret) empty.
    Remote MCP server URL
    https://svglab.app/mcp
  4. Press Add, then Connect next to SVG Lab. Sign in to SVG Lab in the window that opens and press Approve.
  5. In a chat, press + at the lower left, open Connectors and make sure SVG Lab is switched on.

On a Team or Enterprise plan, an owner adds the connector once for everyone under Organization settings, then Connectors; each person then presses Connect and signs in with their own SVG Lab account.

Claude's connector form has no field for a key, so Claude always connects by signing in.

Claude auto-connect for teams

Claude Team and Enterprise

Your Claude organization's members can have SVG Lab connected when they log in to Claude, with no Connect button and no sign-in window. Claude calls this Managed authorization. It needs a Claude Team or Enterprise plan and an SVG Lab team.

  1. As a Claude owner, add SVG Lab as a connector for the organization (the steps above), with the address https://svglab.app/mcp.
  2. Open the SVG Lab connector, find Managed authorization under Authentication and press Set up. Under Identity source, choose Claude-issued. Copy the Issuer URL it shows.
  3. In SVG Lab, open My Projects, choose your team and open the Team panel. As the team's owner or an admin, paste the Issuer URL under Claude auto-connect and press Turn on. Then copy the team's Tenant ID shown there into Claude's Tenant ID (optional) field: it ties sign-ins to this exact team.
  4. Back in Claude, press Run test under Connection status.

Who gets connected: a person who is a member of your SVG Lab team and whose confirmed SVG Lab email is the same as their Claude email. Anyone else still presses Connect and signs in as usual. SVG Lab never creates an account from Claude's sign-in.

Turning it off in the Team panel stops new connections at once. A connection already made lasts up to one hour. Someone removed from your Claude organization stops getting new connections, and keeps one already made for up to one hour.

Identity providers (Okta and others) are not supported yet: choose Claude-issued.

Claude Code

terminal
  1. Run this in your terminal:
    Terminal
    claude mcp add --transport http --scope user svglab https://svglab.app/mcp

    --scope user makes SVG Lab available in every project. Leave it out to add it to the current project only.

  2. Start Claude Code, type /mcp, choose svglab and pick Authenticate. Your browser opens the SVG Lab sign-in page; press Approve. From outside a session, claude mcp login svglab does the same.
  3. Back in Claude Code, /mcp should show svglab as connected.

With a key instead of sign-in

Terminal
claude mcp add --transport http --scope user svglab https://svglab.app/mcp --header "Authorization: Bearer svl_YOUR_KEY"

Replace svl_YOUR_KEY with your own key (see Use a key instead). Claude Code saves it in your user settings (~/.claude.json), not in your project folder.

ChatGPT

one-click plugin

SVG Lab is a plugin in ChatGPT. Install it in one click: no developer mode, no address to paste.

Install in ChatGPTOpens the SVG Lab plugin in ChatGPT. Press + to install it, then sign in to SVG Lab and press Approve.

  1. Open the SVG Lab plugin, or open Plugins in ChatGPT (on the web or in the desktop app) and search for SVG Lab.
  2. Press + to install it.
  3. When ChatGPT asks you to connect, sign in to SVG Lab and press Approve.
  4. Start a new chat and ask for what you want, for example: Design a welcome screen for my plant care app in SVG Lab.

You used to need developer mode and a custom app for this. You don't any more: if you added SVG Lab that way before, you can remove it and install the plugin instead.

Codex

one-click plugin

Codex installs the same SVG Lab plugin as ChatGPT: no MCP to add by hand.

  1. In the Codex app (or the ChatGPT desktop app), open Plugins and search for SVG Lab. In the Codex CLI, type /plugins instead.
  2. Press + to install it.
  3. When it asks you to connect, sign in to SVG Lab and press Approve.
  4. Start a new Codex thread so it loads SVG Lab.

In the IDE extension, or to add it by hand

The Codex IDE extension has no plugins. There, or if you prefer to add the server yourself, this adds SVG Lab as an MCP server (the app, the IDE extension and the CLI share one settings file):

Terminal
codex mcp add svglab --url https://svglab.app/mcp

Or add it to ~/.codex/config.toml by hand:

~/.codex/config.toml
[mcp_servers.svglab]
url = "https://svglab.app/mcp"

Then, in the Codex app, open Settings, Plugins, MCPs and press Authenticate on the SVG Lab row; your browser opens the SVG Lab sign-in page, press Approve. codex mcp login svglab also exists, but in our testing it sometimes reported success without finishing the sign-in.

With a key instead of sign-in

Keep the key in an environment variable so it never sits in the file:

~/.codex/config.toml
[mcp_servers.svglab]
url = "https://svglab.app/mcp"
bearer_token_env_var = "SVGLAB_MCP_KEY"

Then set SVGLAB_MCP_KEY to your svl_ key in your shell before starting Codex.

Cursor

mcp.json

Add to CursorOne click if Cursor is installed: Cursor asks to install SVG Lab; press Install, then sign in to SVG Lab and press Approve. Or add it by hand:

  1. Open ~/.cursor/mcp.json (every project) or .cursor/mcp.json in your project folder (this project only). Create the file if it does not exist, and add:
    ~/.cursor/mcp.json
    {
      "mcpServers": {
        "svglab": {
          "url": "https://svglab.app/mcp"
        }
      }
    }

    If the file already has other servers, add only the "svglab" entry inside the existing "mcpServers".

  2. Open Cursor Settings and find svglab in the MCP list. When Cursor asks you to sign in, your browser opens the SVG Lab sign-in page; press Approve.
  3. Check that svglab shows as connected, then use it from a chat in Agent mode.

With a key instead of sign-in

~/.cursor/mcp.json
{
  "mcpServers": {
    "svglab": {
      "url": "https://svglab.app/mcp",
      "headers": { "Authorization": "Bearer ${env:SVGLAB_MCP_KEY}" }
    }
  }
}

Set the environment variable SVGLAB_MCP_KEY to your svl_ key before starting Cursor.

VS Code

GitHub Copilot agent mode

Add to VS CodeOne click if VS Code is installed: press Install on the page it opens, then sign in to SVG Lab and press Approve. Or add it by hand:

  1. Create .vscode/mcp.json in your project (or run MCP: Open User Configuration from the Command Palette for every project) and add:
    .vscode/mcp.json
    {
      "servers": {
        "svglab": {
          "type": "http",
          "url": "https://svglab.app/mcp"
        }
      }
    }

    Note the key is "servers" here, not "mcpServers". You can also run MCP: Add Server, choose HTTP and paste https://svglab.app/mcp.

  2. Start the server (the Start link above the entry, or MCP: List Servers). VS Code opens your browser for the SVG Lab sign-in on the first connection; press Approve.
  3. Open Copilot Chat in Agent mode and check that the SVG Lab tools are listed under the tools button.

With a key instead of sign-in

.vscode/mcp.json
{
  "inputs": [
    { "type": "promptString", "id": "svglab-key", "description": "SVG Lab MCP key (svl_...)", "password": true }
  ],
  "servers": {
    "svglab": {
      "type": "http",
      "url": "https://svglab.app/mcp",
      "headers": { "Authorization": "Bearer ${input:svglab-key}" }
    }
  }
}

VS Code asks for the key once and stores it securely.

OpenCode

opencode.json
  1. Open your OpenCode config: ~/.config/opencode/opencode.json for every project (on Windows C:\Users\YOU\.config\opencode\opencode.json), or opencode.json in your project folder. The file may also be named opencode.jsonc; edit the one that exists. Use the global file unless you want SVG Lab in one project only. Add the "svglab" entry inside "mcp":
    opencode.json
    {
      "$schema": "https://opencode.ai/config.json",
      "mcp": {
        "svglab": {
          "type": "remote",
          "url": "https://svglab.app/mcp",
          "enabled": true
        }
      }
    }

    If the file already has an "mcp" section, add only the "svglab" entry to it and keep everything else.

  2. Sign in from a terminal:
    Terminal
    opencode mcp auth svglab

    Your browser opens the SVG Lab sign-in page; press Approve. The command waits until you do. OpenCode also offers the sign-in by itself the first time it connects. In the OpenCode desktop app you can sign in from the MCP list in the session header instead.

  3. Restart OpenCode (or start a new session) and run opencode mcp list to see svglab connected. The SVG Lab design tools then appear in your next session.

With a key instead of sign-in

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "svglab": {
      "type": "remote",
      "url": "https://svglab.app/mcp",
      "enabled": true,
      "oauth": false,
      "headers": { "Authorization": "Bearer {env:SVGLAB_MCP_KEY}" }
    }
  }
}

Set the environment variable SVGLAB_MCP_KEY to your svl_ key before starting OpenCode, so the key never sits in the file. OpenCode writes an environment variable as {env:NAME}, with no $ (Cursor and Windsurf use ${env:NAME}). "oauth": false tells OpenCode to use the key and skip the sign-in.

Windsurf

mcp_config.json

Windsurf's editor is now called Devin Desktop. These steps are for its Cascade panel.

  1. In the Cascade panel, open the ... menu at the top right and choose Open MCP config file. (The file is ~/.config/devin/mcp_config.json on macOS and Linux and %APPDATA%\devin\mcp_config.json on Windows; older Windsurf versions use ~/.codeium/windsurf/mcp_config.json.)
  2. Add the "svglab" entry:
    mcp_config.json
    {
      "mcpServers": {
        "svglab": {
          "serverUrl": "https://svglab.app/mcp"
        }
      }
    }
  3. Save, then refresh the MCP list in Cascade. When it asks you to sign in, sign in to SVG Lab and press Approve.

In a company workspace an admin may need to switch MCP servers on, or add https://svglab.app/mcp to the team's allowed list.

With a key instead of sign-in

mcp_config.json
{
  "mcpServers": {
    "svglab": {
      "serverUrl": "https://svglab.app/mcp",
      "headers": { "Authorization": "Bearer ${env:SVGLAB_MCP_KEY}" }
    }
  }
}

Gemini CLI

settings.json
  1. Run this in your terminal:
    Terminal
    gemini mcp add --transport http --scope user svglab https://svglab.app/mcp

    Or add it to ~/.gemini/settings.json by hand. Use httpUrl, not url: in Gemini CLI, url means the older SSE transport.

    ~/.gemini/settings.json
    {
      "mcpServers": {
        "svglab": {
          "httpUrl": "https://svglab.app/mcp"
        }
      }
    }
  2. Start Gemini CLI. It notices that SVG Lab needs a sign-in and opens your browser; press Approve. To start the sign-in yourself, type /mcp auth svglab.
  3. Type /mcp to check that svglab is connected.

With a key instead of sign-in

Terminal
gemini mcp add --transport http --scope user -H "Authorization: Bearer svl_YOUR_KEY" svglab https://svglab.app/mcp

Any other MCP client

Any app that can add a remote MCP server over streamable HTTP can use SVG Lab. These are the details it will ask for:

  • Server URL: https://svglab.app/mcp
  • Transport: streamable HTTP (sometimes shown as "HTTP" or "remote"). Not SSE, and not a local command.
  • Authentication: OAuth. The app finds everything it needs from the address itself: SVG Lab supports automatic app registration and PKCE, so leave any client ID and secret fields empty.
  • Or a header: Authorization: Bearer svl_YOUR_KEY if the app has no sign-in support.

Most apps that use a JSON file accept this shape:

mcp.json (common shape)
{
  "mcpServers": {
    "svglab": {
      "url": "https://svglab.app/mcp"
    }
  }
}

Use a key instead of signing in

Signing in is the recommended way for every app. A key is useful for command line apps, scripts, or a machine with no browser. It works until you regenerate or revoke it.

  1. Sign in at svglab.app.
  2. Open the account menu (your email, top right) and choose SVG Lab MCP.
  3. Open Use a key instead of signing in, press Generate key and copy it straight away. SVG Lab shows it only once. Keys start with svl_.
  4. Send it as a header with every request:
    HTTP header
    Authorization: Bearer svl_YOUR_KEY

Where an app reads the key from an environment variable such as SVGLAB_MCP_KEY, set it in your system or user environment variables (or your shell profile), so an app started from the desktop sees it too. Treat the key like a password: anyone holding it can use SVG Lab as you. Lost it? Press Regenerate (the old key stops working) and update your apps. Revoke switches it off.

Check it works

Start a new chat in your AI app and paste this prompt:

Test prompt
Use the SVG Lab MCP server (svglab). First check my SVG Lab account status and tell me which account you are connected to and whether design access is on. Then create a new SVG Lab project called "Setup test", design a simple 64 by 64 paper plane icon in it, and give me the link to the project.

What you should see:

  1. Your assistant says it is connected to SVG Lab and names your account.
  2. It designs the icon. The first design step can take 10 to 30 seconds while SVG Lab starts your Design Engine; later steps are quick.
  3. It gives you a link. The new project is also in My Projects when you open SVG Lab, ready to edit or export as SVG, PNG or PDF.

If your assistant says it has no SVG Lab tools, or that it can only check your account, see Troubleshooting.

Troubleshooting

"Unauthorized", a 401 error, or the app keeps asking me to sign in

Remove SVG Lab from the app, add it again with https://svglab.app/mcp, and sign in with the same SVG Lab account as before. Leave any client ID, client secret or key fields empty unless you are using a key on purpose.

If you use a key, check that the header reads exactly Authorization: Bearer svl_... and that you have not regenerated or revoked that key since.

I pressed Approve, but my app is still not connected

After you approve, your app has to pick up the sign-in. The SVG Lab sign-in page says You're connected only once it has. If it says the sign-in has not reached your app yet, go back to the app and start again: in Codex, press Authenticate again, or restart Codex and connect again. In other apps, start the connection to SVG Lab again. Keep the app open until the sign-in page says you are connected.

The sign-in page says the free credits are used up

Your account has used its 100 free credits and has no plan credits and no top-up credits. Choose a plan or buy a top-up on the plans page; the connection then works with no more setup. If your plan is on a different email, sign in with that one.

My assistant can only check my account status

The connection works but your account cannot design yet: it has no credits left, the account is suspended, or the key was replaced. Ask your assistant to check your SVG Lab account status and read out what it says; it tells you exactly what is missing.

The SVG Lab tools are missing, or look out of date

Apps load the list of tools when they start and keep it. Start a new chat, or switch the SVG Lab server off and on in the app's MCP settings, or restart the app. If the app shows SVG Lab as failed, click it to reconnect or restart the app.

The first request is slow

That is normal. The first design step starts your Design Engine on SVG Lab's servers and can take 10 to 30 seconds. It closes by itself when you stop, and reopens on your next request in the same project with your work saved.

My assistant says my credits are used up

Each call is paid from your plan's credits for the month first (a tool call costs 1 credit, a reference search 2; calls that fail cost nothing), then your free credits, then your top-up credits. Every account also has a daily allowance of Design Engine time. Your assistant tells you which one you reached and when it renews.

Two assistants at once

Up to two AI sessions can work on one SVG Lab account at the same time, each in its own group of artboards. Each group shows a label with the app that is working in it, and the other assistant cannot change it. A third session is asked to wait until one finishes. Two chats in the same app on the same connection count as one session, so give each chat its own project, or run them one after the other.

The connection dropped after a while

A sign-in lasts for months while you use it, because your app renews it in the background. If it does stop, it is usually because someone pressed Disconnect, or the app lost its saved sign-in. Connect once more and it carries on.

I want to see what my assistant made

Open the link your assistant gives you, or find the project in My Projects. Your assistant works on SVG Lab's servers, so there is no code to type in and nothing needs to stay open while it designs.

Still stuck? Email support@svglab.app with the app you use and the exact message you see.

For AI assistants setting this up

If you are an AI assistant configuring SVG Lab for a user, this section is for you. A plain text copy of this whole page is served to any request with the header Accept: text/markdown on https://svglab.app/mcp-setup.

Facts

SVG Lab MCP: machine summary
name:              svglab
server_url:        https://svglab.app/mcp
transport:         streamable HTTP (remote). Not SSE, not stdio. Nothing to install.
auth:              OAuth 2.1, authorization code with PKCE (S256), dynamic client registration
resource_metadata: https://svglab.app/.well-known/oauth-protected-resource/mcp
auth_server_meta:  https://svglab.app/.well-known/oauth-authorization-server
registration:      https://svglab.app/oauth/register
scope:             mcp
client_id:         not needed; leave client ID and client secret empty
no_credentials:    POST /mcp answers 401 with a WWW-Authenticate header pointing at resource_metadata
key_alternative:   header "Authorization: Bearer svl_KEY" (the user creates the key at svglab.app:
                   account menu, SVG Lab MCP, Generate key). Never invent a key.
access:            every account gets 100 free credits (up to 24 app screens) once to try it, no form; then a plan (Starter, Plus, Max or Ultra) or top-ups: https://svglab.app/billing
cost:              credits: 1 a tool call, 2 a reference search, failed calls free; 100 free once per account, then monthly plan credits or top-up credits (never expire)
browser_tab:       not needed; the server runs the Design Engine and saves to the user's My Projects
first_call:        can take 10 to 30 seconds while the Design Engine starts
sessions:          up to 2 AI sessions per SVG Lab account at once, each in its own artboard group

Procedure

  1. Find the app. Work out which app the user is in (Claude Code, OpenCode, Codex, Cursor, VS Code, Gemini CLI, Windsurf, Claude, ChatGPT). If you cannot tell, ask once. If the user is not sure their account has access, ask them to open https://svglab.app/billing while signed in: it shows the current plan and the credits left (plan, free and top-up). Every account gets 100 free credits (up to 24 app screens); after that the SVG Lab MCP needs a plan or a top-up.
  2. Add the server. In ChatGPT or Codex (the app or the CLI), there is nothing to add: tell the user to install the SVG Lab plugin (ChatGPT, Codex), then go to the test. For every other app, use that app's block from this page exactly as written, with the name svglab. Prefer the user level config (every project) unless the user asks for one project. When editing a config file, merge the entry into the existing file and keep every other server and setting. Never put a key in a project file that could be committed to git; use the environment variable form.
  3. Start the sign-in. Run the app's sign-in step (for example opencode mcp auth svglab, or /mcp in Claude Code). It opens the browser and waits until the user signs in to SVG Lab and presses Approve, so either run it and wait, or ask the user to run it in their own terminal. You cannot approve for them; tell them what to expect.
  4. Reload. Restart the app or start a new session so it loads the SVG Lab tools. If you are running inside the app you are configuring, a restart ends your own session: finish the steps above first, then ask the user to restart and paste the test prompt from Check it works into a new session.
  5. Verify. In the new session, check your own tool list for tools from svglab. With access there are dozens of design tools. If there is only one tool, an account status tool, the connection works but the account cannot design yet (its 100 free credits are used up and it has no plan credits and no top-up credits, the account is suspended, or a key was replaced): call it and pass its message to the user. With sign-in, an account without access usually stops earlier: the SVG Lab sign-in page says the free credits are used up; the user can still approve, and the account status tool then says how to get credits.
  6. Test. Run the test prompt from Check it works and give the user the project link it returns. The first design step can take 10 to 30 seconds; that is not a failure.
  7. If access is not granted, tell the user: "SVG Lab is set up, but your SVG Lab account has no SVG Lab credits left: its 100 free credits are used up. Choose a plan, or buy a top-up, at https://svglab.app/billing with the same account, and then it works with no more setup."

Config per client

Use the block for the user's app from the sections above, exactly as written. Keep the server name svglab. Never invent a key: if the user has not given you one, use sign-in.

FAQ

Do I need an API key?

No. Every app on this page can sign in: it opens SVG Lab's sign-in page, you press Approve, and you are connected. A key is only an alternative for command line apps where you would rather paste a header than sign in.

Do I need to keep SVG Lab open in a tab?

No. Nothing needs to be open in SVG Lab, and there is no code to type in. SVG Lab runs the Design Engine on its own servers, and everything your assistant makes is saved to My Projects, ready when you open SVG Lab.

How long does the connection stay signed in?

For months while you use it. Your app renews the sign-in in the background. It ends when you press Disconnect in SVG Lab, or after a year with no use at all.

What does it cost?

SVG Lab counts in credits. Every SVG Lab account gets 100 free credits (up to 24 app screens) to try the SVG Lab MCP, once, with no form to fill in. A tool call costs 1 credit, a reference image search 2, and calls that fail cost nothing. After that, every paid plan (Starter, Plus, Max and Ultra) adds credits each month, and top-ups add credits that never expire (10 US dollars for 5,000 credits, up to 1,200 app screens, 25 for 10,000 credits, up to 2,400 app screens, or 50 for 25,000 credits, up to 6,100 app screens; all purchases are final). See the plans and top-ups at https://svglab.app/billing.

Which account does my work go to?

The SVG Lab account you signed in with when you pressed Approve. Use the same account every time, so its free credits, plan or top-ups apply.

Can I connect more than one app?

Yes. Connect as many apps as you like. Up to two AI sessions can design on one SVG Lab account at the same time, each in its own group of artboards, and you can keep working on the rest of the project while they do.

How do I disconnect an app?

Open SVG Lab, open the account menu (your email, top right) and choose SVG Lab MCP. Under Connected apps, press Disconnect next to the app. It stops working straight away.

Is there a package to install or a separate MCP subdomain?

No. There is nothing to install and no mcp.svglab.app. The one and only server address is https://svglab.app/mcp.