{"id":"aa306dcd-4411-49ec-a5de-d0f5bdcf92f4","slug":"mcp-gimp","kind":"mcp","name":"mcp-gimp","summary":"Model Context Protocol server implementation for GIMP 3.","owner":"martinduartemore","repoUrl":"https://github.com/martinduartemore/mcp-gimp","license":"MIT","licenseTier":"permissive","trust":"community","stars":4,"match":null,"fewStars":true,"format":"mcp","createdAt":"2025-07-13T23:26:19.000Z","addedAt":"2026-10-14T05:12:26.790Z","logoUrl":"https://avatars.githubusercontent.com/u/7947653?u=268385e9fa58e5704c16b073b7f91f551079d7f9&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra","design-media","memory-knowledge"],"tags":["gimp","gimp-3","gimp-plugin","image-editing","image-manipulation","image-processing","mcp-server-python","model-context-protocol-server"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-17T10:52:55.655Z","sample":false,"url":"https://conduits.dev/tools/mcp-gimp","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# GIMP MCP\n\n<!-- markdownlint-disable MD033 -->\n<div align=\"center\">\n  <img src=\"resources/docs/logos/wilbericon.svg\" alt=\"Wilber Icon\" height=\"100\" />\n  <img src=\"resources/docs/logos/mcp.svg\" alt=\"MCP Logo\" height=\"100\" />\n</div>\n<!-- markdownlint-enable MD033 -->\n\nGIMP (GNU Image Manipulation Program) integration with MCP (Model Context Protocol).\nAllows external AI models and applications to control GIMP remotely.\n\n## Table of Contents\n\n- [GIMP MCP](#gimp-mcp)\n  - [Table of Contents](#table-of-contents)\n  - [Introduction](#introduction)\n    - [Architecture](#architecture)\n    - [Features](#features)\n  - [Installation](#installation)\n    - [Environment Variables](#environment-variables)\n    - [GIMP Containerization](#gimp-containerization)\n  - [Usage](#usage)\n    - [Examples](#examples)\n  - [Contributing](#contributing)\n  - [Related Projects](#related-projects)\n\n## Introduction\n\n### Architecture\n\n```mermaid\n%%{init:{\n  \"iconSize\": 24\n}}%%\nflowchart LR\n    subgraph gimp[\"GIMP 3\"]\n        direction TB\n        mcp-plugin[\"GIMP MCP Plugin\"]\n    end\n\n    plugin-server[\"Bridge Server\"]\n    mcp-server[\"GIMP MCP Server\"]\n\n    subgraph apps[\"\n        External Applications\n        <br>\n        <div style='display: flex; gap: 10px;'>\n            <img src='resources/docs/logos/claude-color.svg' height='30' width='30'/>\n            <img src='resources/docs/logos/gemini-color.svg' height='30' width='30'/>\n            <img src='resources/docs/logos/openai.svg' height='30' width='30'/>\n        </div>\n        \"]\n\n    end\n\n    apps <--> mcp-server\n    mcp-plugin <--> plugin-server\n    mcp-server <--> plugin-server\n```\n\nThis project is comprised of two main components:\n\n- **GIMP MCP Plugin**: Opens a server to act as a bridge between a running GIMP application and the GIMP MCP server. Executes commands received from the MCP server to control GIMP.\n- **GIMP MCP Server**: Connects to the bridge server to send commands from external applications.\n\nBy splitting up the functionality between these two components, we isolate the GIMP-specific logic in the plugin, which allows for easier integration by end-users and facilitates MCP server development.\n\n### Features\n\n- **GIMP 3 Support:** The plugin and server are designed to work with GIMP 3 via its Python SDK.\n- **Command Execution:** The plugin executes commands received from the MCP server, allowing external applications to manipulate GIMP objects.\n- **Extensibility:** The plugin can be extended to support additional GIMP features and commands, making it adaptable to various use cases.\n- **Object Serialization:** The plugin serializes GIMP objects (e.g., images, layers, paths, selections) into JSON, which can be sent over the MCP protocol and provided to LLMs or agents as contextual input.\n- **Containerized Execution:** The plugin and server can run in a containerized environment, allowing for easy setup and development.\n- **Containerized/Remote GIMP:** The plugin supports running GIMP in a containerized environment with VNC-based browser access, making it easy to prototype and develop without needing a local GIMP installation.\n\n## Installation\n\nThe MCP server and plugin are designed to work with GIMP 3 only.\nTo install the GIMP MCP Plugin and Server, follow these steps:\n\n- [GIMP MCP Plugin Installation Instructions](./src/gimp-plugin/README.md#installation).\n- [GIMP MCP Server Installation Instructions](./src/mcp-server/README.md#installation).\n\n### Environment Variables\n\nBoth the GIMP MCP Plugin and the GIMP MCP Server can be configured using environment variables.\nPlease check the [`environments/example.env`](./environments/example.env) file in this repository for a list of available environment variables and their descriptions.\n\n### GIMP Containerization\n\nFor quick prototyping and development purposes, we support running GIMP 3 in a containerized environment with VNC-based browser access.\nTo know more, check out the [`docker-compose.yaml`](./docker-compose.yaml) file in this repository.\n\nTo run GIMP 3 versions, we use a [custom Docker image](./resources/Dockerfile.GIMP3) based on [`linuxserver/gimp`](https://hub.docker.com/r/linuxserver/gimp), which builds upon [`kasmweb/gimp`](https://hub.docker.com/r/kasmweb/gimp).\nSince those images don't officially support GIMP 3 yet, we download a GIMP 3 AppImage and replace the GIMP binary in the container.\nThis is a workaround that won't be necessary once GIMP 3 is officially supported in the `linuxserver/gimp` image.\n\n## Usage\n\nTo start using the GIMP MCP Plugin and Server, follow these steps:\n\n- Open GIMP 3\n- Start the GIMP MCP Bridge Server by executing the start server action in the plugin\n- Start the GIMP MCP Server\n- Register the MCP server with your external application\n\nAfter these steps, you can start asking questions about GIMP objects, executing commands, and manipulating images, layers, paths, and selections using models connected via the MCP protocol.\n\n### Examples\n\nWe provide [examples](./resources/examples) of how to use the GIMP MCP Plugin and Server:\n\n- [OpenAI Agents SDK Example](./resources/examples/src/agents-sdk/)\n\n## Contributing\n\nWe welcome contributions to the GIMP MCP Plugin and Server!\nIf you have ideas for new features, improvements, or bug fixes, please open an issue or submit a pull request.\nYou can also check the [TODOs](./TODO.md) for ideas on what to work on next.\n\nAdding functionality to the GIMP MCP Plugin and Server is straightforward.\nFor instance, to add a new GIMP operation, follow these steps:\n\n1. Implement the desired functionality in the GIMP MCP Plugin [operations module](./src/gimp-plugin/src/gimp_mcp_plugin/operations/), which will handle the GIMP-specific logic.\n2. Add the corresponding commands to the GIMP MCP Server in the [tools module](./src/mcp-server/src/gimp_mcp_server/mcp/tools/) to expose that functionality over the MCP protocol.\n\nWe provide a [VS Code workspace](./mcp-gimp.code-workspace) with recommended settings and extensions to help you get started quickly.\nYou can also check out the [stubs generator](./src/stubs-generator/README.md) to generate type stubs for GIMP's Python API, which can be useful for developing plugins and scripts.\n\n## Related Projects\n\n- [`libreearth/gimp-mcp`](https://github.com/libreearth/gimp-mcp)\n- [`mikechambers/adb-mcp`](https://github.com/mikechambers/adb-mcp)\n- [`loonghao/photoshop-python-api-mcp-server`](https://github.com/loonghao/photoshop-python-api-mcp-server)\n- [`SureScaleAI/openai-gpt-image-mcp`](https://github.com/SureScaleAI/openai-gpt-image-mcp)\n"}