Skip to main content

dcc-mcp-gimp

DCC-MCP · GIMP

Production-oriented GIMP 3 adapter for the DCC Model Context Protocol ecosystem.

GIMP typed image-authoring workflow

Illustrative workflow generated with OpenAI ImageGen from the retained source in docs/images/sources; it is not a GIMP screenshot or host-validation artifact.

The adapter keeps GIMP API ownership inside a persistent GIMP 3 Python plug-in. An authenticated loopback JSON-lines bridge accepts a fixed catalog of typed commands, bounds connections, requests, responses, queue depth, image size, layer traversal, paths, file size, and execution time, then marshals every host operation onto GIMP's GLib main thread. It exposes no arbitrary Python, Script-Fu, action, or PDB-procedure execution.

Install

pip install dcc-mcp-gimp
dcc-mcp-gimp-install
dcc-mcp-gimp-doctor

Set at least one allowed file root before launching GIMP and the MCP server:

export DCC_MCP_GIMP_ALLOWED_ROOTS=/absolute/project/root
dcc-mcp-gimp

On Windows, separate multiple roots with ;; on POSIX, use :. The plug-in and client share a per-user token at ~/.dcc-mcp/gimp-bridge-token by default. An explicit token may instead be supplied through DCC_MCP_GIMP_BRIDGE_TOKEN and must contain at least 32 characters. Token values are never returned by status or diagnostics.

Restart GIMP after installation, then invoke the registered persistent python-fu-dcc-mcp-gimp-bridge procedure. The MCP endpoint defaults to http://127.0.0.1:8767/mcp; the plug-in bridge defaults to 127.0.0.1:3848.

Typed capabilities

  • Inspect bridge readiness, open images, active image metadata, and recursive layer trees.
  • Create or open bounded images under configured roots.
  • Create/select/fill/rename/show/hide/lock/fade/delete layers through typed parameters.
  • Preserve layered work as XCF and export PNG, JPEG, WebP, or TIFF with byte counts and SHA-256 digests.
  • Flatten only with confirm=true; overwrite only with overwrite=true.
  • Close only bridge-opened displays, and require discard_changes=true for dirty images.

GIMP image and layer IDs are process-local and must be rediscovered after a restart. File paths outside configured roots are rejected; paths attached to untrusted user images are redacted to a basename.

Architecture and validation

The GIMP host remains the sole owner of image state and main-thread affinity. The Python package owns MCP lifecycle, typed Skill declarations, installation, diagnostics, and the authenticated bridge client. No generic code evaluation crosses this boundary.

python -m pip install -e ".[dev]"
python -m pytest
python -m ruff check src tests tools
python tools/lint_skills.py
python -m build
python -m twine check dist/*

The real-host acceptance script is tests/live_gimp_smoke.py. It creates a bounded layered image, exercises all typed commands, saves XCF, exports PNG, verifies both artifacts, reopens the XCF, and cleans up only bridge-owned displays.

Official references: GIMP 3 Python plug-ins, GIMP Image API, and GIMP file save/export API.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dcc_mcp_gimp-0.3.0.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dcc_mcp_gimp-0.3.0-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file dcc_mcp_gimp-0.3.0.tar.gz.

File metadata

  • Download URL: dcc_mcp_gimp-0.3.0.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for dcc_mcp_gimp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2e1aa1a158d867d987d19d5be848c3252aed97b73cac14ce316390a42d0a878c
MD5 1deada95b6acbd266256b0c57947d594
BLAKE2b-256 afa189f36f8eab7235f16f5014110a49d4517c48531b5d02cc7244991b40f4d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_gimp-0.3.0.tar.gz:

Publisher: release.yml on dcc-mcp/dcc-mcp-gimp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dcc_mcp_gimp-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: dcc_mcp_gimp-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for dcc_mcp_gimp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e03544e7a2ed04b658c9e1fd14c58209f0c1f1ae5159d06e267a6f280c497186
MD5 da129b950a05cab75c13f6eea105aab1
BLAKE2b-256 d4a4ac98c7af64baedbb60c9c06cb4ccb8e698e158477ea0f0ddefc7d6d3ed78

See more details on using hashes here.

Provenance

The following attestation bundles were made for dcc_mcp_gimp-0.3.0-py3-none-any.whl:

Publisher: release.yml on dcc-mcp/dcc-mcp-gimp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page