io.github.stabgan/openrouter-multimodal MCP Server
io.github.stabgan/openrouter-multimodal
What is the io.github.stabgan/openrouter-multimodal MCP server?
Chat with 300+ LLMs via OpenRouter. Analyze and generate images, audio, and video from MCP.
How to install io.github.stabgan/openrouter-multimodal
Copy-paste configuration for popular MCP clients.
OPENROUTER_API_KEYrequiredsecretOpenRouter API key. Get one free at https://openrouter.ai/keys
OPENROUTER_DEFAULT_MODELDefault model for chat + analyze tools. Defaults to nvidia/nemotron-nano-12b-v2-vl:free.
OPENROUTER_OUTPUT_DIRSandbox root for save_path on generate_* tools. Defaults to the current working directory.
OPENROUTER_MAX_TOKENSDefault max_tokens for chat_completion when unset in the request.
OPENROUTER_PROVIDER_SORTprice / throughput / latency
OPENROUTER_PROVIDER_IGNORECSV of provider slugs to exclude.
OPENROUTER_PROVIDER_ORDERJSON array or CSV of preferred provider IDs.
OPENROUTER_PROVIDER_QUANTIZATIONSCSV of quantization levels (fp16,int8).
OPENROUTER_PROVIDER_REQUIRE_PARAMETERStrue/false. Require providers to support all request params.
OPENROUTER_PROVIDER_DATA_COLLECTIONallow/deny
OPENROUTER_PROVIDER_ALLOW_FALLBACKStrue/false
OPENROUTER_CACHE_RESPONSESEnable 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_REASONINGEnable reasoning tokens passthrough server-wide. Adds _meta.reasoning to chat_completion responses for DeepSeek R1 / Gemini Thinking / Opus 4.7.
{
"mcpServers": {
"openrouter-multimodal": {
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
],
"env": {
"OPENROUTER_API_KEY": "<YOUR_OPENROUTER_API_KEY>",
"OPENROUTER_DEFAULT_MODEL": "<YOUR_OPENROUTER_DEFAULT_MODEL>",
"OPENROUTER_OUTPUT_DIR": "<YOUR_OPENROUTER_OUTPUT_DIR>",
"OPENROUTER_MAX_TOKENS": "<YOUR_OPENROUTER_MAX_TOKENS>",
"OPENROUTER_PROVIDER_SORT": "<YOUR_OPENROUTER_PROVIDER_SORT>",
"OPENROUTER_PROVIDER_IGNORE": "<YOUR_OPENROUTER_PROVIDER_IGNORE>",
"OPENROUTER_PROVIDER_ORDER": "<YOUR_OPENROUTER_PROVIDER_ORDER>",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "<YOUR_OPENROUTER_PROVIDER_QUANTIZATIONS>",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "<YOUR_OPENROUTER_PROVIDER_REQUIRE_PARAMETERS>",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "<YOUR_OPENROUTER_PROVIDER_DATA_COLLECTION>",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "<YOUR_OPENROUTER_PROVIDER_ALLOW_FALLBACKS>",
"OPENROUTER_CACHE_RESPONSES": "<YOUR_OPENROUTER_CACHE_RESPONSES>",
"OPENROUTER_INCLUDE_REASONING": "<YOUR_OPENROUTER_INCLUDE_REASONING>"
}
}
}
}{
"mcpServers": {
"openrouter-multimodal": {
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
],
"env": {
"OPENROUTER_API_KEY": "<YOUR_OPENROUTER_API_KEY>",
"OPENROUTER_DEFAULT_MODEL": "<YOUR_OPENROUTER_DEFAULT_MODEL>",
"OPENROUTER_OUTPUT_DIR": "<YOUR_OPENROUTER_OUTPUT_DIR>",
"OPENROUTER_MAX_TOKENS": "<YOUR_OPENROUTER_MAX_TOKENS>",
"OPENROUTER_PROVIDER_SORT": "<YOUR_OPENROUTER_PROVIDER_SORT>",
"OPENROUTER_PROVIDER_IGNORE": "<YOUR_OPENROUTER_PROVIDER_IGNORE>",
"OPENROUTER_PROVIDER_ORDER": "<YOUR_OPENROUTER_PROVIDER_ORDER>",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "<YOUR_OPENROUTER_PROVIDER_QUANTIZATIONS>",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "<YOUR_OPENROUTER_PROVIDER_REQUIRE_PARAMETERS>",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "<YOUR_OPENROUTER_PROVIDER_DATA_COLLECTION>",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "<YOUR_OPENROUTER_PROVIDER_ALLOW_FALLBACKS>",
"OPENROUTER_CACHE_RESPONSES": "<YOUR_OPENROUTER_CACHE_RESPONSES>",
"OPENROUTER_INCLUDE_REASONING": "<YOUR_OPENROUTER_INCLUDE_REASONING>"
}
}
}
}{
"mcpServers": {
"openrouter-multimodal": {
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
],
"env": {
"OPENROUTER_API_KEY": "<YOUR_OPENROUTER_API_KEY>",
"OPENROUTER_DEFAULT_MODEL": "<YOUR_OPENROUTER_DEFAULT_MODEL>",
"OPENROUTER_OUTPUT_DIR": "<YOUR_OPENROUTER_OUTPUT_DIR>",
"OPENROUTER_MAX_TOKENS": "<YOUR_OPENROUTER_MAX_TOKENS>",
"OPENROUTER_PROVIDER_SORT": "<YOUR_OPENROUTER_PROVIDER_SORT>",
"OPENROUTER_PROVIDER_IGNORE": "<YOUR_OPENROUTER_PROVIDER_IGNORE>",
"OPENROUTER_PROVIDER_ORDER": "<YOUR_OPENROUTER_PROVIDER_ORDER>",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "<YOUR_OPENROUTER_PROVIDER_QUANTIZATIONS>",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "<YOUR_OPENROUTER_PROVIDER_REQUIRE_PARAMETERS>",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "<YOUR_OPENROUTER_PROVIDER_DATA_COLLECTION>",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "<YOUR_OPENROUTER_PROVIDER_ALLOW_FALLBACKS>",
"OPENROUTER_CACHE_RESPONSES": "<YOUR_OPENROUTER_CACHE_RESPONSES>",
"OPENROUTER_INCLUDE_REASONING": "<YOUR_OPENROUTER_INCLUDE_REASONING>"
}
}
}
}{
"servers": {
"openrouter-multimodal": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@stabgan/openrouter-mcp-multimodal"
],
"env": {
"OPENROUTER_API_KEY": "<YOUR_OPENROUTER_API_KEY>",
"OPENROUTER_DEFAULT_MODEL": "<YOUR_OPENROUTER_DEFAULT_MODEL>",
"OPENROUTER_OUTPUT_DIR": "<YOUR_OPENROUTER_OUTPUT_DIR>",
"OPENROUTER_MAX_TOKENS": "<YOUR_OPENROUTER_MAX_TOKENS>",
"OPENROUTER_PROVIDER_SORT": "<YOUR_OPENROUTER_PROVIDER_SORT>",
"OPENROUTER_PROVIDER_IGNORE": "<YOUR_OPENROUTER_PROVIDER_IGNORE>",
"OPENROUTER_PROVIDER_ORDER": "<YOUR_OPENROUTER_PROVIDER_ORDER>",
"OPENROUTER_PROVIDER_QUANTIZATIONS": "<YOUR_OPENROUTER_PROVIDER_QUANTIZATIONS>",
"OPENROUTER_PROVIDER_REQUIRE_PARAMETERS": "<YOUR_OPENROUTER_PROVIDER_REQUIRE_PARAMETERS>",
"OPENROUTER_PROVIDER_DATA_COLLECTION": "<YOUR_OPENROUTER_PROVIDER_DATA_COLLECTION>",
"OPENROUTER_PROVIDER_ALLOW_FALLBACKS": "<YOUR_OPENROUTER_PROVIDER_ALLOW_FALLBACKS>",
"OPENROUTER_CACHE_RESPONSES": "<YOUR_OPENROUTER_CACHE_RESPONSES>",
"OPENROUTER_INCLUDE_REASONING": "<YOUR_OPENROUTER_INCLUDE_REASONING>"
}
}
}
}claude mcp add openrouter-multimodal --env OPENROUTER_API_KEY=<YOUR_OPENROUTER_API_KEY> --env OPENROUTER_DEFAULT_MODEL=<YOUR_OPENROUTER_DEFAULT_MODEL> --env OPENROUTER_OUTPUT_DIR=<YOUR_OPENROUTER_OUTPUT_DIR> --env OPENROUTER_MAX_TOKENS=<YOUR_OPENROUTER_MAX_TOKENS> --env OPENROUTER_PROVIDER_SORT=<YOUR_OPENROUTER_PROVIDER_SORT> --env OPENROUTER_PROVIDER_IGNORE=<YOUR_OPENROUTER_PROVIDER_IGNORE> --env OPENROUTER_PROVIDER_ORDER=<YOUR_OPENROUTER_PROVIDER_ORDER> --env OPENROUTER_PROVIDER_QUANTIZATIONS=<YOUR_OPENROUTER_PROVIDER_QUANTIZATIONS> --env OPENROUTER_PROVIDER_REQUIRE_PARAMETERS=<YOUR_OPENROUTER_PROVIDER_REQUIRE_PARAMETERS> --env OPENROUTER_PROVIDER_DATA_COLLECTION=<YOUR_OPENROUTER_PROVIDER_DATA_COLLECTION> --env OPENROUTER_PROVIDER_ALLOW_FALLBACKS=<YOUR_OPENROUTER_PROVIDER_ALLOW_FALLBACKS> --env OPENROUTER_CACHE_RESPONSES=<YOUR_OPENROUTER_CACHE_RESPONSES> --env OPENROUTER_INCLUDE_REASONING=<YOUR_OPENROUTER_INCLUDE_REASONING> -- npx -y @stabgan/openrouter-mcp-multimodalRelated MCP servers
Structured thinking + steel-manning verification for AI agents. Backed by 43+ papers.
View repository →