MCP Server
Connect Claude Desktop and AI coding agents to Videoslash via the Model Context Protocol.
MCP Server
The Videoslash MCP server exposes your account, scripts, and Creative Studio through the Model Context Protocol (MCP). Use it from Claude Desktop / claude.ai Connectors (OAuth) or from Claude Code, Cursor, Codex CLI, and OpenCode (API key).
Server URL
Use the www host — the apex domain can redirect with an HTTPS→HTTP downgrade that MCP clients reject.
https://www.videoslash.com/api/mcpAuthentication
Claude Desktop / claude.ai
Add a custom connector with the URL above, click Connect, and Allow on Videoslash. No API key is pasted into Claude. See Configuration.
Coding agents (API key)
Create a key in Account settings under Developers and pass it as a Bearer token. Each key's scopes control which tools the agent can see:
| Scope | Tools |
|---|---|
read | Account, credits, Creative Studio model catalog |
scripts:generate | Title and script generation |
creative:generate | Creative Studio generations and media uploads |
editor:read | Video Editor inspect tools (list_projects, get_timeline, list_assets, …) |
editor:write | Video Editor mutations (add_clips, split_clip, generate_image, export_project, …). Implies read. |
A key only lists tools it is allowed to use. OAuth Connectors receive full MCP account access instead (including the Video Editor).
Each tool declares MCP annotations: a title, readOnlyHint: true when it does not change data, and destructiveHint: true when it creates, updates, or deletes data. In Claude, read-only tools can run without a confirmation prompt; tools that change data always prompt.
Quick start
- Claude Desktop: Add connector URL → Connect → Allow.
- Coding agents: Create an API key, then follow Configuration.
- Ask the agent to check credits, list models, or start a generation.
Example prompts:
- "Check my Videoslash credit balance."
- "List fast video models and generate a 5-second product clip."
- "Generate a script title about ancient civilizations."
- "List my Video Editor projects and split the A-roll at 3 seconds."
Workflow examples
Chain a prior generation as input
- Call
create_creative_generationto produce an image. - Poll
get_creative_generationuntilstatusiscompleted. - Pass the returned
outputUrlinmediaUrlswhen callingcreate_creative_generationagain with a video model.
The agent can reuse any completed CDN outputUrl from list_creative_generations the same way.
Compare models on the same prompt
- Call
list_creative_modelswith filters (for examplecategory: Fast). - Call
create_creative_generationmultiple times with differentmodelIdvalues and the same prompt. - Poll each generation and compare the
outputUrlresults.
Async generations
Creative Studio tools mirror the REST API: create_creative_generation returns immediately with a generation id. Poll get_creative_generation until status is completed or failed. Completed outputs expose a CDN URL on cdn.videoslash.com.
Editor generate_image / generate_video / add_captions follow the same pattern: they return a jobId with status=processing. Poll poll_editor_job every 5–10 seconds. Cloud exports return a job id; poll get_export_job.
Claude Connectors inline previews (MCP Apps)
On Claude Desktop / claude.ai Connectors, Creative Studio generation tools mount an MCP App widget (ui://videoslash/creative-generation) next to the tool call. You get:
- An aspect-ratio Generating card while the job runs
- Inline image or video when
outputUrlis ready - Recreate to rerun the same model, prompt, and parameters
This uses the official MCP Apps extension (sandboxed HTML iframe + _meta.ui.resourceUri). It is not automatic URL rendering from tool text.
Claude Code, Cursor, Codex, and OpenCode do not mount MCP App iframes — they still show JSON text with outputUrl. Behavior is unchanged for API-key clients.
See ADR 0008 for implementation details.
Local file uploads
MCP does not transfer file bytes. For image-to-image or video reference inputs from disk:
- Call
request_creative_media_uploadwith file metadata. - Upload bytes with
curl -Tto the returneduploadUrlusingrequiredHeaders. - Pass the
uploadIdinmediaUploadswhen callingcreate_creative_generation.
See the Creative Studio API guide for the same presigned upload flow over REST.
Editor library files use request_editor_upload → PUT → complete_editor_upload (requires editor:write).
Tool reference
See the full list of available tools, parameters, and scopes under Tools.