OpenRouter MCP Multimodal Server
About
MCP server for OpenRouter — chat with 300+ LLMs (Claude, Gemini, GPT), analyze images / audio / video, generate images / speech / music / video (Veo 3.1, Sora, Seedance, Wan) from Claude Desktop, Cursor, Kiro, VS Code.
Details
- License
- Apache-2.0
Explore
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
OpenRouter MCP Multimodal ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
1. Get an API key (free tier works) → openrouter.ai/keys
2. Run the server
export OPENROUTER_API_KEY=sk-or-v1-...
npx -y @stabgan/openrouter-mcp-multimodal
3. Add to your MCP client (Cursor, Claude Desktop, VS Code, etc.) — see Install below.
> No credits required to start. Free models such as google/gemma-4-26b-a4b-it:free work for chat and vision. Video/audio generation typically needs credits.
<details open>
<summary><strong>npx (recommended)</strong></summary>
export OPENROUTER_API_KEY=sk-or-v1-...
npx -y @stabgan/openrouter-mcp-multimodal
{
"mcpServers": {
"openrouter": {
"command": "npx",
"args": ["-y", "@stabgan/openrouter-mcp-multimodal"],
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-..."
}
}
}
}
Pin a release: "args": ["-y", "@stabgan/[email protected]"]
</details>
<details>
<summary><strong>uvx / pipx (Python launcher)</strong></summary>
Install uv (includes uvx), ensure Node.js 20+ is also on your PATH, then:
```bash
export OPENROUTER_API_KEY=sk-or-v1-...
uvx mcp-server-openrouter-multimodal
chat_completion
Text chat, web search, provider routing, caching, reasoning
analyze_image
Vision — local path, URL, or data URL + `question`
analyze_audio
Transcribe / analyze audio files
analyze_video
Describe / Q&A over video files
generate_image
Text-to-image with optional reference images
generate_audio
Text-to-speech / music
generate_video
Text-to-video (async, resumable)
generate_video_from_image
Image-to-video (narrower schema)
get_video_status
Poll / resume video jobs
search_models
Paginated model catalog search
get_model_info
Pricing, context, modalities
validate_model
Cheap model ID existence check
rerank_documents
Relevance ranking for RAG
health_check
API key + reachability probe
14 MCP tools. Each description includes Use when, Good/Bad examples, Fails when, and Works with so agents pick the right tool and recover from errors.
| Tool | Purpose |
| :-------------------------- | :---------------------------------------------------------- |
| chat_completion | Text chat, web search, provider routing, caching, reasoning |
| analyze_image | Vision — local path, URL, or data URL + question |
| analyze_audio | Transcribe / analyze audio files |
| analyze_video | Describe / Q&A over video files |
| generate_image | Text-to-image with optional reference images |
| generate_audio | Text-to-speech / music |
| generate_video | Text-to-video (async, resumable) |
| generate_video_from_image | Image-to-video (narrower schema) |
| get_video_status | Poll / resume video jobs |
| search_models | Paginated model catalog search |
| get_model_info | Pricing, context, modalities |
| validate_model | Cheap model ID existence check |
| rerank_documents | Relevance ranking for RAG |
| health_check | API key + reachability probe |
Errors use a closed _meta.code taxonomy: INVALID_INPUT · UNSAFE_PATH · UPSTREAM_* · MODEL_NOT_FOUND · JOB_STILL_RUNNING · and more.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"openrouter mcp multimodal server": {
"openrouter-mcp-multimodal": {
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
]
}
}
}
}
McpServers
{
"openrouter-mcp-multimodal": {
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
]
}
}
<p align="center">
</p>
<h1 align="center">OpenRouter MCP Multimodal</h1>
<p align="center">
<strong>The MCP server for multimodal AI agents.</strong><br/>
One install · 14 tools · 300+ OpenRouter models · text, vision, audio & video — analysis and generation.
</p>
<p align="center">
<a href="https://www.npmjs.com/package/@stabgan/openrouter-mcp-multimodal"></a>
<a href="https://pypi.org/project/mcp-server-openrouter-multimodal/"></a>
<a href="https://github.com/stabgan/openrouter-mcp-multimodal/releases"></a>
<a href="https://hub.docker.com/r/stabgan/openrouter-mcp-multimodal"></a>
<a href="https://github.com/stabgan/openrouter-mcp-multimodal/actions/workflows/ci.yml"></a>
<a href="https://www.apache.org/licenses/LICENSE-2.0"></a>
<a href="https://nodejs.org"></a>
</p>
<p align="center">
<a href="https://www.npmjs.com/package/@stabgan/openrouter-mcp-multimodal"></a>
<a href="https://hub.docker.com/r/stabgan/openrouter-mcp-multimodal"></a>
<a href="https://registry.modelcontextprotocol.io/servers/io.github.stabgan/openrouter-multimodal"></a>
<a href="https://smithery.ai/server/@stabgan/openrouter-mcp-multimodal"></a>
</p>
<p align="center">
<a href="#quick-start">Quick start</a> ·
<a href="#tools">Tools</a> ·
<a href="#examples">Examples</a> ·
<a href="#security">Security</a> ·
<a href="#development">Development</a> ·
<a href="#faq">FAQ</a>
</p>
---
What is this?
OpenRouter MCP Multimodal is a production-grade Model Context Protocol (MCP) server — listed on the official MCP Registry as io.github.stabgan/openrouter-multimodal. It connects AI coding agents (Cursor, Claude Desktop, VS Code, Windsurf, Cline, and others) to OpenRouter's unified LLM API over stdio.
Unlike text-only MCP servers, one install covers the full multimodal surface:
| Capability | Tools | Highlights |
| :---------- | :-------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- |
| Chat | chat_completion | 300+ models, :nitro / :exacto suffixes, provider routing, web search, response caching, reasoning tokens |
| Vision | analyze_image, generate_image | OCR, captioning, VQA, image generation with reference inputs |
| Audio | analyze_audio, generate_audio | Transcription, speech/music generation |
| Video | analyze_video, generate_video, generate_video_from_image, get_video_status | Clip understanding, Veo / Sora / Seedance / Wan generation with progress notifications |
| Catalog | search_models, get_model_info, validate_model, rerank_documents, health_check | Model discovery, validation, reranking, ops health |
Production hardening: input/output path sandboxes (including analyze\_\* local files as of v4.5.2), SSRF guards, structured errors with _meta.code, MCP 2025-06-18 structured outputs, async video progress notifications, and 650+ automated tests (unit, mock, regression, and live integration).
Quick start
1. Get an API key (free tier works) → openrouter.ai/keys
2. Run the server
export OPENROUTER_API_KEY=sk-or-v1-...
npx -y @stabgan/openrouter-mcp-multimodal
3. Add to your MCP client (Cursor, Claude Desktop, VS Code, etc.) — see Install below.
> No credits required to start. Free models such as google/gemma-4-26b-a4b-it:free work for chat and vision. Video/audio generation typically needs credits.
Install
MCP servers are distributed through several packaging models. This server is implemented in Node.js/TypeScript; the table below maps each ecosystem method to how you run it here.
…
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



