Garblesnarff
服务介绍
Gemini MCP 服务器用于 Claude 桌面版
一个模型上下文协议(MCP)服务器,使 Claude 桌面版能够使用 Google 的 Gemini AI 模型生成图像。
🌟 特性
- 直接从 Claude 桌面版使用 Google 的 Gemini 模型生成图像
- 简单的设置向导进行配置
- 可自定义的图像生成参数
- 与 Claude 桌面版的 MCP 服务器系统集成
- 详细的日志记录和调试功能
- 支持 Docker 以便于部署和共享
📋 要求
- Node.js 16.x 或更高版本
- Claude 桌面应用程序
- Google Gemini API 密钥 (在这里获取)
- Docker(可选,用于容器化部署)
🚀 安装
全局安装(推荐)
bash
npm install -g gemini-mcp-server
运行设置向导
npx gemini-mcp-setup
本地安装
bash
创建服务器目录
mkdir gemini-mcp-server
cd gemini-mcp-server
本地安装
npm install gemini-mcp-server
运行设置向导
npx gemini-mcp-setup
Docker 安装
您也可以使用 Docker 运行 Gemini MCP 服务器:
bash
构建 Docker 镜像
docker build -t gemini-mcp-server .
运行 Docker 容器
docker run -e GEMINI_API_KEY="your-api-key" -e OUTPUT_DIR="/app/output" -v /path/on/host:/app/output gemini-mcp-server
⚙️ 设置
设置向导将引导您完成配置过程:
- 输入您的 Google Gemini API 密钥
- 指定保存生成图像的目录
- 配置日志记录和模型设置
- 自动为 Claude 桌面版创建包装脚本
- 更新您的 Claude 桌面版配置
如果您更喜欢手动设置,请参阅下面的 手动配置 部分。
🎨 使用 Gemini MCP 服务器
安装并配置完成后,重新启动 Claude 桌面版以启用 Gemini MCP 服务器。然后:
- 开始与 Claude 的对话
- 请求 Claude 为您生成一张图像,例如:
- "生成一张夕阳下的山景图片"
- "创建一幅有飞行汽车的未来城市图片"
- "制作一幅猫弹钢琴的插图"
Claude 将调用 Gemini API 生成图像,并为您提供保存的图像文件路径。
高级选项
您可以使用附加参数来自定义图像生成:
- 风格:指定一种风格,如“写实”、“艺术”、“极简主义”等。
- 温度:控制生成的创意/随机性 (0.0-1.0)
示例:"Generate an image of a cyberpunk city with neon lights in a realistic style with temperature 0.7"
🔧 手动配置
如果您不想使用设置向导,请按照以下步骤操作:
1. 创建配置文件
创建一个包含您的设置的 JSON 配置文件:
json
{
"apiKey": "YOUR_GEMINI_API_KEY_HERE",
"outputDir": "/path/to/your/output/directory",
"debug": true,
"modelOptions": {
"model": "gemini-2.0-flash-exp",
"temperature": 0.4
}
}
2. 创建包装脚本
创建一个 bash 脚本来运行服务器:
bash
#!/bin/bash
设置环境变量
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY_HERE"
export OUTPUT_DIR="/path/to/your/output/directory"
export DEBUG="true"
执行服务器
exec "$(which node)" "$(npm root -g)/gemini-mcp-server/bin/gemini-mcp-server.js"
使脚本可执行:
bash
chmod +x gemini-mcp-wrapper.sh
3. 更新 Claude 桌面版配置
编辑您的 ~/.config/claude/claude_desktop_config.json 文件以添加 Gemini MCP 服务器:
json
{
"mcpServers": {
"gemini-image": {
"command": "/bin/bash",
"args": [
"-c",
"/path/to/your/gemini-mcp-wrapper.sh"
],
"env": {
"GEMINI_API_KEY": "YOUR_GEMINI_API_KEY_HERE",
"DEBUG": "true"
}
}
}
}
🐳 Docker 部署
此 MCP 服务器包括一个 Dockerfile 以便于部署和共享。Docker 镜像已配置为:- 使用 Node.js 16 Alpine 作为轻量级基础
- 安装所有必要的依赖项
- 设置默认输出目录为
/app/output - 允许通过环境变量进行配置
构建 Docker 镜像
bash
docker build -t gemini-mcp-server .
使用 Docker 运行
bash
docker run
-e GEMINI_API_KEY="your-api-key"
-e OUTPUT_DIR="/app/output"
-e DEBUG="false"
-v /path/on/host:/app/output
gemini-mcp-server
Docker 的环境变量
在运行 Docker 容器时,可以使用以下环境变量来配置服务器:
GEMINI_API_KEY: 您的 Google Gemini API 密钥(必需)OUTPUT_DIR: 保存生成图像的目录(默认:/app/output)DEBUG: 启用调试日志(默认:false)
与 Claude Desktop 一起使用
当使用 Docker 容器与 Claude Desktop 时,您需要:
- 确保容器正在运行
- 配置 Claude Desktop 以连接到容器化的服务器
- 将输出目录映射到 Claude 可访问的位置
📚 API 文档
命令行界面
gemini-mcp-server [options]
选项:
-k, --api-key <key>: Google Gemini API 密钥-o, --output-dir <dir>: 保存生成图像的目录-d, --debug: 启用调试日志-c, --config <path>: 自定义配置文件路径-r, --reset-config: 重置配置为默认值-v, --version: 显示版本信息
环境变量
GEMINI_API_KEY: 您的 Google Gemini API 密钥OUTPUT_DIR: 保存生成图像的目录DEBUG: 启用调试日志 (true或false)LOG_LEVEL: 设置日志级别 (ERROR,WARN,INFO, 或DEBUG)GEMINI_LOG_FILE: 自定义日志文件路径
配置选项
| 选项 | 描述 | 默认值 |
|---|---|---|
apiKey |
Google Gemini API 密钥 | (必需) |
outputDir |
保存生成图像的目录 | ~/Claude/gemini-images |
debug |
启用调试日志 | false |
modelOptions.model |
要使用的 Gemini 模型 | gemini-2.0-flash-exp |
modelOptions.temperature |
控制创造力/随机性 | 0.4 |
modelOptions.topK |
Top-k 采样参数 | 32 |
modelOptions.topP |
Top-p 采样参数 | 1 |
modelOptions.maxOutputTokens |
最大输出令牌数 | 8192 |
🔍 故障排除
常见问题
服务器无法启动或 Claude 无法连接到它
- 检查日志文件
~/Claude/logs/gemini-image-mcp.log - 确认您的 API 密钥正确
- 确保所有目录存在并具有适当的权限
- 重启 Claude Desktop
图像未生成
- 确认您的 Google Gemini API 密钥具有正确的权限
- 检查输出目录是否存在且可写
- 查看日志中的具体错误消息
- 尝试不同的提示或模型
错误:“方法未找到”
这通常意味着 Claude 正在尝试调用 MCP 服务器不支持的方法。检查日志以查看请求了什么方法。
Docker 特定的问题
- 确保容器具有适当的网络连接
- 检查卷挂载是否正确配置
- 确认环境变量已正确设置
- 使用
docker logs [container-id]查看容器日志
调试模式
启用调试模式以获取更详细的日志:
bash
npx gemini-mcp-server --debug
或者设置环境变量:
bash
export DEBUG=true
npx gemini-mcp-server
📝 许可证
MIT
🙏 致谢
- Model Context Protocol 提供了 MCP 规范
- Google Generative AI 提供了 Gemini API
- 所有对本项目的贡献者