@ffmpeg-micro/mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FFMPEG_MICRO_API_KEY | No | Your API key for FFmpeg Micro. If not provided, OAuth will be used. | |
| FFMPEG_MICRO_API_URL | No | Optional custom API URL for local development. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| transcode_videoA | Create a video transcode job on FFmpeg Micro. Accepts one or more input videos (gs:// or https://) and an output format. Returns immediately with a queued job — use |
| get_transcodeA | Fetch the current state of a single transcode job by ID, including status (queued/processing/completed/failed) and |
| list_transcodesA | List transcode jobs for the authenticated account, with optional filters for status and time range. Paginated (default page 1, limit 20). |
| cancel_transcodeA | Cancel a queued or processing transcode job. Jobs that are already completed, failed, or cancelled cannot be cancelled and return an error. |
| get_download_urlA | Generate a short-lived (10 minute) signed HTTPS URL for a completed transcode's output file. The job must be in |
| transcode_and_waitA | One-shot convenience tool: creates a transcode job, polls until it reaches a terminal state (completed/failed/cancelled) or the timeout expires, and returns the final job plus a signed download URL if completed. Use this when you want the full transcode in one step without managing polling yourself. |
| transcribe_audioA | Generate an SRT subtitle file from an audio or video URL using Whisper. Returns a queued job envelope immediately — poll with |
| get_transcribeA | Fetch the current state of a single transcribe job by ID, including status (queued/processing/completed/failed) and |
| get_transcribe_downloadA | Generate a short-lived (10 minute) signed HTTPS URL for a completed transcribe job's SRT file. The job must be in |
| request_upload_urlA | Step 1 of the direct-upload flow. Returns a short-lived presigned HTTPS URL that the caller PUTs the file bytes to (with the same Content-Type that was passed in). After the PUT succeeds, call |
| confirm_uploadA | Step 2 of the direct-upload flow. Call after PUTting the file bytes to the URL returned by |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Most tools have distinct purposes: transcode vs transcribe vs upload. The overlap between 'transcode_video' and 'transcode_and_wait' is clarified by description, and 'get_download_url' vs 'get_transcribe_download' are distinguished by resource type. Minor potential confusion between 'get_transcode' and 'get_transcribe' but their names indicate the difference.
Naming patterns are mixed: 'transcode_video', 'get_transcode', 'list_transcodes', 'cancel_transcode' follow verb_noun, but 'transcode_and_wait' uses a conjunction, and 'get_transcribe_download' breaks the pattern. Also 'request_upload_url' and 'confirm_upload' are not prefixed with 'upload'. Overall inconsistent.
11 tools is appropriate for the scope: covers transcode creation, monitoring, cancellation, convenience wrapper; transcribe creation and download; upload flow; and download URL generation. Neither too few nor too many for a focused MCP server.
The tool set covers core transcode and transcribe workflows but lacks listing and cancellation for transcribe jobs, while these exist for transcode. There is also no delete or update for completed jobs. Minor gaps that could hinder workflows.