Gemini AI MCP服务器
一个全面的模型上下文协议(MCP)服务器,集成了谷歌的Gemini AI功能,用于图像生成、视频创建、文本处理和图像分析。专为smithery.ai部署而构建,完全支持TypeScript。
🚀 特性
🎨 图像生成
- 纳米香蕉模型 (Gemini 2.5 Flash图像)-快速高效的图像生成
- 图3/4型号 -高保真、逼真的图像创作
- 多种样式 -自然、艺术、逼真、卡通、动漫
- 灵活的纵横比 - 1:1, 16:9, 4:3, 3:2, 2:3, 3:4, 9:16, 21:9
- 批处理 -同时生成多个图像
- 图像编辑 -使用文本提示编辑现有图像
🎬 视频生成
- VEO 3.1模型 -最先进的视频生成
- 高质量输出 -720p和1080p分辨率选项
- 灵活的持续时间 -4-8秒视频
- 多种样式 -自然、电影、艺术、动画
- 图像转视频 -将静态图像转换为动态视频
- 摄像机移动 -静态、平移、缩放、倾斜、跟踪
- 批量视频生成 -高效地创建多个视频
📝 文本处理
- 双子座2.5闪光灯 -用于文本生成的高级语言模型
- 可定制参数 -温度、最大令牌、top-p、top-k
- 多个用例 -创意写作、分析、总结
- 图像分析 -具有OCR的计算机视觉功能
- 批次分析 -同时处理多个图像
🗃️ 媒体管理
- 参考图像上传 -上传并注册图像以备将来使用
- 媒体库 -列出并管理所有生成的内容
- 下载管理 -下载单个或批量媒体文件
- 有序存储 -对媒体项目进行分类和标记
- 元数据支持 -丰富的元数据,便于更好地组织
🛠️ 安装
先决条件
- Node.js 18+
- npm或纱线
- Google Gemini API密钥
快速设置
- 克隆或下载项目
cd gemini-mcp-server- 安装依赖项
npm install- 设置API密钥
export GEMINI_API_KEY="your-gemini-api-key-here"- 构建项目
npm run build- 启动服务器
./run.sh🔧 部署到smithery.ai
方法1:直接部署
- 上传到smithery.ai
- 将项目目录上传到smithery.ai - 平台将自动检测 mcp-server.json 配置 - 设置 GEMINI_API_KEY smithery.ai中的环境变量
- 测试部署
- 使用smithery.ai的测试界面 - 验证所有工具是否可用且功能正常
方法2:本地测试
- 设置环境变量
export GEMINI_API_KEY="your-api-key"
export LOG_LEVEL=debug- 在本地运行
./run.sh📋 可用工具
图像生成工具
generate_image_nano_banana
使用Nano Banana模型生成图像,以获得快速、高效的结果。
{
"prompt": "A serene mountain landscape at sunset",
"style": "natural",
"aspectRatio": "16:9",
"quality": "standard"
}generate_image_imagen
使用Imagen 3/4模型创建高质量图像。
{
"prompt": "A photorealistic portrait of a person reading a book",
"model": "imagen4",
"style": "photorealistic",
"quality": "high"
}batch_generate_images
在一个请求中生成多个图像。
{
"model": "nano-banana",
"items": [
{
"prompt": "A red apple on a white background",
"style": "photorealistic"
},
{
"prompt": "A green apple on a white background",
"style": "photorealistic"
}
]
}edit_image_with_prompt
使用AI编辑现有图像。
{
"imageUrl": "https://example.com/image.jpg",
"editType": "modify",
"prompt": "Change the background to a beach setting"
}视频生成工具
generate_video_veo
使用Veo 3.1生成视频。
{
"prompt": "A cat playing in a sunny garden",
"duration": 8,
"resolution": "1080p",
"style": "natural"
}image_to_video
将图像转换为视频。
{
"imageUrl": "https://example.com/portrait.jpg",
"prompt": "The person turns their head slightly to the left",
"cameraMovement": "pan",
"duration": 6
}batch_generate_videos
高效地生成多个视频。
{
"items": [
{
"prompt": "Ocean waves on a beach",
"style": "cinematic"
},
{
"prompt": "Forest with falling leaves",
"style": "artistic"
}
]
}媒体管理工具
upload_reference_image
上传图片以备后用。
{
"imageUrl": "https://example.com/style-image.jpg",
"title": "Art Style Reference",
"description": "Impressionist art style for reference",
"category": "art"
}list_generated_media
浏览您的媒体库。
{
"limit": 10,
"offset": 0
}download_media
下载生成的内容。
{
"mediaId": "gemini_12345_example"
}delete_media
删除媒体文件。
{
"mediaId": "gemini_12345_example",
"confirmDelete": true
}文本处理工具
generate_text
生成文本内容。
{
"prompt": "Write a creative story about AI and creativity",
"model": "gemini-2.5-flash",
"temperature": 0.8,
"maxTokens": 1000
}analyze_image
分析图像内容。
{
"imageUrl": "https://example.com/photo.jpg",
"analysisType": "analyze",
"prompt": "Identify the main objects and describe the scene"
}batch_analyze_images
分析多个图像。
{
"imageUrls": [
"https://example.com/img1.jpg",
"https://example.com/img2.jpg"
],
"analysisType": "describe",
"comparisonMode": true
}🏗️ 建筑
项目结构
gemini-mcp-server/
├── src/
│ ├── index.ts # Main server implementation
│ ├── constants.ts # Configuration and schemas
│ ├── gemini-client.ts # Gemini API integration
│ ├── logger.ts # Logging utilities
│ └── tools/ # Tool implementations
│ ├── index.ts # Tool registry
│ ├── registry.ts # Tool registration logic
│ ├── image-generation.ts # Image tools
│ ├── video-generation.ts # Video tools
│ ├── media-management.ts # Media tools
│ └── text-processing.ts # Text tools
├── dist/ # Compiled JavaScript
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── run.sh # Startup script
├── mcp-server.json # Smithery.ai configuration
└── README.md # This file关键组件
- 双子座API客户端 -处理与谷歌Gemini API的所有通信
- 工具注册表 -集中工具注册和执行
- 进度跟踪 -长时间运行操作的实时更新
- 错误处理 -全面的错误管理和报告
- 媒体管理 -生成内容的存储和组织
🔐 环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
GEMINI_API_KEY | 是 | 您的Google Gemini API密钥 |
LOG_LEVEL | 否 | 日志记录级别(调试、信息、警告、错误) |
NODE_ENV | 否 | 环境(开发、生产) |
🧪 测试
手动测试
- 启动服务器:
./run.sh - 使用任何兼容MCP的客户端进行连接
- 使用各种参数测试单个工具
- 验证错误处理和边缘情况
API健康检查
该服务器包含一个内置的健康检查,用于验证Gemini API连接。
🛡️ 安全考虑
- API密钥从未被永久记录或存储
- 所有用户输入都使用Zod模式进行验证
- 网络请求具有超时和重试机制
- 错误消息不会暴露敏感信息
📝 使用的API模型
图像生成
gemini-2.5-flash-image-用于快速生成的纳米香蕉模型imagen-3.0-generate-002-Imagen 3,高品质imagen-4.0-generate-preview-06-06-图像4,质量最佳
视频生成
veo-3.1-generate-Veo 3.1用于标准视频生成veo-3.1-fast-generate-Veo 3.1快速获得更快的结果
文本生成
gemini-2.5-flash-最新Gemini 2.5 Flash型号gemini-2.0-flash-exp-实验双子2.0闪光灯
🤝 贡献
此MCP服务器设计为可扩展的。要添加新工具,请执行以下操作:
- 在中创建新的工具文件
src/tools/ - 使用工具
UnifiedTool接口 - 使用注册工具
registerTool() - 添加全面的文档和示例
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件。
🔗 资源
🆘 支持
对于问题、疑问或贡献:
- 检查上述文件
- 查看工具示例
- 不同参数测试
- 验证您的API密钥是否具有适当的权限
______________________________________________________________________
*内置❤️ 为MCP社区和smithery.ai*
