Before you start
You need two things.
- An SVG Lab account. Sign in at svglab.app with Google or an email link.
- 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 DesktopOne 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.
- In Claude, open Customize, then Connectors (on the web: claude.ai/customize/connectors).
- Press +, then Add custom connector.
- Name it
SVG Laband paste this address as the remote MCP server URL. Leave Advanced settings (OAuth Client ID and Secret) empty.Remote MCP server URLhttps://svglab.app/mcp - Press Add, then Connect next to SVG Lab. Sign in to SVG Lab in the window that opens and press Approve.
- 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- Run this in your terminal:
Terminal
claude mcp add --transport http --scope user svglab https://svglab.app/mcp--scope usermakes SVG Lab available in every project. Leave it out to add it to the current project only. - 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 svglabdoes the same. - Back in Claude Code,
/mcpshould show svglab as connected.
With a key instead of sign-in
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 modeCustom 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.
- Open Settings, then Security and login, and turn on Developer mode.
- Open Plugins and press the + button to create a developer mode app.
- 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 URLhttps://svglab.app/mcp - Name:
- Create it. When ChatGPT asks you to sign in, sign in to SVG Lab and press Approve.
- 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 CLIEverything 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.
- In the Codex app, open Settings, then Plugins, then the MCPs tab.
- Press Add, then Connect to a custom MCP.
- 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. - 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.
- 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:
codex mcp add svglab --url https://svglab.app/mcpOr add it to ~/.codex/config.toml by hand:
[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:
[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- Open
~/.cursor/mcp.json(every project) or.cursor/mcp.jsonin 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". - 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.
- Check that svglab shows as connected, then use it from a chat in Agent mode.
With a key instead of sign-in
{
"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- Create
.vscode/mcp.jsonin 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 pastehttps://svglab.app/mcp. - 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.
- 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
{
"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- Open your OpenCode config:
~/.config/opencode/opencode.jsonfor every project (on WindowsC:\Users\YOU\.config\opencode\opencode.json), oropencode.jsonin your project folder. The file may also be namedopencode.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. - Sign in from a terminal:
Terminal
opencode mcp auth svglabYour 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.
- Restart OpenCode (or start a new session) and run
opencode mcp listto see svglab connected. The SVG Lab design tools then appear in your next session.
With a key instead of sign-in
{
"$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.jsonWindsurf's editor is now called Devin Desktop. These steps are for its Cascade panel.
- In the Cascade panel, open the ... menu at the top right and choose Open MCP config file. (The file is
~/.config/devin/mcp_config.jsonon macOS and Linux and%APPDATA%\devin\mcp_config.jsonon Windows; older Windsurf versions use~/.codeium/windsurf/mcp_config.json.) - Add the
"svglab"entry:mcp_config.json{ "mcpServers": { "svglab": { "serverUrl": "https://svglab.app/mcp" } } } - 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
{
"mcpServers": {
"svglab": {
"serverUrl": "https://svglab.app/mcp",
"headers": { "Authorization": "Bearer ${env:SVGLAB_MCP_KEY}" }
}
}
}Gemini CLI
settings.json- Run this in your terminal:
Terminal
gemini mcp add --transport http --scope user svglab https://svglab.app/mcpOr add it to
~/.gemini/settings.jsonby hand. UsehttpUrl, noturl: in Gemini CLI,urlmeans the older SSE transport.~/.gemini/settings.json{ "mcpServers": { "svglab": { "httpUrl": "https://svglab.app/mcp" } } } - 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. - Type
/mcpto check that svglab is connected.
With a key instead of sign-in
gemini mcp add --transport http --scope user -H "Authorization: Bearer svl_YOUR_KEY" svglab https://svglab.app/mcpAny 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_KEYif the app has no sign-in support.
Most apps that use a JSON file accept this 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.
- Sign in at svglab.app.
- Open the account menu (your email, top right) and choose SVG Lab MCP.
- 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_. - 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:
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:
- Your assistant says it is connected to SVG Lab and names your account.
- 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.
- 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
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 groupProcedure
- 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.
- 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. - Start the sign-in. Run the app's sign-in step (for example
opencode mcp auth svglab, or/mcpin 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. - 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.
- 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.
- 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.
- 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.