SVG Lab Request access

SVG Lab MCP setup guide

Connect your AI to SVG Lab. About two minutes.

The SVG Lab MCP gives the AI app you already use a design engine. 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 requests once to try it, then Plus, Max 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 SVG Lab MCP requests, with no form to fill in. After that, choose Plus or Max, or buy a top-up (150 requests per US dollar, from 10 dollars, never expire, all purchases final), on the plans page. Accounts granted early access have it too.

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 requests, 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

Every app below signs in the same way: add the address, and 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.

  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 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

developer mode

Custom MCP servers need developer mode, available on the web for ChatGPT Plus, Pro, Business, Enterprise and Education. In a Business, Enterprise or Education workspace an admin has to allow developer mode first.

  1. Open Settings, then Security and login, and turn on Developer mode.
  2. Open Plugins and press the + button to create a developer mode app.
  3. Fill it in:
    • Name: SVG Lab
    • Description: Design engine: app screens, icons, illustrations and charts as finished SVG
    • MCP server URL: https://svglab.app/mcp
    • Authentication: OAuth
    MCP server URL
    https://svglab.app/mcp
  4. Create it. When ChatGPT asks you to sign in, sign in to SVG Lab and press Approve.
  5. In a chat, open the + menu, choose Developer mode and select SVG Lab.

ChatGPT renames these menus from time to time. If you cannot find Plugins, look for Apps or Connectors in Settings; the fields are the same.

Codex

desktop app, IDE extension and CLI

Everything happens in the Codex app, no terminal needed. The app, the IDE extension and the CLI share one settings file, so you add SVG Lab once.

  1. In the Codex app, open Settings, then Plugins, then the MCPs tab.
  2. Press Add, then Connect to a custom MCP.
  3. Name it SVG Lab, set the type to Streamable HTTP, and paste the URL https://svglab.app/mcp. Leave the bearer token and headers empty, then press Save.
  4. In the Servers list, press Authenticate on the SVG Lab row (it sits next to the gear icon, before the switch). Your browser opens the SVG Lab sign-in page; press Approve. When the browser says the sign-in is complete, go back to Codex.
  5. Start a new Codex thread so it loads the SVG Lab tools.

From the terminal instead

If you prefer the command line, this adds the same server:

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 sign in with the app's Authenticate button as in step 4. 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
  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
  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.

The sign-in page says the SVG Lab MCP free trial is used up

Your account has used its 100 free requests and has no Plus or Max plan and no top-up. Choose a plan or buy a top-up on the plans page, then connect again. 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: its free requests are used up and it has no plan or top-up, 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 an allowance is used up

Plus and Max each include a monthly number of requests: one tool call is one request, and calls that fail are not counted. When that runs out, your free trial and then your top-up requests are used. Every account also has a daily allowance of design engine time. Your assistant tells you which one you reached and when it resets.

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 requests once to try it, no form; then the Plus or Max plan, or top-ups: https://svglab.app/billing
cost:              100 free requests once per account, then Plus and Max (monthly request allowance) or top-ups (never expire); 1 tool call = 1 request, failed calls free
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, the free requests left and any top-up balance. Every account gets 100 free requests; after that the SVG Lab MCP needs Plus, Max or a top-up.
  2. Add the server. 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 requests are used up and it has no Plus or Max plan and no top-up, 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 trial is used up and does not let the user approve.
  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 MCP requests left: its 100 free requests are used up. Choose Plus or Max, 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?

Every SVG Lab account gets 100 free requests to try the SVG Lab MCP, once, with no form to fill in. After that, the Plus and Max plans each include a monthly allowance of requests, and top-ups add requests that never expire (150 requests per US dollar, from 10 dollars; all purchases are final). One tool call is one request, and calls that fail are not counted. 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 requests, 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.