搜索和内容抓取服务器

一个基于SearXNG的MCP服务器,提供网页搜索和内容抓取功能,适用于AI助手集成和匿名网络访问。

  • by benreichman
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 benreichman/SearXNG-MCP-Server

使用说明

SearXNG MCP服务器

一种模型上下文协议(MCP)服务器,使用本地SearXNG实例提供web搜索和抓取功能。专为与LM Studio和其他兼容MCP的AI客户端集成而设计。

特性

  • 网页搜索:通过SearXNG在多个引擎(DuckDuckGo、谷歌、必应、Brave)上搜索
  • 内容刮擦:自动从搜索结果中抓取和格式化内容
  • 直接URL抓取:从特定URL提取内容
  • Tor支持:可选通过Tor网络进行匿名抓取
  • MCP协议:全面实施MCP HTTP协议,实现无缝AI助手集成
  • 纯文本提取:删除表情符号、规范格式和限制字数

先决条件

  • Python 3.8+
  • 正在运行的SearXNG实例(默认值: http://localhost:8080)

安装

  1. 克隆或下载此存储库

  2. 安装依赖项:

pip install -r requirements.txt
  1. 确保SearXNG在本地运行 http://localhost:8080

配置

编辑 searxng_mcp_server.py 自定义:

SEARXNG_BASE_URL = "http://localhost:8080/search"  # Your SearXNG instance
DEFAULT_MAX_RESULTS = 5                            # Default search results
DEFAULT_MAX_WORDS = 5000                           # Max words per page
REQUEST_TIMEOUT = 20                               # Request timeout (seconds)
SERVER_PORT = 8765                                 # Server port
USE_TOR = False                                    # Route scraping through Tor (requires Tor on 127.0.0.1:9050)

Tor支持

要通过Tor启用匿名抓取:

  1. 安装并启动Tor服务(必须在上运行 127.0.0.1:9050)
  2. 集 USE_TOR = True 在配置中
  3. 重新启动服务器

启用后,所有网络抓取请求都将通过Tor网络路由。

用法

启动服务器

python searxng_mcp_server.py

服务器将在上运行 http://localhost:8765

使用LM Studio进行配置

添加到LM Studio MCP设置中:

{
  "mcpServers": {
    "searxng": {
      "url": "http://localhost:8765",
      "transport": "http"
    }
  }
}

可用工具

1.搜索_网站

搜索网络并抓取结果页面。

参数:

  • query (必填):搜索查询字符串
  • max_results (可选):要抓取的结果数(默认值:5)

例子:

Search for "latest AI developments" and show me the top 3 results

2.获取_网站

从特定URL中抓取内容。

参数:

  • url (必填):要抓取的URL

例子:

Get the content from https://example.com

API终点

  • POST / -MCP协议端点
  • GET /health -健康检查端点
  • GET / -服务器信息(或SSE回退)

运作原理

  1. 接收来自AI助手的MCP工具调用
  2. 使用指定的搜索词查询SearXNG
  3. 以JSON格式检索搜索结果
  4. 从每个结果URL中删除内容
  5. 清理和格式化文本(删除HTML、表情符号、规范间距)
  6. 将内容截断到字数限制
  7. 将格式化结果返回给AI助手

许可证

麻省理工学院