关于 Serper Search and Scrape MCP Server
Serper Search and Scrape MCP Server 是基于 TypeScript 的 MCP 服务,通过 Serper API 提供网页搜索与内容提取,适用于需要网络资料的 MCP 客户端。它支持搜索定向与高级查询条件,并可保留网页结构信息。
主要功能
- 01通过 Serper API 执行网页搜索
- 02返回知识图谱及相关搜索结果
- 03按地区、语言和时间筛选
- 04支持高级搜索运算符
- 05提取网页文本与可选 Markdown
- 06包含 JSON-LD 和页面元数据
适用场景
- 01按地区和语言查找网页资料
- 02限定域名或文件类型进行检索
- 03提取网页内容供后续处理
- 04获取网页结构和元数据
MCP 相关
该项目实现 MCP 服务,向 MCP 客户端公开搜索和网页抓取工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Serper 搜索和抓取 MCP 服务
这是一个基于 TypeScript 的 MCP 服务,使用 Serper API 提供网页搜索和网页抓取功能。此服务与 Claude Desktop 集成,可实现强大的网页搜索和内容提取功能。
功能
工具
-
google_search- 通过 Serper API 执行网页搜索- 提供丰富的搜索结果,包括自然搜索结果、知识图谱、“大家也在问”和相关搜索
- 支持指定地区和语言
- 可选参数包括位置、分页、时间筛选和自动纠错
- 支持高级搜索运算符:
site:将结果限制在特定域名filetype:将结果限制为特定文件类型(例如,'pdf'、'doc')inurl:搜索 URL 中包含指定词语的网页intitle:搜索标题中包含指定词语的网页related:查找相似网站cache:查看指定 URL 的 Google 缓存版本before:指定日期之前,格式为 YYYY-MM-DDafter:指定日期之后,格式为 YYYY-MM-DDexact:精确匹配短语exclude:从搜索结果中排除指定词语or:替代词语(OR 运算符)
-
scrape- 提取网页内容- 获取纯文本和可选的 Markdown 内容
- 包含 JSON-LD 和 head 元数据
- 保留文档结构
要求
- Node.js >= 18
- Serper API 密钥(设置为
SERPER_API_KEY环境变量)
开发
安装依赖:
npm install
构建服务:
npm run build
开发时自动重新构建:
npm run watch
运行测试:
npm test # Run all tests
npm run test:watch # Run tests in watch mode
npm run test:coverage # Run tests with coverage
npm run test:integration # Run integration tests
环境变量
在根目录中创建 .env 文件:
SERPER_API_KEY=your_api_key_here
调试
由于 MCP 服务通过 stdio 通信,调试可能颇具挑战。我们建议使用 MCP Inspector,它可通过包脚本运行:
npm run inspector
Inspector 会提供一个 URL,供你在浏览器中访问调试工具。
安装
通过 Smithery 安装
通过 Smithery 为 Claude Desktop 自动安装 Serper Search and Scrape:
npx -y @smithery/cli install @marcopesani/mcp-server-serper --client claude
Claude Desktop
在以下位置添加服务配置:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"serper-search": {
"command": "npx",
"args": ["-y", "serper-search-scrape-mcp-server"],
"env": {
"SERPER_API_KEY": "your_api_key_here"
}
}
}
}
Cline
- 打开 Cline 扩展设置
- 打开“MCP Servers”选项卡
- 点击“Configure MCP Servers”
- 添加服务配置:
{
"mcpServers": {
"github.com/marcopesani/mcp-server-serper": {
"command": "npx",
"args": ["-y", "serper-search-scrape-mcp-server"],
"env": {
"SERPER_API_KEY": "your_api_key_here"
},
"disabled": false,
"autoApprove": ["google_search", "scrape"]
}
}
}
Cline 的其他配置选项:
disabled:设为false以启用服务autoApprove:列出每次使用时无需明确批准的工具
Cursor
- 打开 Cursor 设置
- 打开“Features”设置
- 在“MCP Servers”部分,点击“Add new MCP Server”
- 选择名称,并将“Type”设为“command”
- 在“Command”字段中输入以下内容:
env SERPER_API_KEY=your_api_key_here npx -y serper-search-scrape-mcp-server
Docker
你也可以使用 Docker 运行服务。首先,构建镜像:
docker build -t mcp-server-serper .
然后使用你的 Serper API 密钥运行容器:
docker run -e SERPER_API_KEY=your_api_key_here mcp-server-serper
或者,如果你的环境变量保存在 .env 文件中:
docker run --env-file .env mcp-server-serper
开发时,你可能需要将源代码挂载为卷:
docker run -v $(pwd):/app --env-file .env mcp-server-serper
注意:请将 your_api_key_here 替换为你实际的 Serper API 密钥。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。