FrunkLab
Design custom Tesla Paint Shop wraps and lock chimes from your AI assistant. Generate a wrap for any Tesla model, create a lock chime, browse the free wrap gallery and search the lock sound library. Remote server with OAuth.
Hosted MCP Server
npx add-mcp 'https://www.frunklab.com/api/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
FrunkLab runs a remote MCP server. Connect it once and your assistant can generate Tesla Paint Shop wraps and lock chimes for your account, search the lock-sound library, and browse the gallery, from a chat.
Server address
https://www.frunklab.com/api/mcp
Transport: Streamable HTTP. Sign-in: OAuth 2.1 with your FrunkLab account, or a personal API key.
Want screenshots? Follow the step-by-step Claude and ChatGPT tutorial. The announcement, with what the first connected assistants designed, is in the launch post.
Connect in Claude
- Open Claude, then Settings, then Connectors.
- Choose Add custom connector and paste the server address https://www.frunklab.com/api/mcp.
- Approve the connection on the FrunkLab page that opens. You sign in with your normal FrunkLab account.
- Ask for a wrap in plain words, for example: design a matte black and neon green wrap for my Model Y Juniper. The result is saved to your designs with a link to the 3D preview and the Paint Shop download.
Connect in Claude Code
claude mcp add --transport http frunklab https://www.frunklab.com/api/mcp
Run /mcp to authenticate. Claude Code opens the FrunkLab approval page and returns to your terminal. To skip the browser step, create an API key on your account page and pass it as a header:
claude mcp add --transport http frunklab https://www.frunklab.com/api/mcp --header "Authorization: Bearer fl_ak_..."
Connect in ChatGPT
- In ChatGPT settings, open Connectors, then Advanced settings, and turn on Developer mode.
- Choose Create, paste the server address, and pick OAuth.
- Approve the connection on the FrunkLab page that opens.
Connect in Grok
- On grok.com open Connectors, choose New Connector, then Custom.
- Paste the server address and save. Grok reads the tool list on its own.
- When Grok asks you to authenticate, sign in on the FrunkLab page that opens and approve the connection.
Building on the xAI API instead? Add FrunkLab as a remote MCP tool with an API key from your account page in the authorization field (the API supports Streamable HTTP servers and does not take a require_approval setting):
{
"model": "grok-4",
"tools": [{
"type": "mcp",
"server_label": "frunklab",
"server_url": "https://www.frunklab.com/api/mcp",
"authorization": "fl_ak_..."
}],
"input": "Design a wrap for my Model 3 Highland: matte silver with two electric-blue racing lines."
}
Grok Build, the terminal agent, picks up any server already added to Claude Code, so the Claude Code command above covers it too.
Connect in Cursor or another MCP client
Any client that speaks Streamable HTTP works. Most run the OAuth flow on their own; the rest accept an API key as a bearer header:
{
"mcpServers": {
"frunklab": {
"url": "https://www.frunklab.com/api/mcp",
"headers": { "Authorization": "Bearer fl_ak_..." }
}
}
}
OpenAI Responses API
{
"model": "gpt-5",
"tools": [{
"type": "mcp",
"server_label": "frunklab",
"server_url": "https://www.frunklab.com/api/mcp",
"authorization": "fl_ak_...",
"require_approval": "never"
}],
"input": "Generate a wrap for my Cybertruck: desert camo with orange accents."
}
What the assistant can do
- list_tesla_modelsEvery Tesla model and variant, with the id to design for.
- get_accountYour plan, generations left this month, and token balance.
- generate_wrapMakes a Paint Shop wrap image from a description and saves it to My Designs.
- generate_lock_chimeMakes a LockChime.wav from a description and saves it to My Chimes.
- search_lock_soundsSearches the 400+ sound library by text, tags or category.
- list_my_designsYour designs, newest first, with links.
- browse_wrap_galleryPopular community wraps by model and style.
Every wrap it makes is the same file the AI wrap generator produces on the site, and every chime comes from the lock chime generator. Open a result in the studio to keep editing, or browse the lock sound library the search tool reads from.
Permissions you approve
- wraps:generate: Generate Tesla wrap images with your monthly allowance or tokens
- chimes:generate: Generate lock chimes with your monthly allowance
- designs:read: See the designs in your My Designs list
- profile:read: See your plan and how many generations you have left
- offline_access: Stay connected without signing in again (refresh tokens)
Plans and allowances
Generations made from an assistant use the same monthly allowance as the website. A free account includes 3 wrap generations and 2 sound-effect chime generations per month, plus 5 free melody or voice chimes a day. Paid plans start at $5 per month with larger allowances, and one-time token packs add wrap generations that never expire. The full comparison is on the pricing page.
When the allowance is used up the assistant is told so, with the reset date. Nothing is charged for a failed generation.
Security
- Connections use OAuth 2.1 with PKCE. Tokens work only at the FrunkLab MCP server and expire.
- API keys are shown once when created and can be revoked at any time from your account page.
- An assistant sees your designs and allowances, never your password, email or payment details.
- Disconnect an assistant from Account under Connected apps and API keys.
Questions
Can I use FrunkLab from ChatGPT or Claude?
Yes. FrunkLab has a remote MCP server. Connect it once in Claude, ChatGPT, Grok, Cursor, or Claude Code, sign in with your FrunkLab account, and ask the assistant to design a wrap or a lock chime. It uses the same monthly allowance as the website and the result lands in your designs.
How do I connect FrunkLab to Claude Code?
Run claude mcp add --transport http frunklab https://www.frunklab.com/api/mcp in your terminal, then type /mcp to sign in. Claude Code opens the FrunkLab approval page and returns to the terminal. To skip the browser step, create an API key on your account page and pass it as an Authorization: Bearer header when you add the server.
Does ChatGPT support FrunkLab?
Yes, as a custom connector. In ChatGPT open Settings > Connectors > Advanced settings, turn on Developer mode, choose Create, paste https://www.frunklab.com/api/mcp, and pick OAuth. Approve the connection on the FrunkLab page that opens and the assistant can design wraps and lock chimes for your account. Developer mode is available on ChatGPT's paid plans. The assistant only ever links to plan information, it never sells anything inside the chat.
Does Grok support FrunkLab?
Yes. Grok accepts custom MCP servers: on grok.com open Connectors, choose New Connector, then Custom, paste https://www.frunklab.com/api/mcp, and sign in with your FrunkLab account when Grok asks. Developers using the xAI API add the same address as a tool of type mcp with a FrunkLab API key in its authorization field, and Grok Build reads any server already configured for Claude Code. Once connected, Grok can generate Paint Shop wraps and lock chimes for your account and browse the gallery.
What can the FrunkLab MCP server do?
Seven things: list the supported Tesla models, check your plan and remaining generations, generate a Paint Shop wrap from a description, generate a lock chime, search the 400+ lock-sound library, list your designs, and browse popular community wraps. A generated wrap is saved to your designs and the assistant gets the image address plus a link to the design page, where you can see it on the 3D car, download the PNG, or edit it in the Studio or the Garage. It cannot delete designs, change billing, or read your email or payment details.
Is the FrunkLab MCP server free?
Connecting is free and works on every plan, including Free. You need a FrunkLab account with a confirmed email, because generations land in your designs and count against your allowance. That allowance is the same one the website uses: a free account gets 3 wrap generations and 2 sound-effect chimes a month, plus 5 free melody or voice chimes a day, and paid plans get more. Nothing is charged for a failed generation.
Where do I get a FrunkLab API key?
On your account page under Connected apps and API keys. The key is shown once when you create it, so copy it straight into your client. You can hold up to 5 keys and revoke any of them at any time from the same page. Keys are used as a bearer header by Claude Code, Cursor, the OpenAI Responses API, and the xAI API; Claude, ChatGPT, and Grok on grok.com sign in with OAuth instead and need no key.
More answers in the full FAQ.