MCP server
Use Qevio from AI apps that support the Model Context Protocol (MCP). Your AI app can check your credits, price a generation, make videos, images and copy on your account, and bring back the results.
Overview
- Server address:
https://qevio.ai/api/mcp - Transport: Streamable HTTP (MCP's remote transport), stateless, JSON responses. No local install needed.
- Sign-in: sign in with your Qevio account (OAuth) in apps that support it, such as claude.ai and ChatGPT, or use a personal key in apps that take one. See Authentication.
- Billing: generations use your Qevio credits, at the same prices as on the site. Outputs that fail are refunded automatically.
Setup
claude.ai, Claude Desktop and ChatGPT: sign in
These apps sign in to Qevio for you, so you don't need a key.
- Add a custom connector. In Claude, that's Settings → Connectors → Add custom connector. In ChatGPT, it's under Settings → Connectors (some plans need developer mode turned on first). Menu names change from time to time.
- Enter the name
Qevioand the server addresshttps://qevio.ai/api/mcp. Leave any client ID and secret fields empty. - Click Connect. Qevio opens: log in if asked, check the app's name and where it sends you back, and click Allow.
Apps that take a key
Claude Code, Cursor, Windsurf, VS Code and most other MCP apps can also send a personal key with each request.
1. Make a key. Log in and open Settings → Connect AI apps. Name the key after the app you'll use it in and click Make key. Copy it straight away: it's shown only once. The same card shows these setup lines with your key already filled in.
2. Add Qevio to your AI app. Replace YOUR_KEY with your key.
Claude Code
Run in a terminal:
claude mcp add --transport http qevio https://qevio.ai/api/mcp --header "Authorization: Bearer YOUR_KEY"
Cursor, Windsurf and other apps
Add this to the app's MCP settings file (in Cursor, ~/.cursor/mcp.json):
{
"mcpServers": {
"qevio": {
"url": "https://qevio.ai/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}VS Code
Add this to .vscode/mcp.json in your project, or to your user MCP settings:
{
"servers": {
"qevio": {
"type": "http",
"url": "https://qevio.ai/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}3. Try it. Ask your AI app: “What's my Qevio credit balance?”
Authentication
Every request needs an Authorization: Bearer … header with either a sign-in token or a personal key. Without one, the server answers HTTP 401 and points the app to its sign-in details.
Sign-in (OAuth)
- Standard OAuth 2.1 with PKCE (S256), as MCP apps expect. Apps register themselves automatically (dynamic client registration) and find everything from
/.well-known/oauth-protected-resourceand/.well-known/oauth-authorization-server. - Nothing happens until you click Allow on Qevio's own page, signed in to your account. The page shows the app's name (as the app describes itself) and the site it returns you to.
- Access tokens last an hour; the app renews them by itself. Each renewal replaces the old tokens.
- Signed-in apps are listed in Settings → Connect AI apps. Disconnect ends an app's access straight away. Suspending an account ends it too.
Personal keys
- Keys start with
qv_and are sent asAuthorization: Bearer qv_…. - A key acts as your account and can spend your credits. Keep it private, and never put it in a public repository or a website.
- You can have up to 10 keys. Settings shows each key's name, its first characters, when it was made and when it was last used.
- Revoke a key in Settings at any time. Apps using it lose access on their next request.
- Qevio stores only a fingerprint (hash) of each key, so a key can't be shown again or recovered. Make a new one instead.
- Keys stop working if the account is suspended.
Tools
| Tool | What it does | Arguments | Charges |
|---|---|---|---|
get_account | Your plan and credit balance, and a link to buy credits. | None | No |
list_options | What Qevio can make: kinds, outputs, the quality modes available right now, formats, video lengths and resolutions. | None | No |
quote | The exact price in credits, per output and in total, and whether you have enough. | Same as generate, without max_credits and request_id | No |
generate | Starts a generation and holds its credits. Returns an id straight away; results arrive through get_generation. | See the table below. max_credits is required. | Yes |
get_generation | Status and results: written content as text, videos and images as download links. | id: the id generate returned | No |
list_generations | Your most recent generations, newest first. | limit: 1 to 50 (default 10) | No |
Arguments for quote and generate
| Argument | Needed | Values |
|---|---|---|
kind | Required | One of video, image, copy (ad copy, descriptions, titles, keywords, hashtags, captions, CTAs), social or campaign (everything from one prompt). |
prompt | Required | Your product or idea, and anything the result should include. Up to 20,000 characters. |
max_credits | Required (generate) | The most credits you agreed to spend, normally the price from quote. If the price is higher, nothing is started or charged. |
mode | Optional | Quality mode, default auto: auto, fast, best-value, high-quality, cinematic, product-ad, realistic. list_options shows which are available now. |
outputs | Optional | Which outputs to make. Defaults to everything the kind makes. copy and campaign can pick a subset: video, images, titles, description, keywords, hashtags, caption, adCopy, cta. |
format | Optional | Aspect ratio, default 9:16: 9:16, 1:1, 4:5, 16:9. |
video_seconds | Optional | Video length, default 5: 5, 10, 15, 20, 30. |
resolution | Optional | 480p, 720p, 1080p. Defaults to 720p, or the model's only size. |
image_count | Optional | How many images, default 1: 1, 2, 3, 4, 6, 8. |
goal / style | Optional | Goal: Sales, Awareness, Engagement, Traffic, Launch, Followers. Style: Clean studio, Luxury, Cinematic, UGC / creator, Playful, Minimal, Bold. |
audience / offer | Optional | Short text, up to 200 characters each. |
platforms | Optional | Up to 8 social platforms to write for, such as TikTok, Instagram, YouTube. |
use_brand_kit | Optional | Use the brand saved in your Brand Kit. Default true. |
request_id | Optional (generate) | Your own id for the request (8 to 64 letters, digits, - or _). Sending the same id again returns the same generation instead of charging twice. |
Results from get_generation have a status of queued, running, completed or failed, plus a viewUrl to see them on Qevio. Written content usually takes seconds; videos usually take a few minutes.
Usage examples
Ask in plain words
- “How many Qevio credits do I have?”
- “How much would a 10-second vertical video ad for my coffee brand cost on Qevio?”
- “Make it, and tell me when it's ready.”
- “Write five TikTok captions and hashtags for our summer sale with Qevio, using my Brand Kit.”
- “Show my last five Qevio generations.”
A well-behaved app calls quote first, tells you the price, then calls generate with that price as max_credits, and checks get_generation until the result is done.
Raw requests (for developers)
List the tools:
curl -s https://qevio.ai/api/mcp \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Price two written outputs without charging anything:
curl -s https://qevio.ai/api/mcp \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"quote","arguments":{"kind":"copy","prompt":"Cold brew coffee in a can","outputs":["titles","caption"]}}}'Credits and limits
- Prices are worked out on Qevio's server, exactly as in Studio.
generatenever charges more thanmax_credits. - Credits are held when a generation starts. Only outputs that succeed are kept; failed ones are refunded automatically.
- Up to 60 requests a minute per account, up to 10 new generations a minute (shared with Studio), and up to 3 generations running at once.
- While Qevio is in maintenance mode, tools are paused for everyone except admins.
Troubleshooting
“Sign in to Qevio to use this server” (HTTP 401)
With a key: the Authorization header is missing, the key was mistyped or revoked, or the account is suspended. Check the header is exactly Authorization: Bearer qv_… and make a new key if needed. With sign-in: the app was disconnected in Settings or its sign-in expired; reconnect it from the app.
The Allow page says the app isn't registered or asked for an address it didn't register
The app's sign-in request didn't match what it registered. Remove the connector in the app and add it again.
The app says sign-in failed after you clicked Allow
Try connecting again: each Allow gives the app a code that works once, for 10 minutes. If you clicked Cancel, the app gets “access denied”.
“Qevio is down for maintenance”
Qevio is in maintenance mode. Tools are paused for everyone except admins until it ends.
“Too many attempts” (HTTP 429)
More than 60 requests a minute with one account. Wait a minute and retry.
“Too many generations at once”
More than 10 generations started in a minute (Studio and AI apps count together). Wait a minute.
“You have generations still running”
Three generations are already running. Wait for one to finish.
“This costs more than max_credits allows”
The price is above max_credits. Ask for the new price with quote, confirm it, then call generate again with a higher max_credits.
“Not enough credits for this generation”
Your balance is below the price. Buy credits or upgrade on the Credits page.
“Confirm your email address first”
This Qevio site requires a verified email to generate. Confirm it from the email we sent, or resend it from Settings.
“… isn't available for this mode right now”
No model is connected for that output in that mode. Try another mode (see list_options) or try again later.
A download link asks you to log in
Download links open for the signed-in owner, like the Download button on the site. Open them in a browser where you're logged in to Qevio.
The app doesn't show Qevio's tools
Restart the app after adding the server, and check the address ends in /api/mcp. The app must support remote (HTTP) MCP servers, with either sign-in or custom headers.
Still stuck? Email support@qevio.ai with the app you use and the exact error, but never your key.
Not available yet
- Generations through MCP start from a prompt. Attaching photos or files, camera presets and image looks, AI influencers and the video editing tools are only on the website for now.
- Sign-in grants every tool; there are no narrower permissions (such as read-only) yet.