Pixara
Pixara is an MCP server that gives LLMs direct access to OpenRouter's Image API for generating, editing, and exploring AI image models through 4 tools:
Generate images (
pixara_generate_image): Create images from text prompts using any OpenRouter image model (e.g., FLUX, GPT Image, Stable Diffusion), with control over resolution, aspect ratio, quality, output format, background, compression, and seed. Results are saved to disk and file paths are returned.Edit/transform images (
pixara_edit_image): Perform image-to-image edits by providing one or more reference images (local file path, remote URL, or raw base64) alongside a text prompt. File reading and encoding are handled automatically.List available models (
pixara_list_image_models): Browse OpenRouter's image model catalog with filtering by provider, name, and capability flags (img2img, streaming, transparent background support). Supports pagination and returns results in Markdown or JSON.Inspect model details (
pixara_get_model_details): Retrieve per-provider pricing, supported parameters (with allowed values/ranges), and passthrough options for a specific model — useful for confirming compatibility before making a generation call.
All image operations are billed through OpenRouter; listing and model details are free.
Pixara MCP Server
An MCP server that gives LLMs direct access to OpenRouter's Image API to generate images, edit/transform existing ones, and browse the model catalog, all through 4 tools.
I built this because I saw that OpenRouter announced a unified Image API that gives you one endpoint to use image generation and image editing models like GPT Image, Nano Banana, Flux, etc. Use the pixara_list_image_models tool to see the full, current models list from OpenRouter.
Features
Generate images from a text prompt against any OpenRouter image model
Edit/transform images (img2img) using a local file, a URL, or raw base64 as the reference, and the tool reads and encodes local files for you
List models with filtering by provider, name, and capability (img2img, streaming, transparent background), plus pagination
Inspect a model's endpoint details: per-provider pricing, supported parameters, and allowed passthrough options — before you spend a call on something it doesn't support
Generated images are decoded and saved to disk, so responses stay small and a file path is returned
Clear error messages for common failure modes: bad/conflicting params, invalid key, insufficient credits, rate limits, provider unavailable
Related MCP server: imagegen-mcp
Quick start (recommended)
Pixara is published on npm as @pinkpixel/pixara-mcp.
The easiest way to use it is via npx — no install, no cloning, no build step.
Add this to your MCP config (claude_desktop_config.json) for Claude Desktop, or your MCP client's .json config file:
{
"mcpServers": {
"pixara": {
"command": "npx",
"args": ["-y", "@pinkpixel/pixara-mcp"],
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your-key-here",
"OPENROUTER_IMAGE_OUTPUT_DIR": "/absolute/path/to/wherever/you/want/images"
}
}
}
}Restart the client and you should see the four pixara_* tools available. npx -y fetches
and caches the package on first run, so there's nothing to update manually. New versions get
picked up automatically.
Configuration
Variable | Required | Description |
| Yes | Get one at openrouter.ai/keys |
| No | Where generated images are saved. Defaults to |
The server just reads these from process.env — there's no .env file loading built in.
Whether you're running via npx or from source, set these in the env block of your MCP
config, as shown above. OPENROUTER_IMAGE_OUTPUT_DIR is optional — leave it out and images
save to ./pixara-images relative to wherever the server process runs; set it to an
absolute path if you want a predictable location regardless of the client's working directory.
Installing from source
For local development, or if you'd rather not rely on npx:
Requires Node.js 18+.
git clone https://github.com/sizzlebop/pixara-mcp.git
cd pixara-mcp
npm install
npm run buildThen point your MCP config at the built file instead of npx:
{
"mcpServers": {
"pixara": {
"command": "node",
"args": ["/absolute/path/to/openrouter-image-mcp/dist/index.js"],
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-your-key-here",
"OPENROUTER_IMAGE_OUTPUT_DIR": "/absolute/path/to/wherever/you/want/images"
}
}
}
}Tools
pixara_generate_image
Text-to-image. Required: model, prompt. Optional: n, resolution, aspect_ratio,
size, quality, output_format, background, output_compression, seed,
provider_options, output_dir, filename_prefix.
Don't combine size with resolution/aspect_ratio — pick one or the other, the tool will
reject the call with a clear message if you mix them.
pixara_edit_image
Same params as generate_image, plus a required input_references array. Each entry is one
of:
{ "source": "file", "path": "/path/to/photo.png" }
{ "source": "url", "url": "https://example.com/photo.jpg" }
{ "source": "base64", "data": "<base64>", "media_type": "image/png" }pixara_list_image_models
Read-only, free (no image billing). Filter by filter (substring), provider, or capability
booleans (supports_img2img, supports_streaming, supports_transparent_background).
Paginated with limit/offset.
pixara_get_model_details
Read-only, free. Pass a model slug, get back per-provider pricing and exactly which
parameters/passthrough options that provider supports. Worth calling before you use
provider_options, since unsupported params get silently dropped or rejected by the API.
How it decides where to save images
Every generate/edit call decodes the base64 image(s) OpenRouter returns and writes them to
OPENROUTER_IMAGE_OUTPUT_DIR (or a per-call output_dir override), named
{prefix}-{timestamp}-{index}.{ext}. The extension follows output_format, except for
vector output (Recraft's SVG models), which is detected via the response's media_type and
written as .svg regardless of what output_format was requested.
Limitations
No SSE streaming support yet (see Roadmap)
Model capabilities vary a lot by provider, and OpenRouter's catalog moves fast — always trust
pixara_list_image_models/pixara_get_model_detailsover any hardcoded listThis is new — OpenRouter's Image API has only been out a couple of weeks, so expect model IDs and params to shift over time
License
Apache 2.0 — see LICENSE.
Made with 💖 by Pink Pixel
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-quality-maintenanceAn MCP server that wraps the OpenRouter API, enabling users to access diverse language models like Google Gemini 3 Pro for chat and image tasks. It provides tools for generating completions and listing available models within MCP-compatible clients.Last updated
- Alicense-qualityDmaintenanceMCP server that wraps OpenAI's image generation and editing APIs, enabling text-to-image and image-to-image operations via tools.Last updated14737ISC
- AlicenseAqualityCmaintenanceA multi-provider MCP server that enables AI agents to generate and edit images across OpenAI, Google Gemini, Azure, Vertex, and OpenRouter with a unified API.Last updated317Apache 2.0
- Alicense-qualityDmaintenanceMCP server for generating images using OpenRouter API, supporting models like Gemini 2.5 Flash. Enables image generation with flexible options like saving to local files.Last updatedDo What The F*ck You Want To Public
Related MCP Connectors
MCP server for Flux AI image generation
MCP server for NanoBanana AI image generation and editing
MCP server for Grok Imagine AI video generation
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pinkpixel-dev/pixara-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server