Skip to main content
Glama
README.md
# cowork-media-mcp

An MCP connector that lets **Claude Cowork / Claude Desktop** generate media:

- **Images** through Google's **Gemini Flash Image** ("nano-banana")
- **Video** through Google's **Veo**

Once it's wired in, you just ask Claude in plain language ("make a logo of…",
"generate a 5-second clip of…") and it routes image jobs to Gemini and video
jobs to Veo on its own. Claude Cowork runs Claude, not Gemini or Veo, so it
can't call them natively — this connector is the bridge.

## What you need

A Google **Generative Language API key** (this is separate from anything on
your BimRoss/Ross setup — it's your own personal key for your desktop Claude).
Get one free at <https://aistudio.google.com/apikey>.

You also need Node.js 18+ installed. Check with `node --version`.

## Install

### Option A — no clone (recommended)

Add this to your Claude config file and restart Claude Desktop / Cowork:

```json
{
  "mcpServers": {
    "media": {
      "command": "npx",
      "args": ["-y", "github:BimRoss/cowork-media-mcp"],
      "env": {
        "GEMINI_API_KEY": "PASTE-YOUR-KEY-HERE"
      }
    }
  }
}
```

The config file lives at:

- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

If the file already has an `mcpServers` block, add the `"media"` entry inside
it instead of pasting a second block.

### Option B — clone it locally

```bash
git clone https://github.com/BimRoss/cowork-media-mcp
cd cowork-media-mcp
npm install
```

Then point the config at the local file (swap in the real path):

```json
{
  "mcpServers": {
    "media": {
      "command": "node",
      "args": ["/full/path/to/cowork-media-mcp/index.js"],
      "env": {
        "GEMINI_API_KEY": "PASTE-YOUR-KEY-HERE"
      }
    }
  }
}
```

## Use it

Restart Claude, then just ask:

- "Use the media tool to make a neon logo of a running shoe on a dark background."
- "Generate a 5-second video of waves at sunset."

Finished files save to `~/cowork-media/` by default. Images also come back
inline in the chat.

## Tools

| Tool | Model | Notes |
|------|-------|-------|
| `generate_image` | Gemini Flash Image | Fast, cheap. Returns inline + saves to disk. |
| `generate_video` | Veo 2 | Async, 1–3 min. **~$2.80 per clip**, billed every call. |

## Config knobs (optional `env` entries)

- `GEMINI_IMAGE_MODEL` — default `gemini-3.1-flash-image`
- `GEMINI_VIDEO_MODEL` — default `veo-2.0-generate-001` (set `veo-3.0-fast-generate-001` for audio)
- `COWORK_MEDIA_DIR` — where files save, default `~/cowork-media`