Skip to main content
Glama
muzihuaner

SearXNG-MCP

by muzihuaner

SearXNG MCP Сервер

Реализация MCP-сервиса поиска SearXNG на основе FastMCP, использующая Streamable HTTP транспорт, с поддержкой локального запуска и развертывания в Docker.

Полезные ссылки по SearXNG:

Официальная документация: https://docs.searxng.org/

Онлайн-демонстрация: https://searx.space/

Возможности

  • Предоставляет MCP-инструмент search(query): выполняет поиск по ключевому слову через экземпляр SearXNG и возвращает сводку результатов.

  • Обеспечивает MCP-сервис через HTTP-эндпоинт http://<host>:<port>/mcp, что удобно для удаленных/кросс-доменных вызовов.

  • Использует без сохранения состояния (stateless) режим Streamable HTTP, поэтому клиенту не нужно поддерживать Mcp-Session-Id, можно выполнять параллельные вызовы.

  • Поддерживает настройку адреса экземпляра SearXNG через переменные окружения для удобства приватного развертывания.

Related MCP server: SearXNG MCP Server

Переменные окружения

Переменная

Значение по умолчанию

Описание

SEARXNG_URL

https://searxng.abc.com

Корневой адрес экземпляра SearXNG (требуется включенный JSON)

HOST

0.0.0.0

Адрес прослушивания сервиса

PORT

9000

Порт прослушивания сервиса

Локальный запуск

# 安装依赖(建议使用虚拟环境)
pip install -r requirements.txt

# 可选:自定义 SearXNG 实例(只需填根地址)
export SEARXNG_URL="https://your-searxng-instance"

# 启动服务
python Server.py

После запуска MCP-эндпоинт будет доступен по адресу:

http://localhost:9000/mcp

Развертывание в Docker

Сборка образа

docker build -t searxng-mcp .

Запуск контейнера

docker run -d \
  --name searxng-mcp \
  -p 9000:9000 \
  -e SEARXNG_URL="https://searxng.abc.com" \
  searxng-mcp

Для изменения порта можно одновременно переопределить порт контейнера и переменную PORT:

docker run -d \
  --name searxng-mcp \
  -p 8080:8080 \
  -e PORT=8080 \
  searxng-mcp

Использование готового онлайн-образа

docker run -d \
  --name searxng-mcp \
  -p 9000:9000 \
  -e SEARXNG_URL="https://searxng.abc.com" \
  muzihuaner/searxng-mcp:latest

Адрес доступа

После завершения развертывания формат MCP-эндпоинта будет следующим:

http://<你的服务器域名或IP>:<端口>/mcp

Например: http://localhost:9000/mcp или https://mcp.your-domain.com/mcp

Настройка клиента

В MCP-клиенте, поддерживающем Streamable HTTP, укажите адрес сервиса как указано выше (эндпоинт /mcp), например:

{
  "mcpServers": {
    "searxng": {
      "url": "http://localhost:9000/mcp"
    }
  }
}

Описание инструмента

search(query: str) -> str

Выполняет поиск по ключевому слову через SearXNG и возвращает текстовое содержимое каждого результата, объединенное переносами строк.

  • query: поисковый запрос.

  • Возвращаемое значение: текстовое содержимое результатов поиска; в случае ошибки запроса возвращается False.

Производительность и параллелизм

测试结果示例(局域网 / 上游 `so.xxx.cn`):

Всего запросов : 100 Параллельных worker : 50 Успешно : 100 Ошибок : 0 Общее время (сек) : 67.68 Пропускная способность (запросов/сек): 1.48 Средняя задержка (сек): 27.284 Мин. задержка (сек) : 7.203 Макс. задержка (сек) : 44.418


> 注意:端到端延迟主要取决于 SearXNG 上游实例的响应速度(本例平均约 27s 来自上游 `so.xxx.cn` 较慢),服务本身可稳定承载并发且零失败。若需提升吞吐,可:
> - 换用响应更快 / 自托管的 SearXNG 实例(通过 `SEARXNG_URL` 指定);

Часто задаваемые вопросы

В: Клиент сообщает об ошибке Missing session ID? О: Данный сервис активирует режим stateless_http=True, поэтому сессия не требуется. Если ошибка все еще возникает, убедитесь, что клиент подключается к эндпоинту /mcp.

В: Как ужесточить CORS в производственной среде? О: Отредактируйте CORSMiddleware в файле Server.py, заменив allow_origins=["*"] на конкретный список разрешенных источников, например ["https://your-domain.com"].

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Enables web search capabilities through the Tavily API. Allows users to search the web for information using natural language queries via the MCP protocol.
    4
    1
  • A
    license
    A
    quality
    D
    maintenance
    Integrates with SearXNG metasearch engine to provide powerful web search capabilities across multiple search engines with filtering options for categories, languages, time ranges, and safe search levels. Enables comprehensive web searches, autocomplete suggestions, and search engine configuration access through MCP-compatible applications.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables privacy-focused web search via SearXNG for MCP clients, allowing users to perform searches with customizable parameters through natural language.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Free web search MCP server using SearXNG, supporting web search, news search, and search summaries.
    MIT

View all related MCP servers

Related MCP Connectors

  • Serper MCP — wraps the Serper Google Search API (serper.dev)

  • MCP server for Google search results via SERP API

  • Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/muzihuaner/SearXNG-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server