Cloudflare Image MCP

Cloudflare Image MCP

Image generation MCP server running on Cloudflare Workers, supporting multiple models like FLUX and SDXL with OpenAI-compatible endpoints.

Category
Visit Server

README

Cloudflare Image MCP

Deploy to Cloudflare Workers

OpenAI-compatible image generation API + Streamable HTTP MCP server powered by Cloudflare Workers AI.

๐ŸŒŸ Features

  • OpenAI-Compatible API: /v1/images/generations + /v1/images/edits endpoints
  • MCP Protocol Support: HTTP transport with SSE (streamable)
  • 10 Image Generation Models: FLUX, SDXL, Stable Diffusion, and more
  • Multiple Tasks: Text-to-image, image-to-image (masked edits supported)
  • Web Frontend: Interactive UI for image generation
  • Self-Hosted MinIO Storage: Replaces Cloudflare R2 with a self-hosted MinIO instance running on Docker/Coolify with automatic image expiry.

๐Ÿ“ฆ What's Included

cloudflare-image-mcp/
โ”œโ”€โ”€ workers/           # Cloudflare Worker (API + MCP + Frontend)
โ””โ”€โ”€ e2e/               # Playwright E2E tests

๐Ÿš€ Quick Start

Prerequisites

  1. Deploy this MCP server to your Cloudflare account (takes 5 minutes): ๐Ÿ‘‰ Deployment Guide

  2. Note your worker URL after deployment:

    https://cloudflare-image-workers.<your-subdomain>.workers.dev
    
  3. If you set API_KEYS during deployment, you'll need the key for authentication.

MCP Client Configuration

Below are the configuration guides for different MCP clients. This server uses HTTP/SSE transport (not stdio) since it runs on Cloudflare Workers.

<details><summary>Claude Desktop</summary>

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "cloudflare-image": {
      "url": "https://your-worker.workers.dev/mcp"
    }
  }
}

If using API key authentication:

{
  "mcpServers": {
    "cloudflare-image": {
      "url": "https://your-worker.workers.dev/mcp?key=your-api-key"
    }
  }
}

</details>

<details><summary>Claude Code</summary>

Add the MCP server:

claude mcp add cloudflare-image https://your-worker.workers.dev/mcp

With API key:

claude mcp add cloudflare-image https://your-worker.workers.dev/mcp?key=your-api-key

</details>

<details><summary>Cursor</summary>

Go to: Settings โ†’ Cursor Settings โ†’ MCP โ†’ Add new global MCP server

{
  "mcpServers": {
    "cloudflare-image": {
      "url": "https://your-worker.workers.dev/mcp"
    }
  }
}

</details>

<details><summary>Cline</summary>

Open Cline โ†’ Click MCP Servers icon โ†’ Installed tab โ†’ Advanced MCP Settings

Add to cline_mcp_settings.json:

{
  "mcpServers": {
    "cloudflare-image": {
      "url": "https://your-worker.workers.dev/mcp"
    }
  }
}

</details>

<details><summary>Other MCP Clients</summary>

This server implements the MCP HTTP/SSE transport. Configure your client with:

  • Transport: HTTP/SSE (streamable)
  • URL: https://your-worker.workers.dev/mcp
  • Auth (if API_KEYS set): Add ?key=your-api-key to the URL

</details>


๐Ÿ“– Usage

OpenAI-Compatible API

curl -X POST "https://your-worker.workers.dev/v1/images/generations" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-key" \
  -d '{
    "model": "@cf/black-forest-labs/flux-1-schnell",
    "prompt": "A beautiful sunset over mountains",
    "n": 1,
    "size": "1024x1024"
  }'

And it can be used for OpenWebUI's image generation feature and image edits feature:

OpenWebUI image generation

OpenWebUI image_edits

MCP Tools

Available Tools:

  • list_models - List all available models
  • describe_model - Get model parameters and limits
  • run_model - Generate images

Connect via MCP:

{
  "mcpServers": {
    "image-gen": {
      "url": "https://your-worker.workers.dev/mcp"
    }
  }
}

Web Frontend

Open your worker URL in a browser for an interactive UI.

Frontend


๐ŸŽจ Supported Models

๐Ÿ“‹ Detailed Model Specifications โ†’ โ€” Full parameter reference, feature comparison, and capability matrix.

Model Tasks Provider
FLUX.1 [schnell] text-to-image Black Forest Labs
FLUX.2 [klein] text-to-image, image-to-image Black Forest Labs
FLUX.2 [dev] text-to-image, image-to-image Black Forest Labs
SDXL Base 1.0 text-to-image, image-to-image (img2img + masked edits) Stability AI
SDXL Lightning text-to-image ByteDance
Dreamshaper 8 LCM text-to-image, image-to-image (img2img) Lykon
Lucid Origin text-to-image Leonardo
Phoenix 1.0 text-to-image Leonardo
SD 1.5 Img2Img image-to-image (img2img) Runway ML
SD 1.5 Inpainting image-to-image (requires mask) Runway ML

๐Ÿ“š Documentation

Document Description
Deployment Guide Step-by-step deployment instructions
MinIO Deployment Guide Self-hosted MinIO & Coolify deployment instructions
Credentials Setup Environment variables and API tokens
Usage Guide Detailed API usage examples
MCP Guide MCP protocol and tools reference
API Reference REST endpoints documentation

๐Ÿงช Testing

# Run E2E tests against staging/production
npm run test:e2e:staging
npm run test:e2e:production

๐Ÿ”ง Development

# Type check
npm run build

# Run E2E tests
npm run test:e2e:staging

๐Ÿ“ License

MIT


Built with:

Credits: Migrated to self-hosted MinIO S3 from the original project: tan-yong-sheng/cloudflare-image-mcp.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured