Chat with 300+ LLMs via OpenRouter. Analyze and generate images, audio, and video from MCP.
Connect Runs on your machine
claude mcp add openrouter-multimodal -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> -e OPENROUTER_PROVIDER_IGNORE=<OPENROUTER_PROVIDER_IGNORE> -e OPENROUTER_PROVIDER_ORDER=<OPENROUTER_PROVIDER_ORDER> -e OPENROUTER_PROVIDER_QUANTIZATIONS=<OPENROUTER_PROVIDER_QUANTIZATIONS> -e OPENROUTER_PROVIDER_REQUIRE_PARAMETERS=<OPENROUTER_PROVIDER_REQUIRE_PARAMETERS> -e OPENROUTER_PROVIDER_DATA_COLLECTION=<OPENROUTER_PROVIDER_DATA_COLLECTION> -e OPENROUTER_PROVIDER_ALLOW_FALLBACKS=<OPENROUTER_PROVIDER_ALLOW_FALLBACKS> -e OPENROUTER_CACHE_RESPONSES=<OPENROUTER_CACHE_RESPONSES> -e OPENROUTER_INCLUDE_REASONING=<OPENROUTER_INCLUDE_REASONING> -- npx -y @stabgan/[email protected]
{
"mcpServers": {
"openrouter-multimodal": {
"command": "npx",
"args": [
"-y",
"@stabgan/[email protected]"
],
"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>",
"OPENROUTER_PROVIDER_IGNORE": "<OPENROUTER_PROVIDER_IGNORE>",
"OPENROUTER_PROVIDER_ORDER": "<OPENROUTER_PROVIDER_ORDER>",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "<OPENROUTER_PROVIDER_QUANTIZATIONS>",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "<OPENROUTER_PROVIDER_REQUIRE_PARAMETERS>",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "<OPENROUTER_PROVIDER_DATA_COLLECTION>",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "<OPENROUTER_PROVIDER_ALLOW_FALLBACKS>",
"OPENROUTER_CACHE_RESPONSES": "<OPENROUTER_CACHE_RESPONSES>",
"OPENROUTER_INCLUDE_REASONING": "<OPENROUTER_INCLUDE_REASONING>"
}
}
}
}
{
"mcpServers": {
"openrouter-multimodal": {
"command": "npx",
"args": [
"-y",
"@stabgan/[email protected]"
],
"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>",
"OPENROUTER_PROVIDER_IGNORE": "<OPENROUTER_PROVIDER_IGNORE>",
"OPENROUTER_PROVIDER_ORDER": "<OPENROUTER_PROVIDER_ORDER>",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "<OPENROUTER_PROVIDER_QUANTIZATIONS>",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "<OPENROUTER_PROVIDER_REQUIRE_PARAMETERS>",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "<OPENROUTER_PROVIDER_DATA_COLLECTION>",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "<OPENROUTER_PROVIDER_ALLOW_FALLBACKS>",
"OPENROUTER_CACHE_RESPONSES": "<OPENROUTER_CACHE_RESPONSES>",
"OPENROUTER_INCLUDE_REASONING": "<OPENROUTER_INCLUDE_REASONING>"
}
}
}
}
{
"servers": {
"openrouter-multimodal": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@stabgan/[email protected]"
],
"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>",
"OPENROUTER_PROVIDER_IGNORE": "<OPENROUTER_PROVIDER_IGNORE>",
"OPENROUTER_PROVIDER_ORDER": "<OPENROUTER_PROVIDER_ORDER>",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "<OPENROUTER_PROVIDER_QUANTIZATIONS>",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "<OPENROUTER_PROVIDER_REQUIRE_PARAMETERS>",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "<OPENROUTER_PROVIDER_DATA_COLLECTION>",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "<OPENROUTER_PROVIDER_ALLOW_FALLBACKS>",
"OPENROUTER_CACHE_RESPONSES": "<OPENROUTER_CACHE_RESPONSES>",
"OPENROUTER_INCLUDE_REASONING": "<OPENROUTER_INCLUDE_REASONING>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
OPENROUTER_API_KEYRequired, secret | OpenRouter API key. Get one free at https://openrouter.ai/keys |
OPENROUTER_DEFAULT_MODELOptional | Default model for chat + analyze tools. Defaults to nvidia/nemotron-nano-12b-v2-vl:free. |
OPENROUTER_OUTPUT_DIROptional | Sandbox root for save_path on generate_* tools. Defaults to the current working directory. |
OPENROUTER_MAX_TOKENSOptional | Default max_tokens for chat_completion when unset in the request. |
OPENROUTER_PROVIDER_SORTOptional | price / throughput / latency |
OPENROUTER_PROVIDER_IGNOREOptional | CSV of provider slugs to exclude. |
OPENROUTER_PROVIDER_ORDEROptional | JSON array or CSV of preferred provider IDs. |
OPENROUTER_PROVIDER_QUANTIZATIONSOptional | CSV of quantization levels (fp16,int8). |
OPENROUTER_PROVIDER_REQUIRE_PARAMETERSOptional | true/false. Require providers to support all request params. |
OPENROUTER_PROVIDER_DATA_COLLECTIONOptional | allow/deny |
OPENROUTER_PROVIDER_ALLOW_FALLBACKSOptional | true/false |
OPENROUTER_CACHE_RESPONSESOptional | Enable response caching server-wide. Sends X-OpenRouter-Cache: true on every chat/analyze call unless overridden per-request. Zero tokens billed on cache hits. |
OPENROUTER_INCLUDE_REASONINGOptional | Enable reasoning tokens passthrough server-wide. Adds _meta.reasoning to chat_completion responses for DeepSeek R1 / Gemini Thinking / Opus 4.7. |
Details
| Package | @stabgan/[email protected] (NPM, stdio) |
| Package | docker.io/stabgan/openrouter-mcp-multimodal:4.5.1 (OCI, stdio) |
| First published | 4 May 2026 |
| Last updated | 4 May 2026 |
| Registry name | io.github.stabgan/openrouter-multimodal |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
