Skip to main content
Glama
krystian-ai

AI Image-Gen MCP Server

by krystian-ai

AI Image‑Gen MCP Server

Version 0.1.0 – MVP public release
Conforms to the Model Context Protocol spec (2025‑06‑18).

Python 3.11+ License: MIT Code style: black MCP


What's this?

A production‑ready MCP server that transforms state‑of‑the‑art image generators into plug‑and‑play tools for any MCP‑aware client. Currently shipping with DALL·E 3, DALL·E 2, and experimental GPT‑Image‑1 – all accessible through a unified interface.

Why MCP?

MCP is the USB‑C of AI context: one protocol, endless integrations. Ship one server, hook it into Claude Desktop, Claude Code, VS Code, or your own chatbot – the host handles UI, auth, and conversation flow.

Quick examples

You ask

The server delivers

"Design a cyberpunk logo for my startup"

High‑res PNG via DALL·E 3 with style presets

"Generate 5 variations of this product shot"

Batch generation via DALL·E 2 (n=5 support)

"Create concept art for a steampunk airship"

Artistic rendering with metadata and prompt history

If you can describe it, we can render it. 💫


Core MCP Concepts

This server implements all three MCP primitives:

  1. Toolsgenerate_image with model selection, size, and style options

  2. Resources – Available models and their capabilities exposed as MCP resources

  3. Prompts – Built‑in templates for product_mockup and concept_art workflows


Feature Highlights

  • Multi‑Model SupportDALL·E 3 (default), DALL·E 2, and GPT‑Image‑1 via unified API

  • Smart Storage – Local cache with timestamped filenames and JSON metadata

  • Flexible Sizing – From 256×256 thumbnails to 1792×1024 widescreen masterpieces

  • Style Controlvivid or natural rendering (DALL·E 3)

  • Batch Generation – Create up to 10 variations per prompt (DALL·E 2)

  • Claude Integration – First‑class support for Desktop and Code editions


Architecture

graph TD
    Client["MCP Client (Claude Desktop/Code)"] -- JSON‑RPC 2.0 --> Server["Image‑Gen MCP Server"]
    Server --> Router["Model Router"]
    Router -->|OpenAI API| DALLE3["DALL·E 3"]
    Router -->|OpenAI API| DALLE2["DALL·E 2"]
    Router -->|Responses API| GPT["GPT‑Image‑1"]
    Server --> Storage["Local Storage + Metadata"]
    Storage --> Client

Quickstart

Prerequisites

  • Python 3.11+

  • OpenAI API key

  • Claude Desktop or Claude Code (for MCP integration)

Installation

git clone https://github.com/krystian-ai/ai-image-gen-mcp.git
cd ai-image-gen-mcp
python3.11 -m venv .venv && source .venv/bin/activate
pip install -e ".[image,dev]"

Configuration

cp .env.example .env
# Edit .env and add your OpenAI API key

Key settings:

OPENAI_API_KEY=sk-...
MODEL_DEFAULT=dall-e-3
CACHE_DIR=/tmp/ai-image-gen-cache

Run Standalone

# Via MCP CLI
mcp-imageserve stdio

# Direct execution
python -m ai_image_gen_mcp.server --transport=stdio

Claude Desktop Integration

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "ai-image-gen": {
      "command": "/path/to/ai-image-gen-mcp/.venv/bin/python",
      "args": ["-m", "ai_image_gen_mcp.server", "stdio"],
      "transport": "STDIO",
      "env": {
        "PYTHONPATH": "/path/to/ai-image-gen-mcp/src",
        "OPENAI_API_KEY": "your-api-key-here"
      }
    }
  }
}

Claude Code Integration

Option 1: Project‑specific .mcp.json (Recommended)

Drop this in your project root:

{
  "ai-image-gen": {
    "command": "python",
    "args": ["-m", "ai_image_gen_mcp.server", "stdio"],
    "transport": "STDIO",
    "env": {
      "PYTHONPATH": "src",
      "OPENAI_API_KEY": "your-api-key-here"
    }
  }
}

Claude Code auto‑detects and loads it. ✨

Option 2: Global Config

Add to ~/.config/claude-code/settings.json for system‑wide access.


Model Capabilities

Model

Sizes

Styles

Batch (n)

Speed

Notes

DALL·E 3

1024×1024, 1792×1024, 1024×1792

vivid, natural

1

Fast

Best quality, default model

DALL·E 2

256×256, 512×512, 1024×1024

N/A

1-10

Fast

Good for variations

GPT‑Image‑1

Fixed (model‑determined)

N/A

1

Slow (20s+)

Experimental, may timeout


Usage Examples

Basic Generation

Generate a minimalist logo for a productivity app

With Parameters

Create a vivid 1792x1024 banner of a futuristic cityscape using dall-e-3

Batch Creation

Generate 5 variations of a coffee cup product photo using dall-e-2

Interactive HTML Demo

Explore the server's capabilities through our interactive web interface:

cd examples/html
open index.html  # macOS
# or
xdg-open index.html  # Linux
# or just open in your browser

The demo showcases:

  • Live Examples – Generated images with their prompts

  • Model Comparison – See outputs from DALL·E 3, DALL·E 2, and GPT-Image-1

  • Interactive Gallery – Carousel of stunning AI-generated artwork

  • Integration Guide – How to connect with Claude Desktop/Code

Perfect for visualizing what's possible before diving into the API!


Development

Testing

pytest                           # Full suite
pytest --cov=ai_image_gen_mcp   # Coverage report
python test_dalle.py            # Live API test

Code Quality

black src/        # Format
ruff check src/   # Lint
mypy src/         # Type check

Project Structure

ai-image-gen-mcp/
├── src/ai_image_gen_mcp/
│   ├── server.py          # FastMCP server entry
│   ├── models/            # Model implementations
│   └── config.py          # Environment config
├── tests/                 # Comprehensive test suite
├── examples/
│   └── html/              # Interactive web demo
├── assets/                # Logo images
└── .mcp.json             # Claude Code config

Troubleshooting

Issue

Solution

MCP not detected

Ensure .mcp.json exists in project root

API key errors

Check OPENAI_API_KEY in .env or environment

Import errors

Verify PYTHONPATH includes src/ directory

GPT‑Image‑1 timeouts

Known issue – use DALL·E models for reliability

Claude Desktop issues

Use full paths to venv Python executable


Roadmap

Version

Focus

Status

0.1

MVP with 3 models, local storage

✅ Shipped

0.2

S3/GCS storage, signed URLs

🚧 Planning

0.3

Stable Diffusion, ComfyUI integration

📋 Backlog

0.4

Inpainting, upscaling, style transfer

💭 Ideas


Contributing

Fork → feature branch → PR. Run pre-commit hooks. Keep the vibe technical but approachable.


License

MIT – see LICENSE.


Latest Blog Posts

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/krystian-ai/ai-image-gen-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server