使用说明
Gemini映像MCP服务器
功能强大的MCP服务器,用于使用Google的Gemini API进行图像分析、生成和编辑
✨ 特性
- 🖼️ 图像分析 -使用Gemini 2.5 Flash分析URL或本地文件中的图像
- 🎨 图像生成 -根据文本提示生成高质量图像
- ✏️ 图像编辑 -使用自然语言指令编辑现有图像
- 🔍 自定义提示 -根据具体分析需求使用系统和用户提示
- 🚀 高性能 -采用Rust构建,速度和可靠性高
- 🛡️ 稳健的错误处理 -全面的错误处理和验证
- 📡 MCP协议 -与MCP兼容客户端无缝集成
- 🌐 多格式支持 -JPEG、PNG、GIF、WebP等
🚀 快速开始
使用npx(推荐)
npx @ikamman/gemini-image-mcp --gemini-api-key "your-api-key"
全球安装
npm install -g @ikamman/gemini-image-mcp
gemini-image-mcp --help
📦 安装
先决条件
- Gemini API密钥: 在这里买一个
- Node.js:14+(用于npm安装)
- 锈:1.70+(用于从源代码构建)
选项1:通过npm安装(使用cargo dist自动安装)
npm install -g @ikamman/gemini-image-mcp
选项2:从源代码构建
git clone https://github.com/ikamman/gemini-image-mcp.git
cd gemini-image-mcp
cargo build --release
🔧 配置
使用以下方法之一设置Gemini API密钥:
环境变量
export GEMINI_API_KEY="your-api-key-here"
命令行参数
gemini-image-mcp --gemini-api-key "your-api-key"
使用.env文件
echo "GEMINI_API_KEY=your-api-key-here" > .env
📖 用法
作为MCP服务器
服务器通过stdio上的JSON-RPC进行通信:
gemini-image-mcp
与Claude Desktop集成
使用npx(无需安装)
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"gemini-image-mcp": {
"command": "npx",
"args": ["@ikamman/gemini-image-mcp"],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}
使用全局安装
首次全局安装:
npm install -g @ikamman/gemini-image-mcp
然后添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"gemini-image-mcp": {
"command": "gemini-image-mcp",
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}
替代方案:使用完整路径
为了提高可靠性,您可以使用完整的npx路径:
{
"mcpServers": {
"gemini-image-mcp": {
"command": "/usr/local/bin/npx",
"args": ["@ikamman/gemini-image-mcp"],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}
手动测试
# Test image analysis
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"analyze_image","arguments":{"image_source":"https://example.com/image.jpg","user_prompt":"What do you see?"}}}' | gemini-image-mcp
# Test image generation
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"generate_image","arguments":{"user_prompt":"A sunset over mountains","output_path":"./sunset.png"}}}' | gemini-image-mcp
🔗 api参考
🔍 analyze_image
使用谷歌的Gemini API分析图像。
参数:
image_source(必需)-图像URL或本地文件路径system_prompt(可选)-分析系统说明user_prompt(可选)-分析问题(默认:“为这张图片添加标题。”)
例子:
{
"image_source": "https://example.com/photo.jpg",
"system_prompt": "You are a professional photographer.",
"user_prompt": "Analyze the composition and lighting of this image."
}
🎨 generate_image
根据文本描述生成图像。
参数:
user_prompt(必填)-要生成的图像的描述output_path(必填)-图像应保存的路径system_prompt(可选)-附加生成指南
例子:
{
"user_prompt": "A cyberpunk cityscape at night with neon lights",
"output_path": "./generated_city.png",
"system_prompt": "Create a high-quality, detailed image."
}
✏️ edit_image
使用自然语言指令编辑现有图像。
参数:
image_source(必需)-源图像URL或文件路径user_prompt(必填)-编辑说明output_path(必填)-编辑图像的路径system_prompt(可选)-其他编辑指南
例子:
{
"image_source": "./my_photo.jpg",
"user_prompt": "Add a vintage filter and increase the warmth",
"output_path": "./edited_photo.jpg"
}
💡 例子
图像分析示例
# Analyze a webpage screenshot
gemini-image-mcp analyze "https://example.com/screenshot.png" "What UI elements do you see?"
# Analyze a local photo
gemini-image-mcp analyze "./vacation.jpg" "Describe the location and activities"
# Technical analysis
gemini-image-mcp analyze "./chart.png" "Extract the key data points and trends"
图像生成示例
# Generate artwork
gemini-image-mcp generate "Abstract watercolor painting of a forest" "./forest.png"
# Generate technical diagrams
gemini-image-mcp generate "Network architecture diagram showing microservices" "./diagram.png"
# Generate marketing assets
gemini-image-mcp generate "Modern logo for a tech startup, minimalist design" "./logo.png"
图像编辑示例
# Basic editing
gemini-image-mcp edit "./portrait.jpg" "Remove the background" "./portrait_nobg.png"
# Style changes
gemini-image-mcp edit "./photo.jpg" "Convert to black and white with high contrast" "./photo_bw.jpg"
# Object manipulation
gemini-image-mcp edit "./room.jpg" "Add a plant in the corner" "./room_with_plant.jpg"
🏗️ 支持的图像格式
| 格式 | 扩展 | 分析 | 生成 | 编辑 |
|---|---|---|---|---|
| JPEG | .jpg, .jpeg |
✅ | ✅ | ✅ |
| PNG | .png |
✅ | ✅ | ✅ |
| GIF | .gif |
✅ | ❌ | ✅ |
| WebP | .webp |
✅ | ❌ | ✅ |
⚡ 性能和限制
- 图像大小:每张图像高达20MB
- 并发请求:通过异步Rust运行时处理
- 速率限制:遵循Gemini API费率限制
- 响应时间:通常为2-10秒,具体取决于图像大小和复杂性
🛠️ 发展
从源头构建
git clone https://github.com/your-username/gemini-image-mcp.git
cd gemini-image-mcp
cargo build --release
运行测试
cargo test
使用样本图像进行测试
cargo test -- --nocapture
项目结构
gemini-image-mcp/
├── src/
│ ├── main.rs # Application entry point
│ ├── jsonrpc.rs # JSON-RPC handler
│ ├── gemini_client.rs # Gemini API client
│ ├── image_service.rs # Image processing service
│ ├── validation.rs # Input validation
│ └── error.rs # Error handling
├── test/ # Sample images for testing
├── Cargo.toml # Rust dependencies & cargo-dist config
└── .github/workflows/ # Automated CI/CD with cargo-dist
🤝 贡献
我们欢迎捐款!请查看我们的 贡献指南 了解详情。
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🆘 故障排除
常见问题
❌ “缺少GEMINI_API_KEY”
export GEMINI_API_KEY="your-api-key-here"
❌ URL的“找不到图像”
- 确保URL可公开访问
- 检查您的互联网连接
- 验证是否支持图像格式
❌ 安装npm后“找不到二进制文件”
- 尝试重新安装:
npm uninstall -g @ikamman/gemini-image-mcp && npm install -g @ikamman/gemini-image-mcp - 二进制文件由货物分配系统自动管理
❌ 速率限制错误
- 请稍候,然后重试
- 考虑在客户机中实现指数回退
获取帮助
🙏 致谢
- 模型上下文协议 -卓越的MCP标准
- 谷歌双子座 -强大的人工智能能力
- Rust MCP SDK -对于Rust实现
由以下材料制成❤️ 使用Rust和Google Gemini