MCP映像服务器
一个智能MCP(模型上下文协议)服务器,可以搜索图像、标记图像、将图像组合成合成图像,并使用谷歌的Gemini 2.0 Flash AI为您的查询选择最佳匹配。
特性
- 🔍 图像搜索:搜索多个来源(Unsplash、Pexels,并回退到Lorem Picsum)
- 🏷️ 智能标签:用黑色边框标记每个图像(1-20),以便于识别
- 🖼️ 图像合成:将所有图像合并到一个网格视图中
- 🤖 AI选择:使用谷歌的Gemini 2.0 Flash智能选择最匹配的图像
- 📦 Base64输出:以base64格式返回图像,便于集成
安装
- 克隆或下载此存储库
- 安装依赖项:
npm install- 复制环境模板:
copy .env.example .env- 编辑
.env并添加您的API密钥:
GOOGLE_AI_API_KEY=your_google_ai_api_key_here
UNSPLASH_ACCESS_KEY=your_unsplash_access_key_here
PEXELS_API_KEY=your_pexels_api_key_here获取API密钥
谷歌人工智能API密钥(人工智能选择必需)
- 首选 谷歌人工智能工作室
- 创建新的API密钥
- 将其添加到您的
.env文件为GOOGLE_AI_API_KEY
Unsplash API密钥(可选,但建议使用)
- 首选 Unsplash开发者
- 创建新应用程序
- 获取您的访问密钥
- 将其添加到您的
.env文件为UNSPLASH_ACCESS_KEY
Pexels API密钥(可选但推荐)
- 首选 Pexels API
- 创建一个免费帐户并获取您的API密钥
- 将其添加到您的
.env文件为PEXELS_API_KEY
用法
发展模式
npm run dev构建并运行
npm run build
npm start与Claude Desktop一起使用
将此服务器添加到您的Claude Desktop配置中:
{
"mcpServers": {
"mcp-image-server": {
"command": "node",
"args": ["C:/path/to/your/project/build/index.js"]
}
}
}可用工具
search_and_select_best_image
搜索与您的查询匹配的图像,并返回AI选择的最佳匹配。
参数:
query(string,必填):图像的搜索查询maxImages(数字,可选):要搜索的最大图像数(1-20,默认值:20)
Claude中的示例用法:
"Search for the best image of a sunset over mountains"运作原理
- 搜索:查询多个图像API(Unsplash、Pexels)以获取相关图像
- 下载:最多下载20张图片并将其大小调整为缩略图
- 标签:为每张图像添加带黑色边框的编号标签(1-20)
- 编排:将所有标记的图像合并到一个网格中
- AI分析:将合成内容与您的原始查询一起发送到谷歌的Gemini 2.0 Flash
- 选择:AI分析每个编号的图像并选择最佳匹配
- 返回:下载并返回所选图像为base64
错误处理
- 如果未提供API密钥,服务器将使用Lorem Picsum中的占位符图像
- 如果谷歌人工智能API不可用,它将使用后退选择算法
- 失败的图像下载将替换为占位符图像
- 所有错误都会记录到stderr进行调试
项目结构
src/
├── index.ts # Main MCP server entry point
└── services/
├── ImageSearchService.ts # Handles image search from various APIs
├── ImageProcessingService.ts # Processes and combines images
└── AISelectionService.ts # Uses Google AI for selection发展
npm run dev-在开发模式下自动重启运行npm run build-将TypeScript构建为JavaScriptnpm run clean-清理构建目录
许可证
MIT许可证
贡献
请随时提交问题和增强请求!
