storytelling-media-mcp

storytelling-media-mcp

Provides tools for agent-driven video creation, including image generation via Google's GenAI, video generation, and local video stitching with FFmpeg.

Category
Visit Server

README

Storytelling Media MCP

MCP tools for an agent-driven video creation workflow.

This server gives Codex, Claude Code, or another MCP client access to:

  • Nano Banana image generation and editing through Google's GenAI SDK.
  • Veo 3.1 video generation through Google's GenAI SDK.
  • Local video stitching through FFmpeg.

Models

Image generation defaults to the newer Google image models:

  • flash: gemini-3.1-flash-image also described by Google as Nano Banana 2.
  • pro: gemini-3-pro-image also described by Google as Nano Banana Pro.
  • legacy_flash: gemini-2.5-flash-image for older Nano Banana workflows.

Video generation defaults to:

  • veo-3.1-generate-001

Setup

python -m venv .venv
. .venv/bin/activate
pip install -e .
cp .env.template .env

FFmpeg must be installed and available on PATH for stitching.

ADC Instead of API Key

The Gemini API can also use OAuth/ADC, but the ADC login must include Google's Gemini scope:

gcloud auth application-default login \
  --scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/generative-language.retriever'
gcloud auth application-default set-quota-project "$GOOGLE_CLOUD_PROJECT"

Then run the MCP server with GOOGLE_CLOUD_PROJECT set to the project that should be used for quota and billing:

python -m storytelling_mcp

The server also accepts GOOGLE_CLOUD_QUOTA_PROJECT or GCLOUD_PROJECT. Then call the image or video tools with auth_mode="adc". If your ADC token was created without the generative-language.retriever scope, the Gemini API returns ACCESS_TOKEN_SCOPE_INSUFFICIENT.

Run

python -m storytelling_mcp

MCP Client Config

Example stdio server config using an API key:

{
  "mcpServers": {
    "storytelling-media": {
      "command": "python",
      "args": ["-m", "storytelling_mcp"],
      "env": {
        "GEMINI_API_KEY": "your_api_key"
      }
    }
  }
}

Example stdio server config using ADC/Vertex:

{
  "mcpServers": {
    "storytelling-media": {
      "command": "python",
      "args": ["-m", "storytelling_mcp"],
      "env": {
        "GOOGLE_CLOUD_PROJECT": "your-gcp-project-id",
        "GOOGLE_CLOUD_LOCATION": "us-central1"
      }
    }
  }
}

Agent Plugins

This repo includes installable plugin metadata for both Claude Code and Codex.

Claude Code:

/plugin marketplace add imyousuf/storytelling-media-mcp
/plugin install storytelling-media-mcp@storytelling-media

Codex:

codex plugin marketplace add imyousuf/storytelling-media-mcp --sparse .agents/plugins --sparse plugins

Then open /plugins in Codex and install storytelling-media-mcp from the storytelling-media marketplace.

The plugin launcher uses STORYTELLING_MEDIA_MCP_ROOT for local development. If that variable is unset, it creates a plugin-local virtual environment and installs this package from GitHub before starting the MCP server.

The plugin also includes $movie-production-pipeline, a gated multi-agent workflow for turning a director's brief into stage-approved production artifacts. It expects user feedback at each stage before moving forward.

Tools

  • nano_banana_generate_image: text-to-image or text-and-image-to-image.
  • veo_generate_video: text-to-video, image-to-video, interpolation, or reference-image-guided generation.
  • stitch_videos: concatenate local MP4 clips with FFmpeg.

Generated files are written to paths supplied by the caller.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured