# openrouter-multimodal

Connects an agent to OpenRouter models for chat, image analysis and generation, audio, and video. Useful when you want multimodal model calls from a coding environment.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 101
- Author: stabgan
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/stabgan/openrouter-mcp-multimodal
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/openrouter-multimodal

## What it does

This MCP server gives an agent access to OpenRouter models. Its tools cover chat, image analysis and generation, audio transcription and speech generation, plus video analysis and creation. It also includes model search and validation, embeddings, and document reranking. The server provides 21 tools.

Requests need an `OPENROUTER_API_KEY`. In Claude Code, the setup command launches the server with `npx` and passes the key as an environment variable. Requests to OpenRouter will fail without a valid key. The listed integrations also include Codex, Cursor, GitHub Copilot, Windsurf, Cline, and Zed.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `OPENROUTER_API_KEY`, `OPENROUTER_DEFAULT_MODEL`, `OPENROUTER_OUTPUT_DIR`, `OPENROUTER_MAX_TOKENS`, `OPENROUTER_PROVIDER_SORT`, `OPENROUTER_PROVIDER_IGNORE`, `OPENROUTER_PROVIDER_ORDER`, `OPENROUTER_PROVIDER_QUANTIZATIONS`, `OPENROUTER_PROVIDER_REQUIRE_PARAMETERS`, `OPENROUTER_PROVIDER_DATA_COLLECTION` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env OPENROUTER_API_KEY=<OPENROUTER_API_KEY> --env OPENROUTER_DEFAULT_MODEL=<OPENROUTER_DEFAULT_MODEL> --env OPENROUTER_OUTPUT_DIR=<OPENROUTER_OUTPUT_DIR> --env OPENROUTER_MAX_TOKENS=<OPENROUTER_MAX_TOKENS> --env OPENROUTER_PROVIDER_SORT=<OPENROUTER_PROVIDER_SORT> --transport stdio openrouter-multimodal -- npx -y @stabgan/openrouter-mcp-multimodal
```
Replace <…> with your own values. 8 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add openrouter-multimodal --env OPENROUTER_API_KEY=<OPENROUTER_API_KEY> --env OPENROUTER_DEFAULT_MODEL=<OPENROUTER_DEFAULT_MODEL> --env OPENROUTER_OUTPUT_DIR=<OPENROUTER_OUTPUT_DIR> --env OPENROUTER_MAX_TOKENS=<OPENROUTER_MAX_TOKENS> --env OPENROUTER_PROVIDER_SORT=<OPENROUTER_PROVIDER_SORT> -- npx -y @stabgan/openrouter-mcp-multimodal
```
Replace <…> with your own values. 8 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "openrouter-multimodal": {
            "command": "npx",
            "args": [
                "-y",
                "@stabgan/openrouter-mcp-multimodal"
            ],
            "env": {
                "OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>",
                "OPENROUTER_DEFAULT_MODEL": "<OPENROUTER_DEFAULT_MODEL>",
                "OPENROUTER_OUTPUT_DIR": "<OPENROUTER_OUTPUT_DIR>",
                "OPENROUTER_MAX_TOKENS": "<OPENROUTER_MAX_TOKENS>",
                "OPENROUTER_PROVIDER_SORT": "<OPENROUTER_PROVIDER_SORT>"
            }
        }
    }
}
```
Replace <…> with your own values. 8 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "openrouter-multimodal": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@stabgan/openrouter-mcp-multimodal"
            ],
            "env": {
                "OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>",
                "OPENROUTER_DEFAULT_MODEL": "<OPENROUTER_DEFAULT_MODEL>",
                "OPENROUTER_OUTPUT_DIR": "<OPENROUTER_OUTPUT_DIR>",
                "OPENROUTER_MAX_TOKENS": "<OPENROUTER_MAX_TOKENS>",
                "OPENROUTER_PROVIDER_SORT": "<OPENROUTER_PROVIDER_SORT>"
            }
        }
    }
}
```
Replace <…> with your own values. 8 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e OPENROUTER_API_KEY=<OPENROUTER_API_KEY> -e OPENROUTER_DEFAULT_MODEL=<OPENROUTER_DEFAULT_MODEL> -e OPENROUTER_OUTPUT_DIR=<OPENROUTER_OUTPUT_DIR> -e OPENROUTER_MAX_TOKENS=<OPENROUTER_MAX_TOKENS> -e OPENROUTER_PROVIDER_SORT=<OPENROUTER_PROVIDER_SORT> openrouter-multimodal npx -y @stabgan/openrouter-mcp-multimodal
```
Replace <…> with your own values. 8 more environment variables are in the server README

## When to use it
- query OpenRouter models from an agent
- extract text or descriptions from an image
- transcribe audio and generate spoken output
- create video from a prompt or an image
- find models and rerank documents

## Example prompts
- Compare two implementation approaches using OpenRouter models.
- Analyze `diagram.png` and describe its contents.
- Transcribe this audio recording and turn the answer into speech.

## Similar
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16730
- [labelhead-artist-momentum](https://affpapa.org/en/nevibecode/mcp/labelhead-artist-momentum.md) — MCP server · ★ 107701
- [Agent Skills Search Server](https://affpapa.org/en/nevibecode/mcp/agent-skills-search-server.md) — MCP server · ★ 26673
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23283
- [Nhost](https://affpapa.org/en/nevibecode/mcp/nhost.md) — MCP server · ★ 9369
- [PraisonAI](https://affpapa.org/en/nevibecode/mcp/praisonai.md) — MCP server · ★ 9298

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
