AI图像生成服务器

Imago MCP Server是一个通过统一接口提供多种AI图像生成服务的模型上下文协议服务器,支持OpenAI、Google Gemini和xAI的图像生成与编辑功能。

  • by TheStranjer
  • Ruby
  • 本地部署
  • 更新于
在 GitHub 查看 TheStranjer/imago-mcp

使用说明

Imago MCP服务器

MCP(模型上下文协议)服务器,通过 意象 宝石。

特性

  • 使用OpenAI(DALL-E)、Google Gemini(Imagen)或xAI(Grok)生成图像
  • 使用输入图像编辑图像(仅限OpenAI和Gemini)
  • 列出每个提供商的可用型号
  • 跨所有提供商的统一接口
  • stdio传输,便于与MCP客户端集成

需求

  • Ruby 3.0或更高版本
  • 这 imago 宝石

安装

macOS

  1. 安装Ruby(如果尚未安装):

    brew install ruby
    
  2. 克隆此存储库:

    git clone https://github.com/theStranjer/imago-mcp.git
    cd imago-mcp
    
  3. 安装依赖项:

    bundle install
    
  4. 使服务器可执行:

    chmod +x imago_mcp_server.rb
    

Linux

  1. 安装Ruby(如果尚未安装):

    # Debian/Ubuntu
    sudo apt-get install ruby ruby-dev
    
    # Fedora
    sudo dnf install ruby ruby-devel
    
    # Arch
    sudo pacman -S ruby
    
  2. 克隆此存储库:

    git clone https://github.com/theStranjer/imago-mcp.git
    cd imago-mcp
    
  3. 安装依赖项:

    bundle install
    
  4. 使服务器可执行:

    chmod +x imago_mcp_server.rb
    

视窗

  1. 使用安装Ruby RubyInstaller.下载并运行安装程序,选择将Ruby添加到PATH的选项。

  2. 克隆此存储库:

    git clone https://github.com/theStranjer/imago-mcp.git
    cd imago-mcp
    
  3. 安装依赖项:

    bundle install
    

配置

为要使用的提供程序设置API密钥:

macOS/Linux

export OPENAI_API_KEY="your-openai-key"
export GEMINI_API_KEY="your-gemini-key"
export XAI_API_KEY="your-xai-key"

将这些添加到您的 ~/.bashrc, ~/.zshrc,或等效的持久性。

视窗

setx OPENAI_API_KEY "your-openai-key"
setx GEMINI_API_KEY "your-gemini-key"
setx XAI_API_KEY "your-xai-key"

或者通过“系统属性”>“环境变量”进行设置。

图像上传(可选)

默认情况下,一些提供程序将图像作为base64数据返回,这对于LLM来说可能很大,处理起来也很笨拙。您可以将服务器配置为自动将生成的图像上传到 0x0.st-兼容的文件托管服务,并返回URL。

macOS/Linux

export UPLOAD_URL="https://0x0.st"
export UPLOAD_EXPIRATION="24"  # Hours until expiration (default: 1)
export UPLOAD_USER_AGENT="imago-mcp/1.0.0"  # Optional, defaults to imago-mcp/{version}

视窗

setx UPLOAD_URL "https://0x0.st"
setx UPLOAD_EXPIRATION "24"
setx UPLOAD_USER_AGENT "curl/8.5.0"

当 UPLOAD_URL 已设置:

  • 返回的图像为base64(b64_json)将上载到指定的服务
  • 响应将包含URL而不是base64数据
  • 以URL形式返回的图像将原封不动地传递

你可以使用公共https://0x0.st服务或托管您自己的实例。上传使用以下参数:

  • file:图像二进制
  • secret:空(生成更长、更难猜测的URL)
  • expires:小时数(从 UPLOAD_EXPIRATION 如果未设置,则为1)

用法

运行服务器

# macOS / Linux
./imago_mcp_server.rb

# Windows
ruby imago_mcp_server.rb

MCP客户端配置

将服务器添加到MCP客户端配置中。例如,在Claude Desktop的配置中:

macOS/Linux

{
  "mcpServers": {
    "imago": {
      "command": "/path/to/imago-mcp/imago_mcp_server.rb"
    }
  }
}

视窗

{
  "mcpServers": {
    "imago": {
      "command": "ruby",
      "args": ["C:\\path\\to\\imago-mcp\\imago_mcp_server.rb"]
    }
  }
}

可用工具

generate_image

从文本提示生成图像,可选地使用输入图像进行编辑。

参数:

  • provider (必填): openai, gemini,或 xai
  • prompt (必填):要生成的图像的文本描述
  • model:要使用的具体型号(可选)
  • n:要生成的图像数量(1-10)
  • size:图像大小(仅限OpenAI)
  • quality: standard 或 hd (仅限OpenAI)
  • aspect_ratio例如。, 16:9 (仅限双子座)
  • negative_prompt:排除条款(仅限Gemini)
  • seed:用于再现性(仅限Gemini)
  • response_format: url 或 b64_json (OpenAI/xAI)
  • images:用于编辑的输入图像数组(仅限OpenAI/Gemini)

图像输入格式:

这 images 参数接受一个数组,其中每个项可以是:

  1. URL字符串 (从扩展中自动检测到MIME类型):

    ["https://example.com/photo.jpg"]
    
  2. 具有显式MIME类型的URL:

    [{"url": "https://example.com/photo", "mime_type": "image/jpeg"}]
    
  3. Base64编码数据:

    [{"base64": "iVBORw0KGgo...", "mime_type": "image/png"}]
    
  4. 混合格式 在同一请求中得到支持。

提供商映像限制:

提供程序 映像支持 最大映像数
OpenAI 是(gpt图像-*,dall-e-2) 16
双子座 是 10
xAI 否 不适用

注意:DALL-E 3不支持图像输入。

list_models

列出提供程序的可用型号。

参数:

  • provider (必填): openai, gemini,或 xai

list_提供者

列出所有支持的提供商。无需参数。

发展

运行测试

bundle exec rspec

掉毛

bundle exec rubocop

要自动修复违规行为:

bundle exec rubocop -a

许可证

MIT许可证。看 许可证 了解详情。