Skip to main content
FastDrop exposes an MCP (Model Context Protocol) server that lets AI agents classify, transcribe, and search videos through natural language.

What is MCP?

MCP is an open standard that lets AI applications discover and use external tools. When you connect FastDrop’s MCP server to an AI agent, the agent can:
  • Classify videos by URL
  • Transcribe and translate video audio
  • Search across transcribed videos by keyword or meaning
  • Check job status and results
  • Submit batch jobs
  • Check your credit balance
All through natural conversation — no code required on your end. Works with any video content: interviews, lectures, recordings, raw footage.

Setup

Add FastDrop to your AI client’s MCP configuration. Your API key goes in the X-API-Key header, so the agent authenticates automatically and you never paste your key into a conversation.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Restart Claude Desktop after saving.
Don’t have a key yet? Create one here — the free tier includes 100 credits and needs no card.

Installing from an MCP directory

FastDrop is listed on Smithery as horizonindustry/fastdrop. Installing from there routes your calls through Smithery’s gateway rather than connecting to api.fastdrop.io directly; everything else — the tools, the credit costs, the behaviour — is identical. The listing asks for a FastDrop API Key, and it is optional. Leave it blank and you can still browse the tools and call fastdrop.capabilities.list, which needs no key. Every tool that does real work — classification, transcription, batches, search — needs one, so fill it in when you have it. A key entered there reaches us as an X-API-Key header, not as part of the URL.

Authentication

Send your fd_live_... key as an X-API-Key HTTP header in your client config, as shown above. If your client only supports bearer tokens, Authorization: Bearer fd_live_... works too.
Don’t paste your API key into the chat. A key sent as a header stays between your client and FastDrop. A key typed into a conversation becomes part of the transcript your AI provider stores and processes.
Every tool also accepts an api_key parameter. This is deprecated and exists only so older configurations keep working — it puts your key in the model’s context. If you set one up that way, move it to the header. The server also accepts ?apiKey=fd_live_... on the endpoint URL. That exists for MCP directories and gateways that can only pass configuration as a query string; a header always takes precedence over it. Prefer the header when your client supports one, since URLs are logged in more places than headers are. fastdrop.capabilities.list needs no key at all.

Available tools

Once connected, your AI agent can use these 12 tools. Names form a tree — fastdrop.<domain>.<verb> — over five domains, so the surface stays browsable and can’t collide with other MCP servers you have installed. Every fastdrop.video.* tool except classify and readiness is shorthand for fastdrop.video.classify with a single capability. readiness is not — it returns a verdict in the same call rather than a job to poll. If you want more than one thing from a video, ask for them together — one call with several capabilities is cheaper and faster than several calls.
Tool names changed on 11 August 2026. The previous fastdrop_* snake_case names have been replaced by the dot-notation names above, with no aliases. If you have an agent prompt, script, or workflow that names a tool explicitly, update it using the mapping below. Nothing else changed — same endpoint, same authentication, same parameters, same behaviour.Most setups need no change at all: agents discover tools by listing them, so anything that just says “classify these videos” keeps working after a client restart.
Transcription costs less in a batch. Asking for transcribe inside fastdrop.batch.classify costs 3 credits per video rather than 5. Batches return the transcript and translation but cannot generate SRT/TXT subtitle files, so you are not charged for a step that can’t run. Use fastdrop.video.transcribe when you need the subtitle files.
Searching a batch requires transcription. Include transcribe in the capabilities you pass to fastdrop.batch.classify, and wait for the batch to reach completed — search is unavailable while videos are still processing. Three modes are supported: keyword (full-text), semantic (meaning-based), and hybrid (both, the default).Visual search is a subscriber feature on fastdrop.io and is not exposed over MCP.
Read-only tools (the status, search, and usage tools) are marked as such in the protocol, so most clients will run them without asking for approval each time. The tools that spend credits still prompt.

How processing works

FastDrop processing is asynchronous. Submission tools return a job_id immediately, along with a poll_after_seconds hint telling the agent how long to wait before checking. The agent then polls fastdrop.job.status until the status is completed or failed. Typical durations: You don’t need to manage any of this yourself — the agent handles polling. It’s just useful to know why a request doesn’t answer instantly.

Controlling response size

fastdrop.batch.status accepts a response_format parameter:
  • concise (default) — per-video status, role, confidence, and suggested filename
  • detailed — everything, including thumbnail URLs, clips, and diagnostics
Concise is the default because a detailed 50-video response contains 250 presigned thumbnail URLs and can consume a large share of your agent’s context window. Ask for detailed when you genuinely need it, or use fastdrop.job.status on the single video you care about. fastdrop.job.status accepts the same parameter, defaulting to detailed since it only covers one video.

Resources

Alongside tools, the server exposes one MCP resource: Clients that support resources can read this instead of spending a tool call on data that never changes.

Example conversation

You: Classify these three clips for me and tell me which ones are B-roll: https://example.com/a.mp4, https://example.com/b.mp4, https://example.com/c.mp4 AI Agent: I’ll submit those as a batch. (calls fastdrop.batch.classify) Submitted — batch b1c2d3e4, 6 credits. Checking back in about 30 seconds… (calls fastdrop.batch.status) All three are done:
  • a.mp4 — A-Roll, 92% confidence → AROLL_Interview_Intro.mp4
  • b.mp4 — B-Roll, 88% confidence → BROLL_City_Streets.mp4
  • c.mp4 — B-Roll, 81% confidence → BROLL_Office_Cutaway.mp4
So b.mp4 and c.mp4 are your B-roll.
Notice the agent never asked for an API key — it’s in the header.

Technical details

  • Endpoint: https://api.fastdrop.io/mcp
  • Transport: Streamable HTTP (POST-based JSON-RPC with SSE responses)
  • Mode: Stateless — no session persistence, no session affinity required
  • Authentication: X-API-Key header
The endpoint was previously documented as https://api.fastdrop.io/mcp/mcp. That path still works and existing configurations don’t need to change, but /mcp is now the canonical URL.
The MCP server calls the same REST API endpoints under the hood, so credit costs, rate limits, and capabilities are identical to direct API use.

Testing the connection

List the available tools:
A successful response lists all 12 fastdrop.* tools, each with a description on every parameter. Responses use text/event-stream, so the JSON-RPC payload arrives on a line prefixed with data:. To confirm your key works, call a free tool:

Troubleshooting

The agent says it needs an API key. Your client isn’t sending the X-API-Key header. Check that the headers block is inside the fastdrop server entry in your config, then restart the client — most only read MCP config at startup.
“FastDrop rejected the API key.” The key reached us but was invalid, revoked, or deactivated. Confirm it in the developer portal and check for a stray space or a truncated paste.
“Insufficient credits.” The error states exactly how many credits the call needed versus how many you have. Reduce the number of videos, drop to processing_tier: "basic", or top up.
A GET to the endpoint returns Not Found. Expected — /mcp is a POST-only JSON-RPC endpoint. Use the curl commands above rather than a browser.