MCP server for OpenRouter with text chat, image analysis + generation, audio analysis + generation, video analysis, and video generation (Veo 3.1 /
MCP server for OpenRouter with text chat, image analysis + generation, audio analysis + generation, video analysis, and video generation (Veo 3.1 / Sora 2 Pro /
One install · 14 tools · 300+ OpenRouter models · text, vision, audio & video — analysis and generation.
Unlike text-only MCP servers, one install covers the full multimodal surface:
Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.
Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.
| Tool | What it does |
|---|---|
| chat_completion | Text chat, web search, provider routing, caching, reasoning |
| start_chat_completion | Async background job for long-running reasoning models |
| get_chat_completion_status | Poll / retrieve async completion results |
| 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 via chat completions with reference images |
| generate_image_dedicated | Text-to-image via dedicated /api/v1/images (resolution, quality, format) |
| generate_audio | Text-to-speech / music via chat completions |
| text_to_speech | Dedicated TTS (/api/v1/audio/speech) — free Deepgram default, voices, speed, mp3/pcm |
| speech_to_text | Dedicated STT (/api/v1/audio/transcriptions) — Whisper, GPT-4o |
| 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 |
| INVALID_INPUT | Bad or missing arguments |
| INVALID_CREDENTIALS | API key missing, invalid, or revoked |
| UNSAFE_PATH | Local path escaped the input/output sandbox |
| UPSTREAM_HTTP | Non-auth HTTP error from OpenRouter (4xx/5xx) |
| UPSTREAM_TIMEOUT | Upstream did not respond in time |
| UPSTREAM_REFUSED | Content policy, rate limit, or insufficient credits |
| UNSUPPORTED_FORMAT | File is not a recognized media format |
| RESOURCE_TOO_LARGE | File exceeds fetch/inline size cap |
| ZDR_INCOMPATIBLE | Model/provider requires zero data retention |
| MODEL_NOT_FOUND | Model slug not in OpenRouter catalog |
| JOB_FAILED | Async job (video/chat) failed on provider side |
| JOB_STILL_RUNNING | Async job not yet complete (not an error) |
| INTERNAL | Unexpected server-side error |
| save_path | Tool result |
| Set | Text pointer only — e.g. Image saved to: out.png (… bytes, image/png) plus _meta.save_path. No inline base64 (avoids duplicating large payloads in the MCP chann |
| Kind | Default |
| Image | 1 MiB |
| Audio | 1 MiB |
| Video | 10 MiB |
{
"mcpServers": {
"openrouter": {
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
],
"env": {
"OPENROUTER_API_KEY": "YOUR_OPENROUTER_API_KEY"
}
}
}
}From the project documentation. Replace placeholders and example paths before connecting.
| Variable | Description | Required |
|---|---|---|
| OPENROUTER_API_KEY | Declared in the maintainer’s client configuration. | Yes |
The original Chromium automation reference server — simple, screenshot-driven browser control.
Build a programmable telecommunications stack for connecting telephony services with the Internet via a cloud-based utility.
Automates browsers and APIs, enabling Large Language Models (LLMs) to interact with web pages for tasks like screenshot capture and JavaScript
Workers, KV, R2 and D1 by conversation — Cloudflare's official remote servers for building and observability.
Search built for AI, not humans — semantic web search that returns model-ready content, plus code context.
Answers, not links — delegate questions to Perplexity's search-grounded models and get cited responses back.