Back to MCP directory
publicPublicdnsLocal runtime

SearXNG

一个为SearXNG搜索引擎提供语言模型接口的MCP服务器。

article

README

🚀 SearXNG 模型上下文协议服务器

本项目是一个用于将语言模型与 SearXNG 搜索引擎接口连接的 Model Context Protocol(MCP)服务器。它能让语言模型借助 SearXNG 开展网络搜索,为语言模型提供了一个简洁的接口,可向 SearXNG 发送搜索查询并接收格式化的结果。

🚀 快速开始

此服务器使语言模型能够通过 SearXNG 进行网络搜索,使用 Model Context Protocol 标准。它为语言模型提供了一个干净的接口,用于向 SearXNG 发送搜索查询并接收格式化的结果。

📦 安装指南

# 克隆仓库
git clone https://github.com/aeon-seraph/searxng-mcp.git
cd searxng-mcp

# 安装依赖项
npm install

# 构建项目
npm run build

✨ 主要特性

  • 支持语言模型通过 SearXNG 进行网络搜索。
  • 提供干净的接口,便于发送搜索查询和接收格式化结果。
  • 支持通过环境变量进行灵活配置。
  • 支持 Docker 部署。

💻 使用示例

基础用法

# 运行服务器
node build/index.js

该服务器将在标准输入输出上运行,使其适合与 MCP 兼容的语言模型集成。

高级用法

可通过环境变量对服务器进行配置: | 变量 | 说明 | 默认值 | |------|------|--------| | SEARXNG_PROTOCOL | 使用的协议(http/https) | http | | SEARXNG_HOST | SearXNG 主机 | localhost | | SEARXNG_PORT | SearXNG 端口 | 8888 | | CACHE_TTL | 缓存时间(以毫秒为单位) | 600000 (10 分钟) | | MAX_CACHE_SIZE | 缓存的最大查询数量 | 100 |

示例:

SEARXNG_HOST=mysearx.example.com SEARXNG_PORT=443 SEARXNG_PROTOCOL=https node build/index.js

Docker 部署

# 构建 Docker 镜像
docker build -t searxng-mcp .

# 运行容器
docker run -e SEARXNG_HOST=mysearx.example.com -e SEARXNG_PROTOCOL=https searxng-mcp

📚 详细文档

搜索功能支持以下参数:

  • query(必需):搜索查询字符串
  • categories:逗号分隔的搜索类别列表
  • pageno:搜索页面编号(默认:1)
  • time_range:结果的时间范围("day", "week", "month", "year")
  • raw_json:返回原始 JSON 响应而不是格式化文本(默认:false)

🔧 技术细节

需求

  • Node.js 16+
  • 运行中的 SearXNG 实例(默认在 http://localhost:8888)

📄 许可证

本项目采用 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