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
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.
About
Reviews
Write a reviewNo 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_gallerycheck_generation_statusedit_imagegallery_full_imagegallery_pagelist_providersshow_image
Write 6 · Create, change, send or run things.
_save_edited_imagefetch_imagegenerate_imageingest_base64_imagesave_styletransform_image
Delete 2 · Delete, drop, revoke or wipe things.
delete_imagedelete_style
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
IMAGE_GENERATION_MCP_GOOGLE_API_KEYIMAGE_GENERATION_MCP_OPENAI_API_KEY
Other settings (environment variables or headers).
FASTMCP_ENABLE_RICH_LOGGINGFASTMCP_LOG_LEVELIMAGE_GENERATION_MCP_A1111_HOSTIMAGE_GENERATION_MCP_A1111_MODELIMAGE_GENERATION_MCP_ALLOW_LOCAL_FILE_INPUTIMAGE_GENERATION_MCP_DEFAULT_PROVIDERIMAGE_GENERATION_MCP_FETCH_TIMEOUT_SIMAGE_GENERATION_MCP_INSTRUCTIONSIMAGE_GENERATION_MCP_KV_STORE_URLIMAGE_GENERATION_MCP_MAX_INPUT_IMAGE_BYTESIMAGE_GENERATION_MCP_PAID_PROVIDERSIMAGE_GENERATION_MCP_READ_ONLY
Show 13 more settings
IMAGE_GENERATION_MCP_SCRATCH_DIRIMAGE_GENERATION_MCP_SD_WEBUI_HOSTIMAGE_GENERATION_MCP_SD_WEBUI_MODELIMAGE_GENERATION_MCP_SERVER_NAMEIMAGE_GENERATION_MCP_STYLES_DIRIMAGE_GENERATION_MCP_TOOLS_ALLOWIMAGE_GENERATION_MCP_TOOLS_DENYIMAGE_GENERATION_MCP_TRANSFER_GRACE_TTL_SIMAGE_GENERATION_MCP_TRANSFER_LEASE_SIMAGE_GENERATION_MCP_TRANSFER_MAX_UPLOAD_BYTESIMAGE_GENERATION_MCP_TRANSFER_TTL_DEFAULT_SIMAGE_GENERATION_MCP_TRANSFER_TTL_MAX_SIMAGE_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 ImageSave 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-onlyBrowse 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-onlyCheck 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 dataDelete 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 dataDelete a style preset from disk. Permanently removes the style file and its in-memory entry.
edit_imageEdit Imageread-onlyOpen 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 ImageFetch 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-onlyReturn 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-onlyReturn 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 ImageGenerate 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 ImageAdd 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-onlyList 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 StyleSave 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-onlyDisplay 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 ImageEdit 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
- 0.661score
Markdown Vault MCP
pvliesdonk
Generic markdown vault MCP with hybrid search
ConnectorAFreshness: ARemoteLocal★ 35↓ 233/wkClaude Code +5 - 0.628score
Scholar MCP
pvliesdonk
FastMCP server for scholarly papers, patents, books and standards with docling PDF conversion
ConnectorAFreshness: ARemoteLocal★ 2↓ 122/wkClaude Code +5 - 0.620score
Paperless MCP
pvliesdonk
Paperless-NGX over MCP: search, read, upload and tag documents; manage correspondents and types.
ConnectorAFreshness: ARemoteLocal★ 1↓ 111/wkClaude Code +5 - 0.493score
Logo.dev MCP
pvliesdonk
Look up company logos and brand data via the logo.dev API.
ConnectorCFreshness: CRemoteLocalRead-only↓ 38/wkClaude Code +5
Cite this page
Image Generation MCP Server. Agent Mart. https://agentmart.dev/connectors/pvliesdonk-image-generation-mcp (last updated 2026-10-24)