Back to MCP directory
publicPublicdnsLocal runtime

serp-mcp

SERP MCP Server是一个基于Model Context Protocol的谷歌搜索结果爬虫服务器,支持指纹轮换、地理位置编码和精简模式,可自动提取有机结果、相关搜索等数据。

article

README

🚀 SERP MCP Server

Google SERP抓取器,作为具有指纹轮换功能的模型上下文协议(MCP)服务器,能有效提升数据抓取的效率与安全性。

PyPI version Python versions CI


🌟 赞助方

Quercle - 停止在无用信息上浪费令牌。精准获取大语言模型所需内容。
网页抓取与搜索API,可去除导航栏、广告和页脚。支持处理JS网站,返回干净、有引用的内容。

✨ 主要特性

  • 自动指纹轮换:每个请求自动轮换浏览器指纹,增强数据抓取的安全性。
  • 请求拦截:仅允许访问www.google.com/search,提高效率。
  • 精简模式:流量减少50%,仅提取自然搜索结果(默认模式)。
  • 完整模式:可提取自然搜索结果、站点链接、常见问题解答、相关搜索、知识图谱等信息。
  • 位置编码:通过protobuf进行位置编码(UULE格式)。
  • 代码验证:验证国家和语言代码的有效性。

📦 安装指南

Claude Code

claude mcp add serp-mcp -- uvx serp-mcp

opencode

将以下内容添加到~/.config/opencode/opencode.jsonc文件中:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "serp-mcp": {
      "type": "local",
      "command": ["uvx", "serp-mcp"],
      "enabled": true
    }
  }
}

手动使用

# 使用uvx运行(自动安装并运行最新版本)
uvx serp-mcp

开发环境

git clone https://github.com/LiranYoffe/serp-mcp
cd serp-mcp
uv sync
uv run serp-mcp

💻 使用示例

search

搜索Google并提取SERP数据。

参数说明

  • query(必填):搜索查询词
  • country(默认值:"us"):国家代码(如us、uk、fr、de等)
  • language(默认值:"en"):语言代码(如en、fr、de、es等)
  • location(可选):用于本地搜索结果的位置(例如,"New York, NY")
  • time_range(可选):时间过滤器(hour、day、week、month、year)
  • autocorrect(默认值:true):启用查询自动纠错
  • page(默认值:1):页码
  • lite(默认值:true):精简模式(仅获取自然搜索结果,流量减少50%)

使用示例

使用默认设置搜索 "python tutorial"
在法国以精简模式搜索 "python tutorial"
在纽约搜索 "restaurants" 并设置7天时间过滤器

🔍 代码说明

国家代码

有效的ISO 3166-1 alpha-2代码:us、uk、fr、de、es、it、jp、kr、cn、in、br等(共243个代码)。

语言代码

有效的Google语言代码:en、fr、de、es、it、pt、ru、ja、ko、zh-cn、zh-tw、ar、hi等(共78个代码)。

时间范围

  • hour:过去一小时
  • day:过去24小时
  • week:过去一周
  • month:过去一个月
  • year:过去一年

🔧 技术细节

  • 指纹轮换:每个请求自动轮换浏览器指纹,增强数据抓取的安全性。
  • MCP协议:基于标准输入输出传输的模型上下文协议服务器。
  • 请求拦截:为提高效率,拦截所有非Google的请求。

👨‍💻 开发相关

运行测试

uv run pytest

重新生成Protobuf

uv run python -m grpc_tools.protoc \
  --python_out=serp_mcp \
  -Iserp_mcp \
  serp_mcp/uule.proto

📄 许可证

本项目采用MIT许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client