media-gen-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | Listen port (default 8000). | |
| MEDIA_DIR | No | Asset storage dir (default /data/media in Docker). | |
| MCP_BEARER | Yes | Static bearer required on /mcp (≥24 chars; openssl rand -base64 32). | |
| PUBLIC_URL | Yes | Public base URL used to build the asset links returned by tools. | |
| LITELLM_API_KEY | Yes | Key for the gateway — prefer a virtual key scoped to the media models with a budget. | |
| LITELLM_BASE_URL | Yes | LiteLLM / OpenAI-compatible gateway base URL. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| generate_imageA | Generate one or more images from a text prompt using Google's Nano Banana models (Gemini image generation). Returns public URLs to the generated PNGs — pass those URLs onward instead of re-downloading the bytes. Synchronous: the call returns when the images are ready (typically a few seconds). Models: 'nano-banana-pro' (Gemini 3 Pro Image — highest quality, default) and 'nano-banana-2' (Gemini 3.1 Flash Image — faster and cheaper, good for drafts and iterations). |
| generate_videoA | Start an ASYNCHRONOUS video generation job with Google's Veo models. Returns a video_id immediately — poll it with the get_video tool every ~10s until status is 'completed', which yields the final MP4 URL. Optionally pass image_url to animate a still image (image-to-video). Models and cost: 'veo-3.1' (flagship quality with native audio, |
| get_videoA | Check a video generation job started by generate_video. While the job is running it returns the current status; once completed it downloads the MP4, stores it, and returns its public URL. Safe to call repeatedly — completed videos are cached. |
| list_generationsA | Browse recently generated media (images and videos) with their public URLs, models, and prompts — newest first. |
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 has a clearly distinct purpose: image generation (synchronous), video generation (asynchronous start), video polling/retrieval, and history listing. There is no overlap or ambiguity.
All tool names follow a consistent verb_noun pattern with snake_case: generate_image, generate_video, get_video, list_generations. No deviations.
Four tools is slightly on the low end but appropriate for a focused media generation service. Each tool earns its place and covers the core workflows.
The set covers image generation, video generation (with polling), and history listing. Minor gaps like a cancel tool for video jobs are not essential for a minimal viable surface.