Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FAL_KEYNoAPI key for fal.ai (image, video and audio generation).
MCP_HOSTNoHTTP mode bind address, default 127.0.0.1.127.0.0.1
MCP_PORTNoHTTP mode bind port, default 47213.47213
MCP_TOKENNoHTTP mode secret: the endpoint becomes /{MCP_TOKEN}/mcp. Required when binding to a non-loopback host.
CF_AIG_TOKENNoOptional token for authenticated Cloudflare AI Gateways (cf-aig-authorization header).
CF_API_TOKENNoCloudflare API token, used together with CF_ACCOUNT_ID for Cloudflare Workers AI.
CF_ACCOUNT_IDNoCloudflare account id, used together with CF_API_TOKEN for Cloudflare Workers AI.
CF_AIG_GATEWAYNoCloudflare AI Gateway id. Together with CF_ACCOUNT_ID, routes all providers through gateway.ai.cloudflare.com.
GEMINI_API_KEYNoAPI key for Google Gemini (image, video and audio generation). Alternatively use GOOGLE_API_KEY.
GOOGLE_API_KEYNoAlternative to GEMINI_API_KEY for Google Gemini access.
MCP_PUBLIC_URLNoPublic base URL used in file download links, for example behind a tunnel.
OPENAI_API_KEYNoAPI key for OpenAI (image, video and audio generation). Only providers whose key is set are used.
MEDIA_OUTPUT_DIRNoOutput 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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
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):

  • openai: default model gpt-image-2. aspect_ratio maps to size (1:1 -> 1024x1024; 16:9/3:2/4:3 -> 1536x1024; 9:16/2:3/3:4 -> 1024x1536). options merged into the request body (e.g. quality, background, n, output_format); options["size"] wins. input_images switches to /images/edits.

  • gemini: default gemini-3-pro-image (Nano Banana Pro). aspect_ratio -> imageConfig.aspectRatio (e.g. 16:9). options shallow-update generationConfig (e.g. imageConfig with imageSize).

  • fal: default fal-ai/nano-banana-pro. Input {prompt, aspect_ratio, image_urls} updated with options (model-specific params such as num_images, resolution, image_size). Any model id works.

  • cloudflare: default @cf/black-forest-labs/flux-1-schnell. Body {prompt} updated with options (e.g. steps, seed). No input_images.

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):

  • openai: default sora-2. aspect_ratio 16:9 -> 1280x720, 9:16 -> 720x1280. duration_seconds -> seconds. options merged into the request (e.g. size overrides). input_image sent as input_reference.

  • gemini: default veo-3.1-generate-preview. aspect_ratio and duration_seconds go to parameters.aspectRatio / durationSeconds; options merged into parameters (e.g. resolution, negativePrompt, personGeneration).

  • fal: default fal-ai/veo3.1/fast. Input {prompt, aspect_ratio, image_url} updated with options. Duration is model-specific on fal (e.g. "8s" vs "5"), so pass it via options such as {"duration": "8s"}; duration_seconds is rejected for 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):

  • openai: default gpt-4o-mini-tts, voice default alloy, mp3 output. options merged into the request (e.g. instructions, speed, response_format).

  • gemini: default gemini-3.8-flash-tts, voice default Kore (prebuilt voice name). options shallow-update generationConfig. Output is WAV.

  • fal: default fal-ai/elevenlabs/tts/turbo-v2.5. Input {text, voice} updated with options. Prompt-based fal audio models (music, sound effects) take options={"prompt": "..."}; any model id works.

  • cloudflare: default @cf/deepgram/aura-1. Body {text, speaker=voice} updated with options.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.5/5.0

Scored across 4 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues