图像处理远程控制协议

GIMP MCP是一个允许外部AI模型和应用程序通过协议远程控制GIMP图像处理软件的工具,支持GIMP 3的Python SDK、命令执行、对象序列化和容器化运行。

  • by martinduartemore
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 martinduartemore/mcp-gimp

使用说明

GIMP MCP

GIMP(GNU图像处理程序)与MCP(模型上下文协议)的集成。 允许外部AI模型和应用程序远程控制GIMP。

目录

引言

建筑

%%{init:{
  "iconSize": 24
}}%%
flowchart LR
    subgraph gimp["GIMP 3"]
        direction TB
        mcp-plugin["GIMP MCP Plugin"]
    end

    plugin-server["Bridge Server"]
    mcp-server["GIMP MCP Server"]

    subgraph apps["
        External Applications
        <br>
        <div style='display: flex; gap: 10px;'>
            <img src='resources/docs/logos/claude-color.svg' height='30' width='30'/>
            <img src='resources/docs/logos/gemini-color.svg' height='30' width='30'/>
            <img src='resources/docs/logos/openai.svg' height='30' width='30'/>
        </div>
        "]

    end

    apps <--> mcp-server
    mcp-plugin <--> plugin-server
    mcp-server <--> plugin-server

该项目由两个主要部分组成:

  • GIMP MCP插件:打开一个服务器,作为正在运行的GIMP应用程序和GIMP MCP服务器之间的桥梁。执行从MCP服务器接收到的命令以控制GIMP。
  • GIMP MCP服务器:连接到网桥服务器以从外部应用程序发送命令。

通过将这两个组件之间的功能分开,我们隔离了插件中GIMP特定的逻辑,这使得最终用户更容易集成,并促进了MCP服务器的开发。

特性

  • GIMP 3支持: 该插件和服务器旨在通过其Python SDK与GIMP 3配合使用。
  • 命令执行: 该插件执行从MCP服务器接收到的命令,允许外部应用程序操纵GIMP对象。
  • 可扩展性: 该插件可以扩展以支持其他GIMP功能和命令,使其适应各种用例。
  • 对象序列化: 该插件将GIMP对象(例如图像、层、路径、选择)序列化为JSON,JSON可以通过MCP协议发送,并作为上下文输入提供给LLM或代理。
  • 容器化执行: 插件和服务器可以在容器化环境中运行,便于设置和开发。
  • 集装箱化/远程GIMP: 该插件支持在基于VNC的浏览器访问的容器化环境中运行GIMP,使其易于原型化和开发,而不需要本地GIMP安装。

安装

MCP服务器和插件仅设计用于GIMP 3。 要安装GIMP MCP插件和服务器,请执行以下步骤:

环境变量

GIMP MCP插件和GIMP MCP服务器都可以使用环境变量进行配置。 请检查 environments/example.env 此存储库中的文件,以获取可用环境变量及其描述的列表。

GIMP集装箱化

为了快速原型制作和开发,我们支持在基于VNC的浏览器访问的容器化环境中运行GIMP 3。 要了解更多信息,请查看 docker-compose.yaml 此存储库中的文件。

要运行GIMP 3版本,我们使用 自定义Docker镜像 基于 linuxserver/gimp,它建立在 kasmweb/gimp. 由于这些映像尚未正式支持GIMP 3,我们下载GIMP 3 AppImage并替换容器中的GIMP二进制文件。 一旦GIMP 3在 linuxserver/gimp 图像。

用法

要开始使用GIMP MCP插件和服务器,请按照以下步骤操作:

  • 打开GIMP 3
  • 通过执行插件中的启动服务器操作来启动GIMP MCP网桥服务器
  • 启动GIMP MCP服务器
  • 在您的外部应用程序中注册MCP服务器

完成这些步骤后,您可以开始询问有关GIMP对象的问题,执行命令,并使用通过MCP协议连接的模型操纵图像、层、路径和选择。

例子

我们提供 示例 如何使用GIMP MCP插件和服务器:

贡献

我们欢迎为GIMP MCP插件和服务器做出贡献! 如果您对新功能、改进或错误修复有想法,请打开问题或提交拉取请求。 您还可以查看 全部 了解下一步要做什么的想法。

向GIMP MCP插件和服务器添加功能很简单。 例如,要添加新的GIMP操作,请执行以下步骤:

  1. 在GIMP MCP插件中实现所需的功能 操作模块,它将处理GIMP特定的逻辑。
  2. 在GIMP MCP服务器中添加相应的命令 工具模块 通过MCP协议公开该功能。

我们提供 VS代码工作区 使用推荐的设置和扩展程序,帮助您快速入门。 您还可以查看 短截线发生器 为GIMP的Python API生成类型存根,这对于开发插件和脚本非常有用。

相关项目