mcpbeat Sign in

Openrouter Multimodal MCP Server

local only

Openrouter Multimodal runs on your own machine — the client starts it, so there is no endpoint to ping. 349 installs a week from npm. Last commit 5 Sep 2026.

Chat with 300+ LLMs via OpenRouter. Analyze and generate images, audio, and video from MCP.

Installs per day peak 744 · avg 185 · -52% w/w
a month agotoday
349
Installs / week
npm · @stabgan/openrouter-mcp-multimodal
88
Stars
1 open issues
5 Sep 2026
Last commit
0 releases in 90 days
Apache-2.0
License
TypeScript

What the code does

We read the source, 20 h ago · rules 3dff92dd89df

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

        out = subprocess.check_output([node, "-p", "process.versions.node"], text=True).strip()
Builds a file path from a variable src/tool-handlers/async-chat.ts:102
    const jobDir = path.join(dir, job.id);
    env = dict(os.environ)

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.

run in your terminal
claude mcp add openrouter-multimodal -- npx -y @stabgan/openrouter-mcp-multimodal
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "openrouter-multimodal": {
      "args": [
        "-y",
        "@stabgan/openrouter-mcp-multimodal"
      ],
      "command": "npx"
    }
  }
}
~/.codex/config.toml
[mcp_servers.openrouter-multimodal]
command = "npx"
args = ["-y", "@stabgan/openrouter-mcp-multimodal"]
.cursor/mcp.json
{
  "mcpServers": {
    "openrouter-multimodal": {
      "args": [
        "-y",
        "@stabgan/openrouter-mcp-multimodal"
      ],
      "command": "npx"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "openrouter-multimodal": {
      "args": [
        "-y",
        "@stabgan/openrouter-mcp-multimodal"
      ],
      "command": "npx"
    }
  }
}

This one needs environment variables set before it will start: OPENROUTER_API_KEY (OpenRouter API key. Get one free at https://openrouter.ai/keys), OPENROUTER_DEFAULT_MODEL (Default model for chat + analyze tools. Defaults to nvidia/nemotron-nano-12b-v2-vl:free.), OPENROUTER_OUTPUT_DIR (Sandbox root for save_path on generate_* tools. Defaults to the current working directory.), OPENROUTER_MAX_TOKENS (Default max_tokens for chat_completion when unset in the request.), OPENROUTER_PROVIDER_SORT (price / throughput / latency), OPENROUTER_PROVIDER_IGNORE (CSV of provider slugs to exclude.), OPENROUTER_PROVIDER_ORDER (JSON array or CSV of preferred provider IDs.), OPENROUTER_PROVIDER_QUANTIZATIONS (CSV of quantization levels (fp16,int8).), OPENROUTER_PROVIDER_REQUIRE_PARAMETERS (true/false. Require providers to support all request params.), OPENROUTER_PROVIDER_DATA_COLLECTION (allow/deny), OPENROUTER_PROVIDER_ALLOW_FALLBACKS (true/false), OPENROUTER_CACHE_RESPONSES (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_REASONING (Enable reasoning tokens passthrough server-wide. Adds _meta.reasoning to chat_completion responses for DeepSeek R1 / Gemini Thinking / Opus 4.7.). The author declared them in the registry entry; get the values from the project itself.

Alternatives to Openrouter Multimodal

same job, measured the same way
Glif
by glif

Generate images, video, and audio with Glif's media-generation agent

answering
Mediamcp
by legolev

Generate and edit images and video via OpenRouter or any OpenAI-compatible API.

47 installs/wk local only
openFlow
by molkex

Generate images and video on Google Flow (Veo, Nano Banana) from any MCP client

35 tools answering
Imageat
by incendies

Generate and edit images and videos with imageat.

41 installs/wk answering
Picsart GenAI
by picsart-api

Generate and edit images, videos, and audio with 150+ models from 20+ vendors.

34 tools answering
AI Media Studio
by b77

Generate images, videos, voiceovers, and captions from a chat prompt.

answering
Writingmate MCP
by writingmate

Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.

answering
Muapi
by anil-matcha

Generate images, videos, and audio using 100+ AI models via muapi.ai.

38 installs/wk local only

Openrouter Multimodal — questions

Answers built from our own checks of this server.

Why is there no uptime for Openrouter Multimodal?
Openrouter Multimodal runs on your own machine over stdio — there is no network address to reach, so uptime cannot be measured for it by anyone. What can be measured is adoption: the npm package @stabgan/openrouter-mcp-multimodal was installed 349 times last week.
How do I connect Openrouter Multimodal?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It runs locally, so the command pulls @stabgan/openrouter-mcp-multimodal straight from npm; nothing to host, nothing to sign up for.
How many people use Openrouter Multimodal?
The npm package @stabgan/openrouter-mcp-multimodal was installed 349 times in the last week. Week over week that is -52%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Openrouter Multimodal open source?
Yes — it is published under the Apache-2.0 licence, written in TypeScript, 88 stars on GitHub and 1 open issue. The source link is on this page, so you can read exactly what it does with your data before you connect it.