N8N Gemini MCP服务器
MCP服务器,用于将Claude Desktop与N8N和Google Imagen API集成以生成图像
🚀 建筑
Claude Desktop → MCP Server → N8N Webhook → Google Imagen API → Generated Image该项目提供了一个模型上下文协议(MCP)服务器,允许Claude Desktop通过以下方式生成图像:
- 接受base64编码的图像和文本提示
- 向N8N工作流发送请求
- 通过Google Cloud的Imagen API处理图像
- 返回生成的图像
✨ 特性
- 🖼️ 图像到图像生成:使用AI转换现有图像
- 💬 自然语言提示:使用描述性文本来指导生成
- 🔄 稳健的错误处理:全面的验证和错误响应
- 🛡️ 安全:输入验证和安全的API处理
- 📊 结构化响应:使用元数据清理JSON响应
📋 先决条件
- Node.js 18+
- N8N实例(本地或云)
- 启用Vertex AI API的Google云平台帐户
- 克劳德桌面
🛠️ 安装
1.克隆存储库
git clone https://github.com/Joseph19820124/n8n-gemini-mcp-server.git
cd n8n-gemini-mcp-server2.安装依赖项
npm install3.配置环境
cp .env.example .env
# Edit .env with your N8N webhook URL4.设置谷歌云
- 在Google云控制台中启用Vertex AI API
- 创建服务帐户并下载JSON凭据
- 记下您的项目ID
5.导入N8N工作流
- 打开N8N实例
- 导入
n8n-workflow.json文件 - 在N8N中配置Google Cloud凭据
- 更新HTTP请求节点中的PROJECT_ID
6.配置克劳德桌面
将配置添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"n8n-gemini-image": {
"command": "node",
"args": ["/path/to/n8n-gemini-mcp-server/server.js"],
"env": {
"N8N_WEBHOOK_URL": "https://your-n8n-instance.com/webhook/gemini-image-gen"
}
}
}
}🚀 用法
- 启动MCP服务器
npm start- 测试N8N Webhook
curl -X POST https://your-n8n-instance.com/webhook/gemini-image-gen \
-H "Content-Type: application/json" \
-d '{
"image_base64": "your-base64-encoded-image",
"prompt": "Make this image more colorful and vibrant"
}'- 在Claude桌面中使用
- 上传图片 - 请克劳德修改一下:“请让这张照片看起来像水彩画” - Claude将使用MCP服务器生成结果
📁 项目结构
n8n-gemini-mcp-server/
├── server.js # Main MCP server implementation
├── package.json # Node.js project configuration
├── n8n-workflow.json # N8N workflow configuration
├── claude-desktop-config.json # Example Claude Desktop config
├── .env.example # Environment variables template
├── .gitignore # Git ignore rules
└── README.md # This file🔧 配置选项
环境变量
N8N_WEBHOOK_URL:您的N8N webhook端点URLPORT:服务器端口(默认:stdio)DEBUG:启用调试日志记录
N8N工作流参数
您可以在N8N工作流中自定义图像生成:
{
"parameters": {
"aspectRatio": "1:1", // Image aspect ratio
"mode": "image-to-image", // Generation mode
"sampleCount": 1, // Number of images to generate
"safetyFilterLevel": "block_some" // Content filtering
}
}🐛 故障排除
常见问题
MCP服务器无法连接
- 验证Node.js版本>=18
- 检查N8N_WEBHOOK_URL是否正确
- 确保N8N实例可访问
图像生成失败
- 确认Google Cloud Vertex AI API已启用
- 检查服务帐户权限
- 验证项目账单是否处于活动状态
- 确保图像正确进行base64编码
N8N工作流错误
- 检查工作流中的webhook URL
- 在N8N中验证Google Cloud凭据
- 在N8N UI中查看执行日志
调试模式
DEBUG=true npm start🔒 安全考虑
- 安全地存储Google Cloud凭据
- 在生产环境中为N8N webhooks使用HTTPS
- 为API调用实现速率限制
- 启用适当的内容过滤
- 验证所有输入参数
🚀 高级用法
支持多种图像服务
您可以扩展服务器以支持多种图像生成服务:
- 在中添加新工具
server.js - 创建相应的N8N工作流
- 根据服务类型路由请求
批处理
扩展MCP服务器以批量生成映像:
// Add to tools array
{
name: 'generate_images_batch',
description: 'Generate multiple images from prompts',
inputSchema: {
type: 'object',
properties: {
prompts: {
type: 'array',
items: { type: 'string' }
}
}
}
}📈 性能优化
- 使用CDN缓存生成的图像
- 对大型请求实施异步处理
- 添加API失败的重试机制
- 监控API的使用情况和成本
- 使用图像压缩实现更快的传输
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🙏 致谢
📞 支持
如果您遇到问题:
- 检查故障排除部分
- 查看N8N执行日志
- 启用调试模式以进行详细日志记录
- 在GitHub上创建一个包含日志和配置详细信息的问题
______________________________________________________________________
图像生成快乐! 🎨
