openrouter-image-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENROUTER_IMAGE_TIMEOUT_S | No | Seconds to wait for one generation. | 600 |
| OPENROUTER_IMAGE_OUTPUT_DIR | No | Where `generate_image` saves, and the fallback when an edit's folder isn't writable. Empty means the default. | ~/Pictures/OpenRouter Images |
| OPENROUTER_IMAGE_WORKSPACE_ID | No | Workspace that sign-in creates keys in. An empty string means your personal account. | |
| OPENROUTER_IMAGE_MAX_INPUT_EDGE | No | Input images are downscaled to this longest edge (pixels) before upload. | 2048 |
| OPENROUTER_IMAGE_RATIO_TOLERANCE | No | How close (3%) a model's aspect ratio must be to the input's for `fit="preserve"` to crop instead of pad. | 0.03 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| account_statusA | Show whether this computer is signed in to OpenRouter, with the key's spending. Reports the key label, usage today / this week / this month / in total, and the
key's spending limit and remaining credit. If a sign-in is in progress, shows its
status and link. Use it after |
| auth_loginA | Sign in to OpenRouter in the user's browser. Opens the OpenRouter sign-in page and returns at once with a link. Show the link to
the user in case the browser didn't open (it contains no secret). The user finishes
in the browser; then call Args: switch_account: true to sign in as a different account or workspace. The current key is kept until the new one is stored. |
| auth_logoutA | Sign out: delete the stored OpenRouter key from this computer. The key stays valid on OpenRouter until it is deleted on the keys dashboard; the result links that page. Takes no parameters. |
| list_image_modelsA | List the image models available on OpenRouter right now, as a markdown table. Use this before Args:
query: Case-insensitive text to find in the model id or name.
accepts_images: true for models that take input images (needed by
|
| get_image_modelA | Show full details for one image model. Returns the description, the capabilities, and one section per provider endpoint
with its supported parameters and allowed values, the passthrough parameters usable
in Args:
model_id: Exact model id from |
| generate_imageA | Generate new images from a text prompt with an OpenRouter image model. Call Each call costs money on the user's OpenRouter account; the result reports the cost. Prompts go to a third-party model provider through OpenRouter: get the user's OK before sending client or project images or details to third-party providers. Images are saved (never overwriting) to the configured output folder with a JSON sidecar of the settings used. The result lists the saved paths, any notes and failures, the model, provider, time and cost, plus JPEG previews. Args:
prompt: What to create.
model: Model id from |
| edit_imageA | Edit an image (or create one from reference images) with an OpenRouter image model. Call The input images are uploaded to a third-party model provider through OpenRouter: get the user's OK before sending client or project images to third-party providers. Each call costs money on the user's OpenRouter account; the result reports the cost. All paths must be absolute (or start with "~"); relative paths are rejected. Results are saved next to the first input image (never overwriting it) with a JSON sidecar, unless output_dir is given. The result lists the saved paths, notes, failures, model, provider, time and cost, plus JPEG previews. Args:
prompt: The change to make, e.g. "make it dusk with warm window light".
model: Model id from |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool maps to a clearly distinct action: auth_login/auth_logout are opposite operations, account_status is a read-only check, list_image_models vs get_image_model cleanly separate browsing from detail lookup, and generate_image vs edit_image separate creation from modification. No meaningful overlap exists.
Most tools follow a readable verb_noun pattern (list_image_models, get_image_model, generate_image, edit_image, auth_login, auth_logout). Minor deviation: the auth group mixes prefixes ('auth_' for login/logout vs 'account_' for status), but it remains predictable.
Seven tools is well-scoped for an image-generation service: three for auth/session, two for model discovery, two for generation/editing. Every tool earns its place with no redundancy or bloat.
The surface covers the full lifecycle: sign in, verify session/spend, sign out, discover models, inspect model details, and both generate and edit images with rich parameter control. No obvious gaps for the stated domain.