网页搜索与抓取服务

一个基于TypeScript的MCP服务器,提供使用Serper API的网页搜索和内容抓取功能,支持高级Google搜索操作符和结构化数据提取。

  • by pavelsukhachev
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 pashvc/mcp-server-serper

使用说明

服务器搜索和报废MCP服务器

一个基于类型脚本的MCP服务器,使用Serper API提供网络搜索和网页抓取功能。此服务器与Claude Desktop集成,可实现强大的网络搜索和内容提取功能。

由Pavel Sukhachev(pashvc)精心设计的增强型MCP服务器,提供全面的运营商支持,用于高级谷歌搜索。


👋 开放机会!
我正在积极寻求新的机会和合作。如果你有有趣的项目或工作机会,请随时联系!
📧 联系人: pashvc@gmail.com


特性

工具

  • google_search -在全面的运营商支持下执行高级谷歌搜索

    • 丰富的搜索结果,包括有机结果、知识图谱、“人们也问”和相关搜索
    • 支持区域(默认:“us”)和语言(默认:”en“)定位
    • 高级搜索运算符直接在查询中:
      • " ":精确短语匹配
      • site::限制到特定域(例如。, site:linkedin.com/in/ 为人民)
      • -:排除术语(例如。, -spam -ads)
      • OR 或 |:替代术语
      • filetype: 或 ext::特定文件类型
      • intitle: / allintitle::页面标题中的单词
      • inurl: / allinurl::URL中的单词
      • before: / after::日期筛选(YYYY-MM-DD格式)
      • *:任意单词的通配符
      • #..#:数字范围
      • related::查找类似网站
      • AROUND(X):邻近搜索
  • scrape -从网页中提取内容

    • 获取纯文本和可选的markdown内容
    • 包括JSON-LD和头部元数据
    • 保留文档结构

查询示例

LinkedIn搜索

# Find people
site:linkedin.com/in/ "data scientist" Python "San Francisco"
site:linkedin.com/in/ "software engineer" (Google OR Meta) -recruiter

# Find companies  
site:linkedin.com/company/ fintech "series B" 
site:linkedin.com/company/ "artificial intelligence" healthcare

技术检索

# Stack Overflow solutions
site:stackoverflow.com "TypeError" pandas dataframe

# GitHub repositories
site:github.com "machine learning" README.md stars:>100

# Documentation
site:docs.python.org asyncio tutorial

研究与学术

# Research papers
filetype:pdf "deep learning" medical after:2023-01-01
site:arxiv.org "transformer architecture" "computer vision"

# Academic content
site:edu "climate change" research "peer reviewed"

高级组合

# Exclude noise
python tutorial -youtube -video -course -udemy

# Multiple sites
(site:github.com OR site:gitlab.com) "react hooks" example

# Date and type filters
"machine learning" news after:2024-01-01 -opinion -sponsored

需求

  • 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检查员,可作为包脚本使用:

npm run inspector

检查器将提供一个URL,用于访问浏览器中的调试工具。

安装

通过Smithery安装

通过以下方式自动安装Serper Search and Scrape for Claude Desktop 史密瑟里:

npx -y @smithery/cli install @pashvc/mcp-server-serper --client claude

克劳德桌面

在以下位置添加服务器配置:

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %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"
      }
    }
  }
}

克莱恩

  1. 打开Cline扩展设置
  2. 打开“MCP服务器”选项卡
  3. 点击“配置MCP服务器”
  4. 添加服务器配置:
{
  "mcpServers": {
    "github.com/pashvc/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:每次使用不需要明确批准的工具列表

光标

  1. 打开光标设置
  2. 打开“功能”设置
  3. 在“MCP服务器”部分,单击“添加新的MCP服务器”
  4. 选择一个名称,然后选择“命令”作为“类型”
  5. 在“命令”字段中,输入以下内容:
env SERPER_API_KEY=your_api_key_here npx -y serper-search-scrape-mcp-server

码头工人

您还可以使用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密钥。