Skip to content
Agentmart
Submit a tool

Image Generation MCP Server

MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders.

Connector by pvliesdonk · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)★ 1
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/pvliesdonk-image-generation-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for AI image generation via OpenAI, Stable Diffusion (SD WebUI), or placeholders.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
7 read · 6 write · 2 delete
Secrets
2 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 15

Read from the source code; the running server may list different tools.

Read 7 · Look things up without changing anything.

  • browse_gallery
  • check_generation_status
  • edit_image
  • gallery_full_image
  • gallery_page
  • list_providers
  • show_image

Write 6 · Create, change, send or run things.

  • _save_edited_image
  • fetch_image
  • generate_image
  • ingest_base64_image
  • save_style
  • transform_image

Delete 2 · Delete, drop, revoke or wipe things.

  • delete_image
  • delete_style

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • IMAGE_GENERATION_MCP_GOOGLE_API_KEY
  • IMAGE_GENERATION_MCP_OPENAI_API_KEY

Other settings (environment variables or headers).

  • FASTMCP_ENABLE_RICH_LOGGING
  • FASTMCP_LOG_LEVEL
  • IMAGE_GENERATION_MCP_A1111_HOST
  • IMAGE_GENERATION_MCP_A1111_MODEL
  • IMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUT
  • IMAGE_GENERATION_MCP_DEFAULT_PROVIDER
  • IMAGE_GENERATION_MCP_FETCH_TIMEOUT_S
  • IMAGE_GENERATION_MCP_INSTRUCTIONS
  • IMAGE_GENERATION_MCP_KV_STORE_URL
  • IMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTES
  • IMAGE_GENERATION_MCP_PAID_PROVIDERS
  • IMAGE_GENERATION_MCP_READ_ONLY
Show 13 more settings
  • IMAGE_GENERATION_MCP_SCRATCH_DIR
  • IMAGE_GENERATION_MCP_SD_WEBUI_HOST
  • IMAGE_GENERATION_MCP_SD_WEBUI_MODEL
  • IMAGE_GENERATION_MCP_SERVER_NAME
  • IMAGE_GENERATION_MCP_STYLES_DIR
  • IMAGE_GENERATION_MCP_TOOLS_ALLOW
  • IMAGE_GENERATION_MCP_TOOLS_DENY
  • IMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_S
  • IMAGE_GENERATION_MCP_TRANSFER_LEASE_S
  • IMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTES
  • IMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_S
  • IMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_S
  • IMAGE_GENERATION_MCP_TRANSFORM_CACHE_SIZE

