claude-media-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FAL_KEY | No | API key for fal.ai (image, video and audio generation). | |
| MCP_HOST | No | HTTP mode bind address, default 127.0.0.1. | 127.0.0.1 |
| MCP_PORT | No | HTTP mode bind port, default 47213. | 47213 |
| MCP_TOKEN | No | HTTP mode secret: the endpoint becomes /{MCP_TOKEN}/mcp. Required when binding to a non-loopback host. | |
| CF_AIG_TOKEN | No | Optional token for authenticated Cloudflare AI Gateways (cf-aig-authorization header). | |
| CF_API_TOKEN | No | Cloudflare API token, used together with CF_ACCOUNT_ID for Cloudflare Workers AI. | |
| CF_ACCOUNT_ID | No | Cloudflare account id, used together with CF_API_TOKEN for Cloudflare Workers AI. | |
| CF_AIG_GATEWAY | No | Cloudflare AI Gateway id. Together with CF_ACCOUNT_ID, routes all providers through gateway.ai.cloudflare.com. | |
| GEMINI_API_KEY | No | API key for Google Gemini (image, video and audio generation). Alternatively use GOOGLE_API_KEY. | |
| GOOGLE_API_KEY | No | Alternative to GEMINI_API_KEY for Google Gemini access. | |
| MCP_PUBLIC_URL | No | Public base URL used in file download links, for example behind a tunnel. | |
| OPENAI_API_KEY | No | API key for OpenAI (image, video and audio generation). Only providers whose key is set are used. | |
| MEDIA_OUTPUT_DIR | No | Output folder for generated files, default ~/claude-media. | ~/claude-media |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_imageA | Generate or edit an image. Saves full-resolution files to disk and returns paths plus a JPEG preview. provider (default: first configured of openai, gemini, fal, cloudflare):
input_images: local file paths, http(s) URLs or data URIs, used as edit targets or references. |
| start_videoA | Start a video generation job (text-to-video, or image-to-video with input_image) and return its job_id immediately. Then call check_video(job_id) to wait for and fetch the result. provider (default: first configured of openai, gemini, fal):
input_image: local path, http(s) URL or data URI. |
| check_videoA | Wait for a video job started by start_video. Polls for up to wait_seconds (0-300, default 45). When the video is ready, saves it to disk and returns its path. If it is still running, returns a status message with the job_id; call check_video again with the same job_id until the path is returned. Failures raise an error. |
| generate_audioA | Text-to-speech (and prompt-based audio on fal). Saves the audio file to disk and returns its path. provider (default: first configured of openai, gemini, fal, cloudflare):
|
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 4 tools
Each tool targets a distinct modality and action: generate_image (images), generate_audio (audio), and the start_video/check_video pair form a clearly documented async lifecycle. The start/check pairing is explicitly cross-referenced in both descriptions, so there is no risk of misselection.
All four names follow a strict verb_noun snake_case pattern (generate_image, generate_audio, start_video, check_video). The verbs accurately reflect each tool's role, and the async pair uses a clean start/check convention rather than an inconsistent verb.
Four tools is well-scoped for a media generation server covering image, audio, and video. Each tool earns its place: one per modality plus the necessary polling companion for the async video job.
The core generation lifecycle for images (including edits via input_images), audio (including prompt-based fal models), and video is fully covered. Minor gaps remain, such as no job cancellation, job listing, or file cleanup, but agents can work around these.