Skip to main content
Glama
README.md
# image-video-mcp

One MCP server that adds **OpenAI image generation** and **Google Gemini image +
video generation** to Claude Code — and any MCP client. Bring your own API keys.

| Tool | Provider | Default model |
|------|----------|---------------|
| `openai_generate_image` | OpenAI Images API | `gpt-image-2` |
| `gemini_generate_image` | Gemini (Nano Banana) | `gemini-2.5-flash-image` |
| `gemini_generate_video` | Veo via Gemini API | `veo-3.1-generate-001` |

Images save to `assets/images/`, videos to `assets/videos/`. Every model is
overridable with an env var, so it keeps working as models roll over.

## Quick install (one command)

Run this — it installs everything, asks for your two API keys, and registers the
tools in **both** Claude Code and the Claude desktop app:

```bash
bash <(curl -fsSL https://raw.githubusercontent.com/eracom-technologies/image-video-mcp/main/setup.sh)
```

That's it. Restart the Claude desktop app when it finishes, and the image/video
tools are ready in both places. (Prefer to set keys inline? `OPENAI_API_KEY=sk-...
GEMINI_API_KEY=... bash <(curl -fsSL .../setup.sh)`.)

The manual steps below are only if you'd rather do it yourself.

## Manual install

One-line, straight from git:
```bash
pip install "git+https://github.com/eracom-technologies/image-video-mcp.git"
```

Or from a local clone:
```bash
git clone https://github.com/eracom-technologies/image-video-mcp.git
cd image-video-mcp && pip install .
```

Both create the `image-video-mcp` command. Prefer isolation? `pipx install .`
or `uv tool install .`.

## Register in Claude Code

```bash
claude mcp add-json image-video '{
  "command": "image-video-mcp",
  "args": [],
  "env": { "OPENAI_API_KEY": "sk-...", "GEMINI_API_KEY": "..." }
}'
claude mcp list          # confirm it shows "image-video"
```

Or drop the included `.mcp.json` into a project folder (Claude Code auto-detects
it). Get keys at [platform.openai.com](https://platform.openai.com/api-keys) and
[aistudio.google.com/apikey](https://aistudio.google.com/apikey).

## Use

Ask Claude Code:
> "Use gemini_generate_video: a slow drone shot over a misty forest, 16:9."

## Verify

```bash
PYTHONPATH=src python scripts/smoke_test.py          # offline: tools register
PYTHONPATH=src python scripts/smoke_test.py --live   # real generations (uses credits)
```

## Full docs

See **[README-MCP.md](README-MCP.md)** for OS-specific config locations, all
environment variables, model/deprecation notes, sharing, and troubleshooting.

## License

MIT — see [LICENSE](LICENSE).

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation3/5

The two image generation tools (openai_generate_image and gemini_generate_image) overlap in purpose, both generating an image from a prompt. The provider prefixes help distinguish them, but an agent may still be uncertain which to choose without explicit context. The video tool is clearly distinct.

Naming Consistency5/5

All tool names follow the same [provider]_[verb]_[object] pattern with snake_case, making the set predictable and easy to navigate. The consistent use of 'generate' as the verb reinforces a clear convention.

Tool Count5/5

Three tools is well-scoped for a media generation server covering image and video output. Each tool serves a distinct provider or modality, and the count is within the ideal range for a focused MCP.

Completeness4/5

The toolset covers image generation via OpenAI and Gemini, and video generation via Gemini, satisfying the core 'image-video' purpose. Minor gaps exist, such as no OpenAI video generation or image editing capabilities, but these are not essential given the apparent scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues