SearXNG MCP Server
Searxng Mcp
CLI or API | MCP | Agent
Version: 2.1.0
Документация — Инструкции по установке, развертыванию, использованию в MCP-инструменте, Python API и консольных скриптах, а также рекомендации по подготовке экземпляра SearXNG поддерживаются в официальной документации.
Related MCP server: SearXNG MCP Server
Обзор
Searxng Mcp — это сервер Agent и Model Context Protocol (MCP) производственного уровня, предназначенный для прямого взаимодействия с SearXNG Search Engine MCP Server для Agentic AI!.
Ключевые возможности
Консолидированные MCP-инструменты с маршрутизацией действий: минимизируют накладные расходы на токены и устраняют раздувание инструментов в контекстах LLM, группируя методы в оптимизированные переключаемые модули инструментов.
Безопасность корпоративного уровня: всесторонняя поддержка политик Eunomia, делегирования OIDC-токенов и детального отслеживания контекста выполнения.
Встроенный графовый агент: встроенный агент Pydantic AI, поддерживающий Agent Control Protocol (ACP) и стандартные веб-интерфейсы (AG-UI).
Встроенная телеметрия и трассировка: готовый экспорт OpenTelemetry и нативная трассировка Langfuse.
CLI или API
Этот агент оборачивает API SearXNG Search Engine MCP Server для Agentic AI!. Вы можете взаимодействовать с ним программно или через встроенные точки входа выполнения.
Подробные инструкции по использованию базовых оберток API, расширенных привязок схем и справочников SDK для разработчиков поддерживаются в docs/index.md.
MCP
Этот сервер использует динамические инструменты с маршрутизацией действий для оптимизации накладных расходов на токены и максимальной совместимости с IDE.
Доступные MCP-инструменты
Таблица ниже автоматически генерируется из MCP-сервера — не редактируйте её вручную.
Сокращенные инструменты с маршрутизацией действий (MCP_TOOL_MODE=condensed)
MCP-инструмент | Переменная окружения для переключения | Описание |
|
| Выполняет поиск SearXNG и нативно встраивает его результаты в epistemic-graph. |
|
| Запускает интерактивное приложение поискового интерфейса SearXNG: поле запроса, фильтры категорий и кликабельный список результатов, работающее на основе существующего инструмента web_search через мост MCP Apps, управляемый хостом. Используйте это, когда человек должен видеть и взаимодействовать с результатами поиска визуально, а не читать сырой JSON. Не управляет браузером и не отображает произвольные веб-страницы — только этот поисковый процесс. |
|
| Чтение/редактирование settings.yml встроенного экземпляра SearXNG |
| — | Выполняет веб-поиск с использованием уважающего конфиденциальность метапоискового экземпляра SearXNG. |
4 инструмента с маршрутизацией действий · 0 подробных инструментов 1:1. Каждый включен, если только его переключатель <DOMAIN>TOOL не установлен в false; MCP_TOOL_MODE выбирает поверхность (по умолчанию intent — шесть глагольных инструментов, детальный набор загружается по требованию · condensed с маршрутизацией действий · verbose 1:1 · both). Автосгенерировано — не редактировать.
Подробные схемы инструментов, формы параметров и ограничения валидации сохранены в docs/usage.md.
Динамический выбор и видимость инструментов
Этот MCP-сервер поддерживает динамический выбор набора инструментов и фильтрацию видимости во время выполнения. Это позволяет ограничить набор доступных инструментов, чтобы не раздувать контекстное окно LLM.
Вы можете настроить фильтрацию инструментов через несколько каналов ввода:
Аргументы CLI: передайте
--toolsили--toolsets(или их отключенные аналоги--disabled-toolsи--disabled-toolsets) при запуске.Переменные окружения: задайте стандартные переменные окружения:
MCP_ENABLED_TOOLS/MCP_DISABLED_TOOLSMCP_ENABLED_TAGS/MCP_DISABLED_TAGS
Заголовки HTTP SSE-запросов: передавайте пользовательские заголовки при инициализации транспорта:
x-mcp-enabled-tools/x-mcp-disabled-toolsx-mcp-enabled-tags/x-mcp-disabled-tags
Параметры запроса HTTP SSE: добавляйте параметры запроса непосредственно к URL вашего транспортного соединения:
?tools=tool1,tool2?tags=tag1
Когда указаны строки запроса или параметры, не использующий LLM уровень разрешения графа знаний (с помощью DynamicToolOrchestrator) сопоставляет намерения запроса с известными тегами, именами или описаниями инструментов, с безопасным резервным вариантом и автоматическим фоновым обновлением кэша каждые 24 часа.
Примеры конфигурации MCP
Установите дополнительный пакет
[mcp], ориентированный на коннекторы. В примерах используетсяsearxng-mcp[mcp]для добавления FastMCP / FastAPI черезagent-utilities[mcp]; необходимое ядро Agent Utilities по-прежнему включаетepistemic-graph[full]. Дополнительный пакет[agent-runtime]дополнительно включает оркестрацию моделей.
Транспорт stdio (локальные IDE — Cursor, Claude Desktop, VS Code)
{
"mcpServers": {
"searxng-mcp": {
"command": "uvx",
"args": [
"--from",
"searxng-mcp[mcp]",
"searxng-mcp"
],
"env": {
"MCP_TOOL_MODE": "intent",
"SEARCH_APPTOOL": "true",
"SEARXNG_EMBEDDED": "true",
"SEARXNG_KG_INGEST": "true",
"USE_RANDOM_INSTANCE": "false"
}
}
}
}Ссылки на среду выполнения требуют лаунчера с поддержкой алиасов, такого как GraphOS. Другие лаунчеры должны опускать эти записи и внедрять разрешенные значения через собственную границу секретов среды выполнения.
Транспорт Streamable-HTTP (сетевой / продакшен)
{
"mcpServers": {
"searxng-mcp": {
"command": "uvx",
"args": [
"--from",
"searxng-mcp[mcp]",
"searxng-mcp",
"--transport",
"streamable-http",
"--port",
"8000"
],
"env": {
"TRANSPORT": "streamable-http",
"HOST": "127.0.0.1",
"PORT": "8000",
"MCP_TOOL_MODE": "intent",
"SEARCH_APPTOOL": "true",
"SEARXNG_EMBEDDED": "true",
"SEARXNG_KG_INGEST": "true",
"USE_RANDOM_INSTANCE": "false"
}
}
}
}В качестве альтернативы подключитесь к предварительно развернутому экземпляру Streamable-HTTP по url:
{
"mcpServers": {
"searxng-mcp": {
"url": "http://localhost:8000/searxng-mcp/mcp"
}
}
}Запустите проверенный образ контейнера как дочерний процесс stdio с минимальными привилегиями (без слушателя или опубликованного порта):
docker run -i --rm \
--read-only \
--cap-drop=ALL \
--security-opt=no-new-privileges \
--pids-limit=256 \
--tmpfs /tmp:rw,noexec,nosuid,nodev,size=64m \
-e TRANSPORT=stdio \
-e MCP_TOOL_MODE=intent \
-e SEARCH_APPTOOL=true \
-e SEARXNG_EMBEDDED=true \
-e SEARXNG_KG_INGEST=true \
-e USE_RANDOM_INSTANCE=false \
registry.example.invalid/searxng-mcp@sha256:<digest> searxng-mcpДля контейнерного сетевого HTTP укажите аутентифицированный TLS-вход (или прямой серверный TLS), точный MCP_ALLOWED_HOSTS и точную политику CIDR доверенного прокси через профиль развертывания, принадлежащий оператору. Генератор не создает неаутентифицированный слушатель вне loopback.
Автосгенерировано из env-поверхности, считанной из кода (MCP_TOOL_MODE + переменные пакета) — не редактировать.
Дополнительные параметры развертывания
searxng-mcp может работать как локальный процесс stdio или контейнер, либо за удаленной сетевой границей. Руководство по развертыванию содержит подробный транспортный контракт.
Локальный контейнер — запустите проверенный неизменяемый образ как дочерний процесс stdio с минимальными привилегиями, без слушателя или опубликованного порта.
Удаленный URL — подключитесь через предоставленный оператором аутентифицированный HTTPS-вход. Храните его URL, исходящие ссылки на идентификаторы, профиль доверия и точный
MCP_ALLOWED_HOSTSвAgentConfig.
Агент
Этот репозиторий содержит полностью интегрированного графового агента Pydantic AI. Он общается через Agent Control Protocol (ACP) и бесшовно взаимодействует с Agent Web UI (AG-UI) и терминальным интерфейсом.
Запуск CLI агента
Чтобы запустить интерактивного агента командной строки:
# Set credentials
export SEARXNG_URL="your_value"
# Run the agent server
searxng-agent --provider openai --model-id gpt-4oОркестрация Docker Compose
Следующий docker/agent.compose.yml настраивает агента, веб-интерфейс и терминальный интерфейс вместе:
version: '3.8'
services:
searxng-mcp-mcp:
image: example/searxng-mcp@sha256:<digest>
container_name: searxng-mcp-mcp
hostname: searxng-mcp-mcp
restart: always
env_file:
- ../.env
environment:
- PYTHONUNBUFFERED=1
- HOST=0.0.0.0
- PORT=8000
- TRANSPORT=streamable-http
ports:
- "8000:8000"
healthcheck:
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
searxng-mcp-agent:
image: example/searxng-mcp@sha256:<digest>
container_name: searxng-mcp-agent
hostname: searxng-mcp-agent
restart: always
depends_on:
- searxng-mcp-mcp
env_file:
- ../.env
command: [ "searxng-agent" ]
environment:
- PYTHONUNBUFFERED=1
- HOST=0.0.0.0
- PORT=9001
- MCP_URL=http://searxng-mcp-mcp:8000/mcp
- PROVIDER=${PROVIDER:-openai}
- MODEL_ID=${MODEL_ID:-gpt-4o}
- ENABLE_WEB_UI=True
- ENABLE_OTEL=True
ports:
- "9001:9001"
healthcheck:
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:9001/health')"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
Подробные объяснения архитектуры графовых узлов, настройки пользовательских навыков и руководства по агентной трассировке доступны в docs/deployment.md.
Безопасность и управление
Построенный непосредственно на готовом к корпоративному использованию ядре agent-utilities, полностью поддерживает стандартные параметры безопасности:
Контроль доступа и применение политик
Политики Eunomia: детальная авторизация инструментов на основе политик. Поддерживает режимы
none, локальныйembedded(mcp_policies.json) или централизованныйremote.Делегирование OIDC-токенов: соответствует обмену токенами RFC 8693 для передачи аутентифицирующих учетных данных пользователя от Web UI / ACP → Agent → MCP.
Ограниченные учетные данные: контекст выполнения ограничен конкретной идентичностью вызывающего.
Сетка безопасности времени выполнения
Возможность | Функциональность | Включение |
Защита инструментов | Проверка чувствительности с валидацией с участием человека | Включено по умолчанию |
Защита от инъекций в промпты | Сканирование ввода, мониторинг повторений и блокировка рекурсивных циклов | Включено по умолчанию |
Защита безопасности контекста | Детекторы зависших циклов и упреждающие предупреждения о переполнении контекста | Включено по умолчанию |
Переменные окружения
Переменные окружения пакета
Variable | Example | Description |
|
| |
|
| |
|
| варианты: stdio, streamable-http, sse |
|
| отключает MCP-приложение searxng_search_app (поисковый UI ui://) |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| варианты: none, embedded, remote |
|
| |
|
| |
| — | Оставьте обе пустыми, чтобы использовать встроенный/встраиваемый экземпляр SearXNG (по умолчанию — см. SEARXNG_EMBEDDED ниже). Задайте одну, чтобы указать на внешний экземпляр (например, собственный http://searxng.arpa флота) — явный URL всегда имеет приоритет над встроенным экземпляром. |
| — | |
| — | |
| secret-injected | внедряется из секрета |
|
| |
|
| |
|
| Автономный поиск без настройки: когда SEARXNG_URL/SEARXNG_INSTANCE_URL не заданы, запускает и использует приватный экземпляр SearXNG, доступный только через loopback, которым владеет этот MCP-сервер (требуется дополнение |
| — | Где находится переопределяемый пользователем settings.yml встроенного экземпляра: $XDG_CONFIG_HOME/searxng-mcp/settings.yml. По умолчанию — ~/.config. |
Унаследованные переменные agent-utilities (применяются к каждому коннектору)
Variable | Example | Description |
|
| Поверхность инструментов: |
| — | Разрешённый список инструментов через запятую |
| — | Запрещённый список инструментов через запятую |
| — | Разрешённый список тегов через запятую |
| — | Запрещённый список тегов через запятую |
| — | Исходящая аутентификация дочернего MCP: |
| — | OIDC-идентификатор клиента (аутентификация сервисной учётной записи) |
|
| Ссылка на секрет времени выполнения для OIDC-сервисной учётной записи |
| — | Имя пользователя HTTP Basic ( |
|
| Ссылка на секрет времени выполнения для HTTP Basic-аутентификации ( |
|
| Подробное журналирование |
|
| Небуферизованный stdout (рекомендуется в контейнерах) |
|
| URL MCP-сервера, к которому подключается агент |
|
| LLM-провайдер для агента |
|
| Идентификатор модели для агента |
|
| Обслуживать веб-интерфейс AG-UI |
20 переменных пакета + 16 унаследованных. Автоматически сгенерировано из .env.example + общего набора agent-utilities — не редактировать.
Каждая переменная, которую читает сервер. См. .env.example как отправную точку
для копирования.
Подключение SearXNG
{"type": "text"}
Переменная | Описание | По умолчанию |
| Базовый URL экземпляра SearXNG для запросов |
|
| Явное переопределение URL экземпляра | — |
| Имя пользователя для базовой аутентификации экземпляра SearXNG (если защищено) | — |
| Пароль для базовой аутентификации экземпляра SearXNG (если защищено) | — |
| Выбрать случайный публичный экземпляр SearXNG вместо |
|
| Нативно загружать каждый результат поиска в настроенный полноценный движок графа знаний; сбои явные |
|
| Поиск без конфигурации: когда |
|
MCP-сервер / транспорт
Переменная | Описание | По умолчанию |
|
|
|
| Хост для привязки (HTTP-транспорты) |
|
| Порт для привязки (HTTP-транспорты) |
|
| Поверхность инструментов: |
|
| Список разрешённых/запрещённых инструментов через запятую | — |
| Список разрешённых/запрещённых тегов через запятую | — |
Телеметрия и управление
Переменная | Описание | По умолчанию |
| Включить экспорт OpenTelemetry |
|
| Конечная точка коллектора OTLP | — |
| Ключи аутентификации OTLP | — |
| Протокол OTLP (например, | — |
| Режим авторизации: |
|
| Встроенный файл политик |
|
| URL удалённого сервера Eunomia | — |
Установка
Выберите дополнительный пакет, соответствующий тому, что вы хотите запустить:
Дополнительный пакет | Устанавливает | Используйте, когда |
| MCP-сервер, ориентированный на коннектор ( | Вы запускаете только MCP-сервер (наименьшая установка / образ) |
| Среда выполнения агента ( | Вы запускаете интегрированного агента |
| Всё ( | Разработка / обе поверхности |
# Connector-focused MCP server (includes the shared graph engine)
uv pip install "searxng-mcp[mcp]"
# Agent runtime (adds model orchestration to the shared graph engine)
uv pip install "searxng-mcp[agent]"
# Everything (development)
uv pip install "searxng-mcp[all]" # or: python -m pip install "searxng-mcp[all]"Образы контейнеров (:mcp и :agent)
Один многоступенчатый docker/Dockerfile собирает два образа подходящего размера, выбираемых с помощью --target:
Тег образа | Целевая сборка | Содержимое | Точка входа |
|
|
|
|
|
|
|
|
docker build --target mcp -t example/searxng-mcp:mcp docker/ # connector-focused MCP server
docker build --target agent -t example/searxng-mcp:agent-local docker/ # agent runtimedocker/mcp.compose.yml запускает ориентированный на коннектор сервер :mcp; docker/agent.compose.yml запускает агента (неизменяемый дайджест агента) с совместно размещённым сайдкаром :mcp.
База данных графа знаний (epistemic-graph)
Как [mcp], так и [agent] включают движок epistemic-graph через обязательную базовую зависимость Agent Utilities (epistemic-graph[full]). Дополнительный пакет [mcp] сохраняет сервер ориентированным на коннектор; [agent] дополнительно включает оркестрацию моделей. Локальные развёртывания могут использовать встроенный движок. Для продакшена или общего состояния запускайте epistemic-graph как выделенную службу базы данных и настройте среду выполнения для её использования. Рецепты развёртывания (одноузловой + Raft HA), конфигурация подключения и диаграммы архитектуры описаны в руководстве по развёртыванию epistemic-graph.
Документация
Полная документация опубликована на официальном сайте документации и является рекомендуемым справочником по установке, развёртыванию и повседневной эксплуатации.
Страница | Содержимое |
pip, исходный код, дополнительные пакеты, готовый образ Docker | |
запуск MCP и агентских серверов, Compose, Caddy + Technitium, конфигурация окружения | |
инструмент | |
развёртывание SearXNG с помощью Docker | |
роль в экосистеме и стандартизированный шаблон пакета | |
реестр концепций ( |
AGENTS.md — каноническое руководство для участников и агентов.
Владельцы репозитория
Вклад
Вклад приветствуется! Пожалуйста, обеспечьте качество кода, выполнив локальные проверки перед отправкой запросов на включение:
Форматируйте код с помощью
ruff format .Проверяйте код с помощью
ruff check .Проверяйте безопасность типов с помощью
mypy .Выполняйте тестовые наборы с помощью
pytest
Развёртывание с помощью agent-utilities-deployment
Разверните этот пакет с помощью консолидированного рабочего процесса agent-utilities-deployment. Он выбирает путь установленного пакета, редактируемого исходного кода или неизменяемого контейнера; записывает только ссылки на секреты времени выполнения и TLS-профили в AgentConfig; и выполняет проверки doctor, регистрации, политик, наблюдаемости и отката. Попросите вашего агента "развернуть searxng-mcp с помощью agent-utilities-deployment".
Режим установки | Команда |
Установленный пакет |
|
Редактируемый исходный код |
|
Неизменяемый контейнер | разверните |
Репозиторий не содержит профиля развёртывания, значений учётных данных, путей к сертификатам или конечных точек, зависящих от окружения. Предоставьте их во время выполнения через AgentConfig и настроенного поставщика секретов.
Контракт управляемых возможностей
Этот пакет поставляется с компактной канонической поверхностью навыков, а специализированные процедуры хранятся в виде связанных рабочих процессов. Текущие инструменты MCP, метаданные навыков, connector_manifest.yml, онтология, сопоставления, формы, фикстуры, миграции, отпечатки схем инструментов и сертификационные метаданные образуют единый версионируемый контракт возможностей. Проверяйте их вместе; не полагайтесь на устаревшие имена инструментов или исторические обёртки навыков для конкретных задач.
Runtime-эндпоинты, учетные данные, доверие к сертификатам, идентичность тенанта, хранение и политика наблюдаемости являются входными параметрами развертывания и никогда не являются упакованными значениями. См. Конфигурация, доверие и конфиденциальность перед включением сетевого транспорта, приема коннекторов, делегирования GraphOS или экспорта трассировок.
Available Tools
1 toolweb_searchB
Perform a web search using a privacy-respecting SearXNG metasearch instance.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query to submit to SearXNG | |
| categories | No | Optional list of categories to search in (e.g. general, news, science, files, images, videos, music, it, social_media) | |
| engines | No | Optional list of specific search engines to use | |
| language | No | Language code for search results (e.g. en-US) | en-US |
| pageno | No | Page number of results to fetch |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of disclosing behavioral traits. It only mentions 'privacy-respecting' but omits details like rate limits, authentication needs, result pagination, or caching behavior. The output schema exists but is not referenced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the essential purpose without extraneous words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, the schema covers all parameters, and an output schema exists, the description is largely complete. However, it could briefly mention pagination or result limits associated with the pageno parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all 5 parameters described in the schema. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('perform a web search') and the specific resource ('privacy-respecting SearXNG metasearch instance'), making the tool's purpose unambiguous. With no sibling tools provided, differentiation is not required.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives, nor does it specify when not to use it. The mention of 'privacy-respecting' hints at a use case but does not explicitly state conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of confusion between tools. The purpose is clearly singular.
The single tool name 'web_search' follows a clear verb_noun pattern, which is consistent and readable.
A single tool for a metasearch server feels thin but is acceptable for a focused purpose. However, it borders on being too minimal for the domain's potential scope.
The server covers the primary search operation but lacks related tools such as listing available engines or configuring search parameters, leaving moderate gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Web search, news, page retrieval, sitemaps, and trending topics through Search1API.
Search the web, images, videos, news, and local businesses with robust filters, freshness controls…
Provides AI assistants with access to Seltz's powerful Web Search capabilities.
x402-gated web search gateway. Tools: search, search_enriched.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides privacy-focused web search capabilities through SearXNG metasearch engine, enabling web, image, video, and news searches without tracking. Includes comprehensive research tools that aggregate and analyze results from multiple search engines.34MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to perform privacy-respecting web searches through SearXNG, with support for multiple search engines, categories, and advanced filtering options.25
- AlicenseAqualityDmaintenanceEnables web search, image search, and news search through a self-hosted SearXNG instance. Provides privacy-focused meta-search capabilities aggregating results from multiple search engines.31MIT
- FlicenseAqualityDmaintenanceEnables web search capabilities via a SearXNG instance, allowing for filtered searches across categories like news, images, and science. It supports multi-language queries, time-range filtering, and safe search options to provide formatted results with metadata.1
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Knuckles-Team/searxng-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server