隐私搜索与爬虫服务

一个基于Docker的隐私保护搜索引擎聚合器和智能网络爬虫服务,提供无追踪搜索和动态网页内容抓取功能。

  • by zydins
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 zydins/web-search-mcp-server

使用说明

网络搜索与爬取MCP服务器+SearXNG

一个支持Docker的MCP服务器 SearXNG (以隐私为重点的搜索聚合器)+ crawl4ai 以获得完整的网络访问功能。

运作原理

1.网络搜索(web_search)

工具名称: web_search.

  • 注重隐私:聚合来自多个引擎的结果,不进行跟踪。
  • 过滤:获取前3个最相关的结果。
  • 输出:JSON格式 title 和 url 只有。

2.智能网络爬虫(crawl_url)

  • 无头浏览: crawl4ai (剧作家)为JS繁重的网站。
  • 内容修剪:动态过滤器(阈值0.48)。仅返回网页的前10000个字符以缩小上下文窗口。
  • 标记语言:具有链接扁平化的结构化输出。

快速开始

  1. 开始一切:

    docker compose up -d
    
  2. 测试SearXNG JSON:

    curl "http://localhost:8080/search?q=test&format=json" | jq '.results[0:2]'
    
  3. 测试MCP服务器:

    npx @modelcontextprotocol/inspector http://localhost:8000/sse
    

跑步

Docker Compose(推荐)

开始 两者 SearXNG和MCP服务器:

docker compose up -d

覆盖端口/日志级别:

PORT=9000 LOG_LEVEL=DEBUG docker compose up -d

MCP检验员测试

这 MCP官方检查员 是测试完整MCP协议的最简单方法:

# Install Node.js if needed, then:
npx @modelcontextprotocol/inspector http://localhost:8000/sse

这将:

  1. 通过SSE连接并建立会话。
  2. 列出可用工具(web_search, crawl_url).
  3. 让您使用适当的JSON-RPC框架以交互方式调用工具。
  4. 显示实时响应和调试信息。

手动Docker

  1. SearXNG首先:

    docker run -d --name searxng -p 8080:8080 -v $(pwd)/searxng-settings.yml:/etc/searxng/settings.yml:ro searxng/searxng:latest
    
  2. MCP服务器:

    docker run -d \
      -p 8000:8000 \
      -e SEARXNG_URL=http://host.docker.internal:8080 \
      --shm-size=2gb \
      --name web-search-mcp \
      web-search-mcp
    
  3. 测试:

    npx @modelcontextprotocol/inspector http://localhost:8000/sse
    

资源需求

资源 推荐 原因
随机存取存储器 2GB+ 浏览器+搜索聚合。
中央处理器 2个vCPU 页面渲染+搜索。
共享Mem 2GB 铬稳定性。

MCP配置

{
  "mcpServers": {
    "web-search": {
      "url": "http://localhost:8000/sse"
    }
  }
}