Five steps from zero to a working connection. Claude Code users should use
VAYBEL_PAT once for both the MCP server and the official Vaybel Skills plugin.
Create a Personal Access Token
Open Dashboard → Settings → API & MCP. Click Create token, give it a label, and pick scopes. All current public scopes are selected by default so the MCP server and Vaybel Skills work immediately. Uncheck scopes only when you are intentionally limiting a token.
Shown Once
The raw token is displayed exactly once at creation. Copy it immediately; we store only a SHA256 hash and can't recover the original after the dialog closes.
Recommended: Claude Code + Vaybel Skills
Store the token once in Claude Code settings:
{
"env": {
"VAYBEL_PAT": "vbl_pat_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}Then add the Vaybel MCP server using that environment variable:
claude mcp add-json vaybel '{"type":"http","url":"https://mcp.vaybel.com/","headers":{"Authorization":"Bearer ${VAYBEL_PAT}"}}' --scope userInstall the official Vaybel Skills plugin:
/plugin marketplace add vaybel/skills
/plugin install vaybel@vaybelRestart Claude Code after changing settings or plugin state.
Other AI assistants
Vaybel uses the hosted HTTP endpoint https://mcp.vaybel.com/ with a
Personal Access Token in the Authorization: Bearer header. Each assistant
has its own configuration format; a config copied from another client may
not work.
Codex: add the server to your Codex MCP configuration. Make
VAYBEL_PAT available in the environment that starts Codex:
[mcp_servers.vaybel]
url = "https://mcp.vaybel.com/"
bearer_token_env_var = "VAYBEL_PAT"Follow the Codex MCP guide for the configuration location and setup options for your Codex client.
Cursor: use its remote MCP configuration and environment-variable syntax:
{
"mcpServers": {
"vaybel": {
"url": "https://mcp.vaybel.com/",
"headers": {
"Authorization": "Bearer ${env:VAYBEL_PAT}"
}
}
}
}See Cursor’s MCP guide for project and global settings. Make the environment variable available to Cursor before connecting.
Perplexity: check your account’s custom remote connector options. Select Streamable HTTP and verify that its authentication settings can send your Vaybel token as a Bearer header. Connector availability depends on the account and organization settings. This Vaybel connection has not yet been verified end to end in Perplexity.
For other assistants, check remote HTTP and Bearer-token support in the client’s own instructions. Restart clients that load their configuration at startup, then verify the connection in the next step.
Keep The Token Out Of Git
Keep your raw token in the client’s credential settings or environment, not in a committed config or product brief. Environment-variable syntax differs between clients; the examples above are not interchangeable.
Verify the connection with ping
Ask your agent to call the ping tool, or send the JSON-RPC frame directly:
curl -N -X POST https://mcp.vaybel.com/ \
-H "Authorization: Bearer $VAYBEL_PAT" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ping","arguments":{"echo":"hello"}}}'A successful response carries structuredContent.echo = "hello". The dual Accept header is required — sending only application/json returns 406. A 401 means the Authorization header didn't land — re-check your client config and restart. Any other error shape: head to Tool Reference to match against the expected return.
Make a real call
Prerequisites For The Full Workflow
Most MCP tools require a Starter plan or higher — ping, credits.check, the catalog tools, brand_dna.get and the drop read tools work without one (Growth unlocks optimize / content / social / product videos / insights). Generation costs credits (credits.check shows your balance; Credit Charging lists each cost). Trend tools need a saved Brand DNA (Dashboard → Settings → Brand) to have data. listing.create needs the target sales channel connected in the dashboard first — call integration.list to see which sales channels, fulfillment providers, and social accounts are connected before you try, otherwise it fails with a clear "channel not connected" error. TikTok Shop publishing additionally needs a warehouse on the listing: pick one from listing.list_warehouses and assign it with listing.update.
From Claude Code with Vaybel Skills installed, run:
/vaybel:launch-product "washed archive tee graphic"Or from any MCP client, ask the agent something concrete:
Find the top trend in my brand's niche this week. Pick a hoodie blank, design three concepts on it, render Pro mockups, and create a draft listing for TikTok Shop.
The agent picks tools from the full surface — trend.list, catalog.list_blanks, design.generate, mockup.generate, integration.list, listing.create — and chains them automatically. Generation tools return a handle; the agent polls <domain>.get_generation(handle, wait_sec) until done (waits cap at 50s per call). Add content.generate to produce a video, slideshow, carousel, or single-photo post (then social_post.generate + social_post.publish to fan out to TikTok / Instagram / YouTube / X), or optimize.import_product to import a Printify product you already have. The Tool Reference groups every tool by workflow.
Want the full tool surface? See Tool Reference. Planning to run this in production? Read Authentication & Scopes first.
Choose the blank before generating
Try: “Help me choose a lightweight tee with a closer fit and a broad color range. Compare the evidence and tradeoffs before I decide.”
The agent discovers canonical products with catalog.list_blanks, reads suitability and sources with catalog.get_blank, and compares two to four with catalog.compare_blanks. It can inspect materials, sizing or construction one section at a time. Research snapshots and blank properties stay separate from provider printing, shipping and current stock. These catalog calls are read-only; generation is a separate step.