Guide
Use Mirvio from an AI client with MCP.
The Mirvio MCP server lets an MCP client run the cloud reframe, compress, and metadata jobs on your account. It uses the same cloud-output allowance as the web tools. A free account includes 5 cloud outputs, once. Paid plans include a monthly allowance. See pricing.
1. Create a token
- Sign in and open Account.
- Under “MCP access for AI clients”, enter a name and select Create token.
- Copy the token. Mirvio shows it only once and stores only a hash.
- To stop access, select Revoke. The next request with that token fails.
The token goes in your client configuration, not in a chat message. Do not share it. Each token can only use your own uploads, jobs, and allowance.
2. Add the server to your client
Endpoint: https://mirvio.ai/api/mcp (Streamable HTTP, stateless). Put the token in an environment variable named MIRVIO_MCP_TOKEN.
Claude Code
claude mcp add --transport http mirvio https://mirvio.ai/api/mcp \
--header "Authorization: Bearer $MIRVIO_MCP_TOKEN"Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"mirvio": {
"url": "https://mirvio.ai/api/mcp",
"headers": { "Authorization": "Bearer ${env:MIRVIO_MCP_TOKEN}" }
}
}
}VS Code (.vscode/mcp.json)
{
"inputs": [
{ "type": "promptString", "id": "mirvio-token", "description": "Mirvio MCP token", "password": true }
],
"servers": {
"mirvio": {
"type": "http",
"url": "https://mirvio.ai/api/mcp",
"headers": { "Authorization": "Bearer ${input:mirvio-token}" }
}
}
}OpenAI Codex CLI (~/.codex/config.toml)
[mcp_servers.mirvio]
url = "https://mirvio.ai/api/mcp"
bearer_token_env_var = "MIRVIO_MCP_TOKEN"Claude Desktop and other stdio-only clients
Use the mcp-remote bridge (requires Node.js):
{
"mcpServers": {
"mirvio": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mirvio.ai/api/mcp",
"--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer paste-your-token-here" }
}
}
}3. Run a job
- Ask your client to call
get_accountto see your remaining cloud outputs. create_uploadreturns a signed address and acurlcommand. The client runs the command on your computer. The upload returns a receipt.confirm_uploadtakes that receipt.submit_jobsqueues the jobs. Each job uses one cloud output. The client must setacknowledgeVideoJobsto the exact number of jobs, or the request fails without a charge. A repeatedrequestKeyreturns the first batch without a second charge.get_job_statusshows progress. Jobs run asynchronously, usually within a few minutes. A job that fails, or a queued job that does not finish within 6 hours, returns its cloud output. A finished job keeps its charge, even if its result expires before you download it.get_download_urlreturns a link that works for 5 minutes. Results expire after 24 hours.
Tools and costs
| Tool | What it does | Cost |
|---|---|---|
get_account | Plan, remaining cloud outputs, and costs | Free |
create_upload | Signed upload address and a curl command for one file | Free |
confirm_upload | Confirm the upload with its receipt | Free |
submit_jobs | Queue 1–10 reframe, compress, or metadata jobs | 1 cloud output per job |
get_job_status | Status of each job in a batch | Free |
get_download_url | Signed 5-minute download link for a finished job | Free |
Reframe targets 9:16, 16:9, 1:1, or 4:5 with a crop or a blurred background. Compress targets a file size from 100 KB to 1 GB. Metadata replaces device and capture tags.
Limits
- Authentication uses a personal bearer token. Clients that connect only through OAuth, such as claude.ai web connectors and ChatGPT connectors, are not supported yet.
- The client must be able to run
curl(or another HTTP request) to upload the file. - Upload limits are the same as the web tools: 2 GB per file and 100 files or 10 GB a day; 250 MB per file and 20 files on the free trial.
- Up to 10 active tokens per account.