Video MCP server
Connect the VideoUpscaler video MCP server to Claude Code, Cursor or VS Code and upscale videos to 1080p, 2K or 4K by asking your AI assistant.
VideoUpscaler runs a remote video MCP server built on the Model Context Protocol. Connect it to your AI assistant and ask things like "upscale this video to 4K" — the assistant calls the same API described in these docs and uses your credits.
Server URL: https://videoupscaler.co/api/mcp (Streamable HTTP)
Paid accounts only
Like the API, the MCP server is available to accounts that have bought credits or subscribed. You need an API key.
Connect the MCP server to your client
Create an API key in Settings → API Keys and keep it in an environment variable such as VIDEOUPSCALER_API_KEY. Don't paste the key into a config file you commit.
claude mcp add --transport http videoupscaler https://videoupscaler.co/api/mcp \
--header "Authorization: Bearer $VIDEOUPSCALER_API_KEY" \
--scope user--scope user makes the server available in all your projects and keeps the key out of the project's .mcp.json. Run /mcp in Claude Code to check the connection.
Add to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": {
"videoupscaler": {
"url": "https://videoupscaler.co/api/mcp",
"headers": {
"Authorization": "Bearer ${env:VIDEOUPSCALER_API_KEY}"
}
}
}
}Add to .vscode/mcp.json. VS Code asks for the key the first time and stores it securely:
{
"inputs": [
{
"type": "promptString",
"id": "videoupscaler-key",
"description": "VideoUpscaler API key",
"password": true
}
],
"servers": {
"videoupscaler": {
"type": "http",
"url": "https://videoupscaler.co/api/mcp",
"headers": {
"Authorization": "Bearer ${input:videoupscaler-key}"
}
}
}
}Any client that supports remote MCP servers over Streamable HTTP works. Configure:
- URL:
https://videoupscaler.co/api/mcp - Header:
Authorization: Bearer <your API key>
Sign-in with OAuth (for Claude desktop and claude.ai connectors) is coming soon.
MCP video tools
| Tool | What it does |
|---|---|
upscale_video | Starts an upscale of a public video_url to 1080p, 2k or 4k and charges credits. Requires an idempotency_key. |
get_task | Returns a task. With wait_seconds (up to 45) it waits for the task to finish first. |
list_tasks | Lists your recent tasks, including ones started on the website. |
get_account | Your credit balance and the price per second for each resolution. |
create_upload | Returns a signed URL for uploading a local file (up to 100MB) that has no public URL. |
The tools behave exactly like the matching API endpoints: see Create an upscale, Tasks, Credits & pricing and Upload a file. Tasks started through MCP cost the same credits.
Every upscale_video call needs an idempotency_key. If a call times out, the assistant should check list_tasks and retry with the same key, so the video is never charged twice.
Example prompts
- "How many VideoUpscaler credits do I have left?"
- "Upscale https://example.com/clip.mp4 to 4K and give me the link when it's done."
- "Upscale
./intro.mp4to 2K." (clients that can run commands upload the file withcreate_uploadfirst)
Troubleshooting
| Problem | Fix |
|---|---|
The client shows 401 or asks you to sign in | The API key is missing or wrong. Check the Authorization header and that the key still exists in Settings. |
Tools return paid_plan_required | The account has never bought credits. Buy any credit pack. |
Tools return insufficient_credits | Top up your balance on the pricing page. |
upscale_video times out | Large remote videos take a while to download. Ask the assistant to check list_tasks; the task usually exists. |