ImageGen MCP Server
Enables AI image generation through multiple providers including OpenAI GPT-Image-1, Google Imagen 4, Gemini 2.5 Flash (Nano Banana), Flux 1.1, Qwen Image, and SeedDream-4, supporting various formats, sizes, and advanced features like background control and seed-based reproduction.
README
<div align="center">
šØ ImageGen MCP Server
A powerful MCP server for AI image generation with OpenAI GPT-Image-1, Google Imagen 4, Flux 1.1, Qwen Image, SeedDream-4, and Nano Banana (Gemini 2.5 Flash Image) support
<p align="center"> <img src="https://img.shields.io/npm/v/imagegen-mcp-server?style=for-the-badge&logo=npm&color=blue" alt="npm version"> <img src="https://img.shields.io/badge/license-MIT-orange?style=for-the-badge" alt="license"> <img src="https://img.shields.io/badge/6%20Models-GPT--Image--1%20ā¢%20Flux%201.1%20ā¢%20Qwen%20ā¢%20SeedDream-purple?style=for-the-badge" alt="models"> </p>
<p align="center"> <strong>GPT-Image-1 MCP</strong> ⢠<strong>Nano Banana MCP</strong> ⢠<strong>Google Imagen 4 MCP</strong> ⢠<strong>Flux 1.1 MCP</strong> </p>
<p align="center"> <code>npx imagegen-mcp-server</code> </p>
<p align="center"> <a href="https://writingmate.ai"> <img src="https://img.shields.io/badge/Powered%20by-WritingMate.ai-purple?style=flat&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDJMMTMuMDkgOC4yNkwyMCA5TDEzLjA5IDE1Ljc0TDEyIDIyTDEwLjkxIDE1Ljc0TDQgOUwxMC45MSA4LjI2TDEyIDJaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K" alt="Powered by WritingMate.ai"> </a> </p>
</div>
š¬ Quick Demo
ā” Instant (WritingMate.ai)
- Visit WritingMate.ai
- Say: "Generate an image of a cyberpunk city using Flux 1.1"
- ā Done! - No setup, no API keys needed
š ļø Self-Setup (Other Clients)
# Install and run in one command
npx imagegen-mcp-server
Then in your MCP client:
"Generate an image of a cyberpunk city using Flux 1.1"
ā
Result: High-quality image saved to outputs/ directory
An MCP (Model Context Protocol) server for AI image generation supporting:
- GPT-Image-1 MCP: OpenAI's latest image generation model
- Nano Banana MCP: Gemini 2.5 Flash Image Preview model
- Google Imagen 4 MCP: Advanced photorealistic image generation
- Flux 1.1 MCP: State-of-the-art prompt following via Replicate
šØ Model Comparison
Same prompt: "A serene mountain landscape with a crystal clear lake reflecting snow-capped peaks, golden hour lighting, highly detailed"
<table> <tr> <td width="50%"> <img src="examples/comparison/flux-1.1-pro.png" alt="Flux 1.1 Pro" width="100%"/> <p align="center"><strong>Flux 1.1 Pro MCP</strong><br/><em>black-forest-labs/flux-1.1-pro</em></p> </td> <td width="50%"> <img src="examples/comparison/qwen-image.png" alt="Qwen Image" width="100%"/> <p align="center"><strong>Qwen Image MCP</strong><br/><em>qwen/qwen-image</em></p> </td> </tr> <tr> <td width="50%"> <img src="examples/comparison/seedream-4.png" alt="SeedDream-4" width="100%"/> <p align="center"><strong>SeedDream-4 MCP</strong><br/><em>bytedance/seedream-4</em></p> </td> <td width="50%"> <img src="examples/comparison/nano-banana.png" alt="Nano Banana" width="100%"/> <p align="center"><strong>Nano Banana MCP</strong><br/><em>Gemini 2.5 Flash Image Preview</em></p> </td> </tr> </table>
⨠Features
| Provider | Models | Keywords | Highlights |
|---|---|---|---|
| š¤ OpenAI | GPT-Image-1, DALL-E 3, DALL-E 2 | gpt-image-1 mcp, openai image gen |
Latest GPT-Image-1 with background control |
| š§ Nano Banana | Gemini 2.5 Flash Image Preview | nano banana mcp |
Fast generation via official Google SDK |
| šØ Google Imagen | Imagen 4 (custom endpoint) | google imagen 4 mcp |
Advanced photorealistic image generation |
| ā” Replicate | Flux 1.1 Pro, Qwen Image, SeedDream-4 | flux 1.1 mcp, qwen image mcp, seedream-4 mcp |
Multiple cutting-edge models via Replicate |
šÆ Core Capabilities
- Multiple Output Formats: PNG, JPEG, WebP support
- Flexible Sizing: Custom dimensions and aspect ratios
- Base64 & File Output: Return images as base64 or save to disk
- Seed Support: Reproducible generation with Flux
- MCP Compatible: Works seamlessly with any MCP client
š Setup Comparison
| Client | Setup Required | API Keys | Configuration | Ready Time |
|---|---|---|---|---|
| WritingMate.ai | ā None | ā Pre-configured | ā Built-in | Instant |
| Claude Desktop | Manual config | Your own keys | JSON editing | ~5 minutes |
| Claude Code CLI | Command/config | Your own keys | Manual setup | ~5 minutes |
| Other MCP clients | Manual setup | Your own keys | Client-specific | ~5-10 minutes |
š Quick Start
Option 1: Install from npm (Recommended)
# Install globally
npm install -g imagegen-mcp-server
# Or use with npx (no installation required)
npx imagegen-mcp-server
Option 2: Install from source
# Clone the repository
git clone https://github.com/writingmate/imagegen-mcp.git
cd imagegen-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Run the server
npm start
Requirements
- Node.js 18+
- API keys:
OPENAI_API_KEY,GOOGLE_API_KEY, and/orREPLICATE_API_TOKEN
Configuration
Create a .env file in your project directory:
# Required: OpenAI API Key for DALL-E models
OPENAI_API_KEY=your-openai-api-key-here
# Required: Google API Key for Imagen and Gemini
GOOGLE_API_KEY=your-google-api-key-here
# Required: Replicate API Token for Flux models
REPLICATE_API_TOKEN=your-replicate-api-token-here
# Optional: Custom Google Imagen endpoint
GOOGLE_IMAGEN_ENDPOINT=
# Optional: Output directory for generated images (default: outputs)
OUTPUT_DIR=outputs
š§ Setup & Configuration
1. Get API Keys
You'll need at least one of these API keys:
| Provider | How to Get API Key | Cost |
|---|---|---|
| OpenAI | Get OpenAI API Key | ~$0.02-0.08 per image |
| Get Google API Key | Free tier available | |
| Replicate | Get Replicate Token | ~$0.003-0.01 per image |
2. Configure Environment
Create a .env file in your project directory:
# Add the API keys for the providers you want to use
OPENAI_API_KEY=your-openai-api-key-here
GOOGLE_API_KEY=your-google-api-key-here
REPLICATE_API_TOKEN=your-replicate-api-token-here
# Optional settings
OUTPUT_DIR=outputs
GOOGLE_IMAGEN_ENDPOINT=
3. Add to Your MCP Client
Choose your preferred MCP client:
š WritingMate.ai (Recommended - Zero Setup!)
⨠Already installed and configured! No setup required.
- Visit WritingMate.ai
- Start generating images immediately: "Generate an image of a sunset using Flux"
- All providers pre-configured and ready to use
š” Why WritingMate.ai? ImageGen MCP Server comes pre-installed with all API keys configured. Just start creating!
š„ļø Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"imagegen": {
"command": "npx",
"args": ["imagegen-mcp-server"]
}
}
}
āØļø Claude Code CLI
Add to your MCP configuration:
# Add to Claude Code MCP settings
claude-code config mcp add imagegen npx imagegen-mcp-server
Or manually configure in your Claude Code settings file:
{
"mcpServers": {
"imagegen": {
"command": "npx",
"args": ["imagegen-mcp-server"]
}
}
}
š Codeium CLI (Codex)
Add to your Codeium MCP configuration:
{
"mcp_servers": {
"imagegen": {
"command": "npx",
"args": ["imagegen-mcp-server"],
"env": {}
}
}
}
š§ Other MCP Clients
For any MCP-compatible client, use:
Command: npx imagegen-mcp-server
Environment: Ensure your .env file is in the working directory with your API keys.
4. Test the Installation
# Test if the server starts correctly
npx imagegen-mcp-server
# Or if installed globally
imagegen-mcp-server
Available Tools
1. OpenAI GPT-Image-1 MCP (image.generate.openai)
Generate images using OpenAI's latest GPT-Image-1 model and DALL-E series. This OpenAI image gen MCP tool supports the newest GPT-Image-1 with advanced background control.
Parameters:
{
prompt: string; // Required: Image description
model?: string; // "dall-e-2", "dall-e-3", "gpt-image-1" (default)
size?: string; // "1024x1024", "1792x1024", "1024x1792", etc.
width?: number; // Alternative to size
height?: number; // Alternative to size
quality?: "standard" | "hd" | "low" | "medium" | "high" | "auto";
format?: "png" | "jpeg" | "jpg" | "webp";
background?: "transparent" | "opaque" | "auto"; // gpt-image-1 only
style?: "vivid" | "natural"; // DALL-E 3 only
returnBase64?: boolean; // Include base64 in response
filenameHint?: string; // Custom filename prefix
}
Model-specific features:
- DALL-E 2: Basic generation, sizes: 256Ć256, 512Ć512, 1024Ć1024
- DALL-E 3: High-quality generation, sizes: 1024Ć1024, 1792Ć1024, 1024Ć1792
- GPT-Image-1: Latest model with background control, multiple formats, flexible sizing
2. Google Imagen 4 MCP (image.generate.google)
Generate images using Google's advanced Imagen 4 model via custom endpoint. This Google Imagen 4 MCP integration provides cutting-edge photorealistic image generation.
Parameters:
{
prompt: string; // Required: Image description
model?: string; // Model name
size?: string; // Image dimensions
quality?: string; // Quality setting
format?: "png" | "jpeg" | "jpg" | "webp";
returnBase64?: boolean;
filenameHint?: string;
}
Requirements:
- Set
GOOGLE_IMAGEN_ENDPOINTin your.envfile - Endpoint should accept POST requests with JSON payload
- Response format:
{ image: { base64: string, mimeType?: string } }
3. Nano Banana MCP (image.generate.gemini)
Generate images using Google's Gemini 2.5 Flash Image Preview model (also known as "Nano Banana MCP"). This nano banana implementation provides fast, efficient image generation via Google's official SDK.
Parameters:
{
prompt: string; // Required: Image description
model?: string; // Default: "gemini-2.5-flash-image-preview"
returnBase64?: boolean;
filenameHint?: string;
}
4. Replicate Models MCP (image.generate.replicate)
Generate images using multiple cutting-edge models via Replicate API:
- Flux 1.1 MCP:
black-forest-labs/flux-1.1-pro(default) - State-of-the-art prompt following - Qwen Image MCP:
qwen/qwen-image- Advanced AI image generation - SeedDream-4 MCP:
bytedance/seedream-4- High-quality diffusion model
Parameters:
{
prompt: string; // Required: Image description
model?: string; // Default: "black-forest-labs/flux-1.1-pro"
width?: number; // Image width (default: 1024)
height?: number; // Image height (default: 1024)
size?: string; // Alternative format: "1024x1024"
format?: "png" | "jpeg" | "jpg" | "webp";
seed?: number; // Reproducible generation
returnBase64?: boolean;
filenameHint?: string;
}
Flux Model Features:
- Flux 1.1 Pro: State-of-the-art image quality and prompt following
- High Resolution: Supports various aspect ratios and sizes
- Fast Generation: Optimized for speed and quality
- Seed Support: Reproducible image generation
Examples
Generate with OpenAI GPT-Image-1
const result = await mcpClient.callTool("image.generate.openai", {
prompt: "A serene mountain landscape at sunset",
model: "gpt-image-1",
size: "1536x1024",
format: "webp",
background: "transparent",
quality: "high"
});
Generate with Google Gemini
const result = await mcpClient.callTool("image.generate.gemini", {
prompt: "A futuristic city with flying cars",
returnBase64: true
});
Generate with Flux 1.1
const result = await mcpClient.callTool("image.generate.replicate", {
prompt: "A detailed portrait of a robot in a cyberpunk setting",
model: "black-forest-labs/flux-1.1-pro", // Default model
width: 1024,
height: 1536,
seed: 12345,
format: "png"
});
Generate with Qwen Image
const result = await mcpClient.callTool("image.generate.replicate", {
prompt: "A traditional Chinese landscape painting with mountains and rivers",
model: "qwen/qwen-image",
width: 1024,
height: 1024
});
Generate with SeedDream-4
const result = await mcpClient.callTool("image.generate.replicate", {
prompt: "A vibrant abstract art piece with flowing colors",
model: "bytedance/seedream-4",
width: 1024,
height: 1024 // Minimum 1024x1024 required
});
Output Format
All tools return a consistent response format:
{
content: [
{
type: "text",
text: "provider=openai model=gpt-image-1 saved=/path/to/image.png"
},
{
type: "image", // Only if returnBase64: true
data: "base64data",
mimeType: "image/png"
}
]
}
Generated images are automatically saved to the configured output directory with timestamped filenames.
Publishing to npm
The package is ready for npm publishing:
# Update version
npm version patch|minor|major
# Publish
npm publish
API Keys Setup
OpenAI API Key
- Visit OpenAI API Keys
- Create a new API key
- Add to
.envasOPENAI_API_KEY
Google API Key
- Visit Google AI Studio
- Create API key and enable required APIs
- Add to
.envasGOOGLE_API_KEY
Replicate API Token
- Visit Replicate
- Sign up and go to your account settings
- Create an API token
- Add to
.envasREPLICATE_API_TOKEN
Development
npm install # Install dependencies
npm run dev # Development with hot reload
npm run build # Build for production
npm start # Start production server
License
This project is licensed under the MIT License - see the LICENSE file for details.
<div align="center">
š” Brought to you by
WritingMate.ai - All-in-One AI Platform
The team behind WritingMate.ai brings you powerful AI tools and integrations
</div>
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.