mcp-imagenate
An MCP server for image generation using multiple providers including Google Gemini, OpenAI, and BFL FLUX. It supports various models, aspect ratios, and resolutions, with options for image and text output.
README
mcp-imagenate
<p align="center"> <img src="https://raw.githubusercontent.com/mimo-3/mcp-imagenate/main/imagenerate-cat.png" alt="mcp-imagenate" width="400"> </p>
An MCP server for image generation using multiple providers: Google Gemini, OpenAI (gpt-image), and BFL FLUX.
Providers & Models
Google Gemini (Nano Banana)
| Name | Model ID | Best for |
|---|---|---|
nano-banana-2 |
gemini-3.1-flash-image-preview |
Fast, high-volume generation |
nano-banana-pro |
gemini-3-pro-image-preview |
Highest quality output |
OpenAI
| Name | Model ID | Best for |
|---|---|---|
gpt-image-2 |
gpt-image-2 |
Latest generation, improved detail |
BFL FLUX
| Name | Model ID | Best for |
|---|---|---|
flux-2-klein |
klein-4b |
Fast, lightweight generation |
flux-2-pro |
pro-preview |
Balanced quality and speed |
flux-2-max |
max |
Maximum quality |
Requirements
- Node.js 18+
- At least one provider API key
Installation
npx mcp-imagenate
Or install globally:
npm install -g mcp-imagenate
Setup
Set API keys for the providers you want to use:
# Google Gemini (at least one)
export GEMINI_API_KEY=your_key_here
# or
export NANO_BANANA_API_KEY=your_key_here
# OpenAI (at least one)
export OPENAI_API_KEY=your_key_here
# or
export GPT_IMAGE_API_KEY=your_key_here
# BFL FLUX
export BFL_API_KEY=your_key_here
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"mcp-imagenate": {
"command": "npx",
"args": ["mcp-imagenate"],
"env": {
"GEMINI_API_KEY": "your_key_here",
"NANO_BANANA_OUTPUT_DIR": "/path/to/image/output"
}
}
}
}
Environment Variables
| Variable | Required | Description |
|---|---|---|
GEMINI_API_KEY |
* | Google AI Studio API key |
NANO_BANANA_API_KEY |
* | Alternative to GEMINI_API_KEY (takes precedence) |
OPENAI_API_KEY |
* | OpenAI API key |
GPT_IMAGE_API_KEY |
* | Alternative to OPENAI_API_KEY (takes precedence) |
BFL_API_KEY |
* | BFL FLUX API key |
NANO_BANANA_OUTPUT_DIR |
No | Base directory for saved images. When set, all output and input paths are sandboxed within this directory. Recommended for production. |
* At least one provider API key must be set.
Tool: generate_image
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
prompt |
string (1-32,000 chars) |
- | Text prompt describing the image |
model |
see Models above | "gpt-image-2" |
Model to use (available models depend on configured API keys) |
resolution |
"1K" | "2K" | "4K" |
"1K" |
Output image resolution |
aspectRatio |
see below | "1:1" |
Aspect ratio of the image |
mode |
"image" | "image_and_text" |
"image" |
Return image only, or image with description (Google models only) |
thinking |
"none" | "auto" |
"auto" |
Controls model thinking (Google models only) |
outputDir |
string |
"." |
Directory where images will be saved |
inputImages |
string[] |
- | File paths of images to send alongside the prompt (Google models, and OpenAI gpt-image models via the images.edit endpoint) |
Supported aspect ratios
1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9
Response
Returns a JSON object:
{
"model": "gemini-3.1-flash-image-preview",
"savedFiles": ["/path/to/image-1.png"],
"settings": {
"resolution": "1K",
"aspectRatio": "9:16",
"mode": "image"
},
"description": "..."
}
descriptionis only present whenmodeis"image_and_text".
Security
- Path sandboxing: When
NANO_BANANA_OUTPUT_DIRis set, both output and input image paths are sandboxed within this directory. Symlinks that resolve outside the sandbox are rejected. - Input validation: Input images are validated for format (PNG/JPEG/WEBP/GIF) and size (max 20 MB).
- API key validation: The server exits immediately if no API keys are configured.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.