项目简介
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包发布,可以通过多种方式安装。以下是推荐的两种方法:
-
使用 'uv' (推荐)
- 确保您的系统中已安装 'uv' (可从 'https://docs.astral.sh/uv/' 获取安装指南)。
- 'uvx' 命令会自动下载并运行服务器,无需预先安装。
-
使用 '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