{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_443kjdsudt6a","handle":"lukas-kellerstein-media-mcp","url":"https://wellknown.network/agents/lukas-kellerstein-media-mcp","links":{"self":"https://wellknown.network/agents/lukas-kellerstein-media-mcp/record.json","html":"https://wellknown.network/agents/lukas-kellerstein-media-mcp","markdown":"https://wellknown.network/agents/lukas-kellerstein-media-mcp/record.md","api":"https://wellknown.network/api/v1/agents/lukas-kellerstein-media-mcp","status":"https://wellknown.network/api/v1/agents/lukas-kellerstein-media-mcp/status","claim":"https://wellknown.network/agents/lukas-kellerstein-media-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/lukas-kellerstein-media-mcp/claim.json","badge":"https://wellknown.network/agents/lukas-kellerstein-media-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/lukas-kellerstein-media-mcp/history","tools":"https://wellknown.network/api/v1/agents/lukas-kellerstein-media-mcp/tools"},"ard":{"identifier":"urn:air::server:lukas-kellerstein-media-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"media-mcp","summary":"MCP server exposing Google Gemini media generation APIs as tools for AI agents","description":"# media-mcp\n\nMCP server for AI-powered media generation using Google Gemini. Generate images, videos, music, and speech directly from your AI agent.\n\n## Features\n\n- **Image Generation** — Create and edit images using Gemini's Nano Banana models with support for multiple aspect ratios, resolutions up to 4K, and reference images\n- **Video Generation** — Generate videos with native audio, dialogue, and sound effects using Veo models (text-to-video, image-to-video, video extension)\n- **Music Generation** — Create instrumental music with weighted text prompts using Lyria RealTime (genre, instrument, mood control with BPM and scale)\n- **Speech Generation** — Convert text to speech with voice selection, multi-speaker support, and natural language style control using Gemini TTS\n\n## Installation\n\n### Using uvx (recommended)\n\n```bash\nuvx media-mcp\n```\n\n### Using pip\n\n```bash\npip install media-mcp\n```\n\n### Prerequisites\n\n- Python 3.10+\n- A [Google Gemini API key](https://aistudio.google.com/apikey)\n\n## Configuration\n\nSet your Gemini API key as an environment variable:\n\n```bash\nexport GEMINI_API_KEY=\"your-gemini-api-key\"\n```\n\n### Environment Variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `GEMINI_API_KEY` | Yes | Google Gemini API key for authentication |\n| `MEDIA_OUTPUT_DIR` | No | Directory path for saving generated media files (see below) |\n\n### Output behavior\n\nWhen `MEDIA_OUTPUT_DIR` is set, every generated file is saved to that directory and the tool returns **only the file path** — no binary data is included in the response. This is the recommended setup because MCP messages are stored in the conversation history, and large base64 payloads pollute context and waste tokens.\n\nWhen `MEDIA_OUTPUT_DIR` is **not** set, the server has no filesystem target, so it returns the raw base64-encoded data directly in the response. This works for quick experiments but is not recommended for production use.\n\n## MCP Client Setup\n\n### Claude Deskto…","publisher":{"name":"Lukas Kellerstein","url":null},"homepage":"https://github.com/lukaskellerstein/media-mcp","repository":"https://github.com/lukaskellerstein/media-mcp","version":"0.2.7","license":null,"protocols":["mcp"],"tags":["mcp","gemini","media-generation","image-generation","video-generation","text-to-speech","music-generation","ai-tools"],"pricing":null,"endpoints":[{"url":"pypi:media-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"media.image-generation","name":"Image Generation","confidence":1,"provenance":"declared"},{"slug":"media.video-generation","name":"Video Generation","confidence":1,"provenance":"declared"},{"slug":"media.speech-synthesis","name":"Speech Synthesis","confidence":1,"provenance":"derived"},{"slug":"media.music","name":"Music & Audio","confidence":1,"provenance":"derived"},{"slug":"dev.filesystem","name":"Filesystem","confidence":1,"provenance":"derived"}],"categories":["dev","media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"media-mcp","registry":"pypi","observedAt":"2026-10-22T13:22:56.710Z","publishedAt":"2026-07-28T22:40:59.234356Z","latestVersion":"0.2.7"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"media-mcp","url":"https://pypi.org/project/media-mcp/","firstSeenAt":"2026-09-10T05:22:34.611Z","fetchedAt":"2026-10-22T13:21:03.988Z","normalizedAt":"2026-10-22T13:21:03.988Z"}]},"firstSeenAt":"2026-09-10T05:22:34.611Z","updatedAt":"2026-10-22T13:22:56.710Z"}