图像搜索工具

一个基于Python的MCP服务器,提供使用Google Image Search搜索、下载和分析图像的工具。

  • by maldalur
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 maldalur/google_image_search_mcp_python

使用说明

谷歌图片搜索MCP

基于Python的MCP(模型上下文协议)服务器,提供使用Google图像搜索搜索、下载和分析图像的工具。

特性

  • 使用Google Image Search API搜索图像
  • 将图像下载到本地存储
  • 根据自定义条件分析图像搜索结果
  • 计算图像的相关性得分
  • 根据图像质量和相关性提供建议

安装

  1. 克隆存储库
  2. 安装 紫外线 (如果需要,只需一次)
  3. 创建虚拟环境: (仅一次)
    uv venv
    
  4. 激活虚拟环境:

Linux/macOS:

source .venv/bin/activate

窗户:

.venv\Scripts\activate
  1. 安装依赖项:

Linux/macOS:

uv pip install -r requirements.txt

窗户:

uv pip install -r requirements.txt
  1. 创建一个 .env 使用SerpAPI密钥的文件: (在此处获取密钥:https://serpapi.com/dashboard)
    SERP_API_KEY=your_api_key_here
    

用法

您可以运行服务器:

uv run main.py

或使用检查器测试MCP服务器:

npx @modelcontextprotocol/inspector uv run main.py

运行服务器:

uv run main.py

在VSCode中,将此MCP服务器配置添加到您的 mcp-servers.json 文件:

{
  "servers": {
    "search-images": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Users\\YOURUSERNAME\\google-image-search-mcp-python",
        "run",
        "main.py"
      ]
    }
  }
}

服务器提供以下工具:

  1. search_images_tool:使用谷歌图片搜索搜索图片

    • 参数:
      • query:查找图像的搜索查询
      • limit:要返回的最大结果数(默认值:10)
  2. download_image_tool:将图像下载到本地目录

    • 参数:
      • image_url:要下载的图像的URL
      • output_path:应保存图像的目录路径
      • filename:下载映像的文件名(包括扩展名)
  3. analyze_images_tool:分析图像搜索结果以找到最相关的结果

    • 参数:
      • search_results:要分析的图像搜索结果数组
      • criteria:选择最佳图像的标准(例如,“专业”、“丰富多彩”等)

例子

提示:

使用你的搜索图片工具搜索5张关于“可爱的猫”的图片,分析它们并下载其中最好的3张。/gatitos/

代码

# Search for images
results = await search_images_tool("cute puppies", limit=5)

# Download an image
saved_path = await download_image_tool(
    image_url="https://example.com/image.jpg",
    output_path="./images",
    filename="puppy.jpg"
)

# Analyze search results
analysis = await analyze_images_tool(
    search_results=results,
    criteria="high quality professional"
)

错误处理

当出现问题时,这些工具会提供详细的错误消息。所有错误都会记录到stderr中,并以结构化格式返回,其中包含 isError 旗帜。

依赖项

  • mcp服务器:用于mcp服务器功能
  • python dotenv:用于环境变量管理
  • aiohttp:用于异步HTTP请求