Tools (15)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • _save_edited_imageSave Edited Image

    Save an edited image as a new first-class image record. Called by the image editor UI after the user confirms their edits. Applies the transforms server-side via Pillow and persists the result as a new image with ``source_image_ids`` provenance. Args: source_image_id: ID of the original image being edited. crop: Optional crop box as ``{"x": int, "y": int, "w": int, "h": int}``. rotate: Optional rotation in degrees — 90, 180, or 270. flip_horizontal: Mirror the image left-right. flip_vertical: Mirror the image top-bottom. Returns: JSON with the new ``image_id`…

  • browse_galleryBrowse Galleryread-only

    Browse all generated images in an interactive visual gallery. Opens a gallery view showing thumbnail previews of images in the scratch directory, filtered by ``origin`` (generated images by default). For non-UI clients the response is a JSON object with ``total``, ``page``, ``page_size``, ``origin``, and ``items``. Each completed item includes ``image_id``, ``prompt``, ``provider``, ``dimensions``, ``created_at``, ``thumbnail_b64`` (128 px WebP, base64-encoded), ``content_type``, and ``origin``. Pending/generating items include ``status``, ``progress``, and ``progress_message`` instead of …

  • check_generation_statusCheck Generation Statusread-only

    Check whether a background image generation has finished. Call this after ``generate_image`` to wait for completion. Returns a short JSON status — no image data, no heavy UI. - ``"completed"`` → call ``show_image(uri=original_uri)`` to display the finished image. - ``"generating"`` → wait and check again. - ``"failed"`` → report the error to the user. Args: image_id: The ``image_id`` returned by ``generate_image``. Returns: JSON with ``status``, ``image_id``, and optional ``progress``, ``progress_message``, ``elapsed_seconds``, or ``error``.

  • delete_imageDelete Imagecan change or delete data

    Delete an image from the scratch directory. Permanently removes the image file and its metadata sidecar. This action cannot be undone. Hidden in read-only mode. Args: image_id: The image ID to delete (12-character hex string). Returns: Confirmation text with the deleted image's prompt and provider.

  • delete_styleDelete Stylecan change or delete data

    Delete a style preset from disk. Permanently removes the style file and its in-memory entry.

  • edit_imageEdit Imageread-only

    Open an image for interactive editing (crop, rotate, flip). The user edits in the viewer UI and saves as a new image. Always edits the original image — resource template transforms are ephemeral and LLM-facing; editor transforms are persistent and user-facing. Args: image_id: ID of the image to edit. Use ``image://list`` to browse available image IDs. Returns: Full-resolution image as base64 plus JSON metadata with ``editable: true`` to activate the editor UI.

  • fetch_imageFetch Image

    Fetch an image from a URL into the gallery. Downloads the image at *url* (http/https only) and adds it to the gallery as an imported entry you can then show, edit, or reference in ``transform_image``. The fetch is SSRF-hardened: URLs targeting private, loopback, link-local, or cloud-metadata addresses are refused, redirects are not followed, and the download is size-capped. Hidden in read-only mode. Args: url: The http(s) URL of the image to fetch. Returns: The gallery URI (``image://<id>/view``) on success, or a message describing why the fetch failed.

  • gallery_full_imageGallery Full Imageread-only

    Return full-resolution image data for the gallery lightbox. App-only helper called by the gallery lightbox to load a single image at full (or near-full) resolution. Images larger than 1 MB are downscaled to 1024 px wide WebP before encoding. Args: image_id: The image ID to load. Returns: JSON with ``image_id``, ``b64``, ``content_type``, ``dimensions``, ``prompt``, ``provider``, and ``created_at``.

  • gallery_pageGallery Pageread-only

    Return a page of image thumbnails for the gallery UI. App-only helper called by the gallery UI to load additional pages when the user paginates. Not intended for direct model invocation. Args: page: 1-based page number. page_size: Number of items per page (1-24, default 12). origin: Which images to include. ``"generated"`` (default) shows images produced by ``generate_image``/``edit_image`` plus all pending generations (a pending generation always counts as generated). ``"imported"`` shows images brought in via upload/fetch/base64 ingestion. ``"al…

  • generate_imageGenerate Image

    Generate an image in the background and return metadata. Returns immediately while the image generates in the background (typically 30-90 seconds). **After calling this tool:** 1. Tell the user the image is being generated. 2. Call ``check_generation_status(image_id)`` to wait for completion. It returns ``"completed"``, ``"generating"``, or ``"failed"``. 3. Only when status is ``"completed"``, call ``show_image(uri=original_uri)`` **once** to display the finished image. **Do NOT call show_image to poll** — it renders a heavy UI card each time. Use ``check_generation_status`` …

  • ingest_base64_imageIngest Base64 Image

    Add an inline base64-encoded image to the gallery. Decodes *data* (raw base64, a ``data:...;base64,...`` URI, or line-wrapped base64 — all accepted) under a size cap and adds it to the gallery as an imported entry you can then show, edit, or reference in ``transform_image``. Hidden in read-only mode. Args: data: The base64-encoded image bytes. Returns: The gallery URI (``image://<id>/view``) on success, or a message describing why the image could not be ingested.

  • list_providersList Providersread-only

    List available image generation providers, models, and capabilities. Returns provider names, available models, and capability details. Each model includes a ``prompt_style`` field: use ``"clip"`` for comma-separated CLIP tags (SD 1.5/SDXL) or ``"natural_language"`` for descriptive sentences (Flux, OpenAI). Each call includes a ``refreshed_at`` timestamp. Pass ``force_refresh=true`` if providers may have changed since the last check. Also available as the ``info://providers`` resource for clients that support MCP resources. Args: force_refresh: When ``True``, re-runs capability discove…

  • save_styleSave Style

    Save a reusable style preset as a markdown file. Styles are creative briefs that the LLM interprets per-provider — not prompt fragments. Use to capture a visual direction for reuse across conversations.

  • show_imageShow Imageread-only

    Display a completed image with optional on-demand transforms. **Only call this for completed images** — use ``check_generation_status`` to poll, then call this once when ``status`` is ``"completed"``. Accepts a full ``image://`` resource URI (e.g. ``image://abc123/view`` or ``image://abc123/view?format=webp&width=512``). Transforms are encoded in the URI query string — no separate parameters needed. Read the ``image://list`` resource to browse available image IDs. Args: uri: A full ``image://`` resource URI, optionally with query params: ``format`` (``png``, ``webp``, ``jpeg``…

  • transform_imageTransform Image

    Edit or transform image(s) using a model that accepts image input. Supply one or more reference images (gallery ``image_id``, an ``image://`` URI, or — when enabled — a local file path) plus a prompt describing the change. A reference ``image_id`` may be any gallery image, including one brought in from outside via ``fetch_image``, ``ingest_base64_image``, or ``create_upload_link``. Served by any provider that reports ``supports_image_input`` in ``list_providers``; each provider's ``max_input_images`` there gives its reference-image limit (some accept one, others up to 16 for multi-image com…

Signals

Stars
1
Forks
0
Open issues
23
Weekly downloads
138
Last commit
Sep 14, 2026 (1 month ago)
Last release
Aug 25, 2026 (2 months ago)
Last package publish
Aug 25, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.pvliesdonk/image-generation-mcp
Version
1.12.1
Auth
API key
Packages
pypi image-generation-mcpoci ghcr.io/pvliesdonk/image-generation-mcp:v1.12.1
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from pvliesdonk

Cite this page

Image Generation MCP Server. Agent Mart. https://agentmart.dev/connectors/pvliesdonk-image-generation-mcp (last updated 2026-10-24)