SearXNG MCP Bridge
Сервер SearXNG MCP Bridge
Это сервер протокола контекста модели (MCP), который выступает в качестве моста к экземпляру SearXNG. Он позволяет совместимым клиентам выполнять поиск с использованием настроенного экземпляра SearXNG через инструменты MCP.
Требования
Node.js 25.x
npm 11.x или новее
Быстрый старт (использование через npm)
Настройте экземпляр SearXNG:
# Using Docker docker run -d -p 8888:8080 --name searxng searxng/searxngУстановите и запустите MCP-мост
По умолчанию (STDIO, без изменений):
# Run directly with npx (default - stdio transport) npx -y @nitish-raj/searxng-mcp-bridgeОпционально: запуск в качестве HTTP-сервера (новая функция, по выбору)
# Using env variables (recommended) TRANSPORT=http PORT=3002 HOST=127.0.0.1 SEARXNG_INSTANCE_URL=http://localhost:8080 npx -y @nitish-raj/searxng-mcp-bridge # Or run the built bundle TRANSPORT=http node build/index.jsНастройте файл конфигурации MCP (stdio / устаревшие клиенты) Добавьте в файл настроек MCP (например,
~/.vscode-server/.../mcp_settings.json):{ "mcpServers": { "searxng-bridge": { "command": "npx", "args": [ "-y", "@nitish-raj/searxng-mcp-bridge" ], "env": { "SEARXNG_INSTANCE_URL": "http://localhost:8080" }, "disabled": false } } }
HTTP-конфигурация: Установите TRANSPORT=http, чтобы запустить мост через HTTP вместо stdio. Режим транспорта можно настроить с помощью переменных окружения.
Функции
Инструмент поиска: Выполнение веб-поиска с использованием SearXNG с настраиваемыми параметрами
Проверка работоспособности: Мониторинг подключения и производительности экземпляра SearXNG
Двойной транспорт: Поддержка как STDIO (по умолчанию), так и HTTP-транспортов
Управление сессиями: HTTP-транспорт включает соединения на основе сессий
Поддержка CORS: Правильные заголовки cross-origin для интеграции с веб-клиентами
Ограничение частоты запросов: Встроенная защита от чрезмерного количества запросов (режим HTTP)
Конфигурация
SEARXNG_INSTANCE_URL— ОБЯЗАТЕЛЬНО. Полный URL экземпляра SearXNG (например,http://localhost:8080).TRANSPORT— Протокол транспорта:stdio(по умолчанию) илиhttpPORT— Порт HTTP-сервера. По умолчанию:3000(используйте3002для разработки)HOST— Адрес привязки сервера. По умолчанию:127.0.0.1(используйте0.0.0.0для контейнеров)CORS_ORIGIN— Список разрешенных источников для CORS, разделенных запятыми. По умолчанию: localhost:3002 (разработка) или*(продакшн)MCP_HTTP_BEARER— Опциональный токен bearer для HTTP-аутентификации Функции HTTP-транспорта:Управление сессиями с помощью заголовков
mcp-session-idБезопасный CORS с проверкой белого списка источников
Ограничение частоты запросов (100 запросов в минуту на IP)
Опциональная bearer-аутентификация через
MCP_HTTP_BEARERЗащита от DNS-ребиндинга
Примечания по безопасности:
CORS использует безопасный белый список в режиме разработки (только localhost:3002)
В продакшене отражаются конкретные источники для запросов с учетными данными (соответствие CORS)
Установите
CORS_ORIGINдля настройки разрешенных источников под ваш случай использованияУстановите
TRANSPORT=stdioдля возврата в режим stdio
HTTP-транспорт
HTTP-транспорт реализует спецификацию MCP Streamable HTTP (2025-03-26) со следующими конечными точками:
Конечные точки MCP:
POST /mcp- Отправка запросов MCPGET /mcp- Server-Sent Events для уведомленийDELETE /mcp- Завершение сессийOPTIONS /mcp- Предварительные запросы CORS
Системные конечные точки:
GET /healthz- Проверка работоспособности и статуса
Тестовая HTTP-конечная точка:
curl -X POST http://localhost:3002/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Возвращает JSON-RPC ответ со списком доступных инструментов (search и health_check).
Docker
Dockerfile открывает порт 8081 для HTTP-транспорта. Чтобы запустить контейнер и разрешить HTTP-доступ:
# Build (example)
docker build -t searxng-mcp-bridge .
# Run mapping port 8081
docker run -d -p 8081:8081 --env SEARXNG_INSTANCE_URL=http://localhost:8080 --name searxng-mcp-bridge searxng-mcp-bridge
# To run HTTP transport inside container:
docker run -d -p 8081:8081 -e TRANSPORT=http -e PORT=8081 -e SEARXNG_INSTANCE_URL=http://localhost:8080 searxng-mcp-bridgeПримечание: при контейнеризации установите HOST=0.0.0.0 или используйте стандартное сопоставление портов.
Использование
Клиенты STDIO: Используйте инструмент без изменений — настройки менять не нужно.
HTTP-клиенты: Подключитесь к http://localhost:3002/mcp (порт для разработки) и отправляйте JSON-RPC запросы MCP.
Разработка
npm install: Установка зависимостей.npm run build: Компиляция TypeScript в JavaScript.npm run watch: Отслеживание изменений и автоматическая пересборка.npm run inspector: Запуск инспектора MCP для тестирования сервера.npm run start:http: Запуск сервера в режиме HTTP-потока на localhost:3002.
Миграция и совместимость
Обратная совместимость:
STDIO остается транспортом по умолчанию — существующим пользователям ничего менять не нужно
Все имена инструментов, параметры и ответы остаются без изменений
Конфигурация осуществляется по выбору через переменные окружения
Миграция на HTTP:
Установите
TRANSPORT=httpдля включения HTTP-транспортаНастройте
PORTиHOSTпо мере необходимостиОбновите клиент для использования HTTP-конечной точки вместо stdio
Откат:
Установите
TRANSPORT=stdioили удалите переменную для возврата к stdio
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/nitish-raj/searxng-mcp-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server