MCP Server
Vidocu provides a Model Context Protocol (MCP) server that lets AI assistants like Claude interact with the Vidocu API through natural conversation.
Authentication
The MCP server supports two authentication methods:
Option 1: OAuth (recommended)
MCP clients that support OAuth (like Claude Desktop) can authenticate automatically. The user authorizes Vidocu through a browser-based consent flow — no manual key management needed.
The MCP server advertises Vidocu's OAuth authorization server via RFC 9728 Protected Resource Metadata at /.well-known/oauth-protected-resource.
{
"mcpServers": {
"vidocu": {
"url": "https://mcp.vidocu.ai/"
}
}
}
The MCP client handles the OAuth flow automatically — redirects the user to Vidocu's consent screen, obtains tokens, and sends them as Authorization: Bearer on each request.
Option 2: API Key
For MCP clients that don't support OAuth, or for quick testing, pass your API key as a Bearer token:
{
"mcpServers": {
"vidocu": {
"url": "https://mcp.vidocu.ai/",
"headers": {
"Authorization": "Bearer vdo_live_your_key_here"
}
}
}
}
Get your API key from the Vidocu Dashboard.
Server details
| URL | https://mcp.vidocu.ai/ |
| Transport | Streamable HTTP |
| Authentication | Authorization: Bearer (API key or OAuth token) |
| OAuth metadata | https://mcp.vidocu.ai/.well-known/oauth-protected-resource |
Available tools
The MCP server exposes 15 tools covering all Vidocu API operations:
Video management
| Tool | Description |
|---|---|
upload_video | Upload a video by providing a public URL |
list_videos | List videos with optional filtering and pagination |
get_video | Get details of a specific video |
Operations
| Tool | Description |
|---|---|
analyze_video | Start video analysis to generate subtitles and metadata |
export_video | Export a video with burned-in subtitles |
translate_video | Translate subtitles to another language |
generate_voiceover | Generate AI voiceover from subtitles |
generate_article | Generate a help article from the transcript |
get_subtitles | Get subtitles in JSON or SRT format |
process_video | One-shot pipeline: upload + analyze + export in one step (Business+) |
Tools & utilities
| Tool | Description |
|---|---|
list_tools | Discover available video processing tools |
get_tool | Get a tool's parameter schema |
execute_tool | Run a video processing tool |
Status & usage
| Tool | Description |
|---|---|
get_job_status | Check progress of an async operation |
get_usage | View current plan, usage, and limits |
OAuth scopes
When using OAuth, the MCP server requests the following scopes based on which tools are used:
| Scope | Tools |
|---|---|
videos:read | list_videos, get_video |
videos:write | upload_video |
subtitles:read | get_subtitles |
analyze:write | analyze_video |
export:write | export_video |
translate:write | translate_video |
voiceover:write | generate_voiceover |
article:write | generate_article |
tools:read | list_tools, get_tool |
tools:write | execute_tool |
jobs:read | get_job_status |
usage:read | get_usage |
process:write | process_video |
See OAuth Scopes for full details.
Async operations
Some operations (analyze, export, translate, voiceover, process, execute tool) run asynchronously. These tools return a jobId immediately. Use get_job_status to check progress:
You: "Analyze this video: https://example.com/demo.mp4"
Claude: I'll upload and analyze the video.
→ calls upload_video
→ calls analyze_video → returns { jobId: "analysis_..." }
Claude: The analysis is running. Let me check the status.
→ calls get_job_status → returns { status: "completed", result: { ... } }
Claude: Analysis complete! The video has 24 subtitles generated.
Example conversations
Generate subtitles:
"Upload this video and generate English subtitles: https://example.com/demo.mp4"
Export with subtitles:
"Export my latest video with subtitles burned in"
Translate:
"Translate the subtitles for video vid_abc123 to Spanish and French"
Full pipeline:
"Process this video end-to-end — analyze it, generate a help article, and export: https://example.com/tutorial.mp4"