Imago MCP服务器
MCP(模型上下文协议)服务器,通过 意象 宝石。
特性
- 使用OpenAI(DALL-E)、Google Gemini(Imagen)或xAI(Grok)生成图像
- 使用输入图像编辑图像(仅限OpenAI和Gemini)
- 列出每个提供商的可用型号
- 跨所有提供商的统一接口
- stdio传输,便于与MCP客户端集成
需求
- Ruby 3.0或更高版本
- 这
imago宝石
安装
macOS
- 安装Ruby(如果尚未安装):
brew install ruby- 克隆此存储库:
git clone https://github.com/theStranjer/imago-mcp.git
cd imago-mcp- 安装依赖项:
bundle install- 使服务器可执行:
chmod +x imago_mcp_server.rbLinux
- 安装Ruby(如果尚未安装):
# Debian/Ubuntu
sudo apt-get install ruby ruby-dev
# Fedora
sudo dnf install ruby ruby-devel
# Arch
sudo pacman -S ruby- 克隆此存储库:
git clone https://github.com/theStranjer/imago-mcp.git
cd imago-mcp- 安装依赖项:
bundle install- 使服务器可执行:
chmod +x imago_mcp_server.rb视窗
- 使用安装Ruby RubyInstaller.下载并运行安装程序,选择将Ruby添加到PATH的选项。
- 克隆此存储库:
git clone https://github.com/theStranjer/imago-mcp.git
cd imago-mcp- 安装依赖项:
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.rbMCP客户端配置
将服务器添加到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,或xaiprompt(必填):要生成的图像的文本描述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 参数接受一个数组,其中每个项可以是:
- URL字符串 (从扩展中自动检测到MIME类型):
["https://example.com/photo.jpg"]- 具有显式MIME类型的URL:
[{"url": "https://example.com/photo", "mime_type": "image/jpeg"}]- Base64编码数据:
[{"base64": "iVBORw0KGgo...", "mime_type": "image/png"}]- 混合格式 在同一请求中得到支持。
提供商映像限制:
| 提供程序 | 映像支持 | 最大映像数 |
|---|---|---|
| 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许可证。看 许可证 了解详情。
