项目简介

Serper MCP 服务器是一个实现了 Model Context Protocol (MCP) 的应用程序后端。它作为一个桥梁,让您的LLM(如Claude Desktop)能够方便地调用Serper API,从而获取最新的谷歌搜索结果(包括网页、图片、视频、新闻、购物等)和进行网页内容抓取。这极大地增强了LLM获取实时外部信息的能力。

主要功能点

  • 谷歌搜索工具集: 提供多种细粒度的谷歌搜索功能,包括:
    • 通用网页搜索 ('google_search')
    • 图片搜索 ('google_search_images')
    • 视频搜索 ('google_search_videos')
    • 新闻搜索 ('google_search_news')
    • 购物搜索 ('google_search_shopping')
    • 地点/地图搜索 ('google_search_places', 'google_search_maps', 'google_search_reviews')
    • 学术搜索 ('google_search_scholar')
    • 图像搜索 ('google_search_lens')
    • 其他辅助搜索 ('google_search_parents', 'google_search_autocomplete')
  • 网页抓取工具: 允许LLM通过指定URL抓取网页内容 ('webpage_scrape')。
  • 标准化接口: 遵循MCP协议,通过JSON-RPC与兼容的LLM客户端进行通信,确保稳定可靠的数据和服务提供。

安装步骤

该服务器作为Python包发布,可以通过多种方式安装。以下是推荐的两种方法:

  1. 使用 'uv' (推荐)

    • 确保您的系统中已安装 'uv' (可从 'https://docs.astral.sh/uv/' 获取安装指南)。
    • 'uvx' 命令会自动下载并运行服务器,无需预先安装。
  2. 使用 'pip' 安装

    • 确保您的系统中已安装 'pip' 或 'pip3'。
    • 运行以下命令全局安装服务器包:
      pip install serper-mcp-server
      # 或
      pip3 install serper-mcp-server
    • 您也可以将其添加到项目的 'requirements.txt' 中并安装。

服务器配置(用于MCP客户端)

要让您的MCP客户端(如Claude Desktop)使用此服务器,您需要在客户端的配置文件(通常是一个JSON文件,如 'claude_desktop_config.json')中添加对该服务器的配置。

配置通常位于 'mcpServers' 部分下,为一个JSON对象。您需要为Serper服务器定义一个唯一的名称(例如 'serper'),并指定如何启动它:

  • 'command': 启动服务器的可执行命令。
    • 如果使用 'uvx',通常是 '"uvx"'。
    • 如果使用 'pip' 全局安装,通常是 '"python3"' 或 '"python"'。
  • 'args': 传递给命令的参数列表。
    • 如果 'command' 是 '"uvx"','args' 通常是 '["serper-mcp-server"]'。
    • 如果 'command' 是 '"python3"','args' 通常是 '["-m", "serper_mcp_server"]' 或 '["serper-mcp-server"]' (取决于安装方式和系统配置)。
  • 'env': 传递给服务器进程的环境变量。这是必须的,您需要在此处设置您的Serper API Key。
    • 添加一个键值对:'"SERPER_API_KEY": "您的Serper API Key"'。请替换 '"您的Serper API Key"' 为您从Serper获取的实际API Key。

请注意: MCP客户端根据这些信息来启动和管理Serper MCP服务器进程,并通过标准输入/输出或配置的其他协议与其通信。具体的配置格式请参考您所使用的MCP客户端的文档。

基本使用方法

配置完成后,当LLM客户端需要访问外部信息时,它可以根据服务器声明的能力(例如 'google_search' 工具)向服务器发起工具调用请求。

例如,如果LLM需要搜索最新的信息,它会调用 'google_search' 工具,并将查询内容作为参数(如 '{"q": "今天的AI新闻"}')发送给Serper MCP服务器。服务器接收请求后,会调用Serper API执行搜索,并将获取到的搜索结果(通常是JSON格式的数据)通过MCP协议返回给LLM客户端。LLM客户端会处理这些结果,并将其用于生成回复或执行后续任务。

网页抓取工具 ('webpage_scrape') 的使用类似,LLM会提供一个URL作为参数,服务器抓取内容后返回。

整个过程对用户来说是透明的,用户只需通过与LLM自然交互的方式提出需求即可触发这些工具的使用(如果LLM客户端和模型支持的话)。

信息

分类

网页与API