Open-source
31 мая 2026 · 10 мин чтения · AI Platforms

browser-search-mcp: веб-поиск для ИИ-агентов через настоящий браузер, одной командой

MCP-сервер от AI Platforms: npx browser-search-mcp - и всё готово. Chromium-поиск по Google, Bing, Yahoo и DuckDuckGo, извлечение страниц через Playwright + trafilatura, deep research по нескольким запросам. Без API-ключей, с fallback и дедупликацией результатов.

  • ["MCP"
  • "web search"
  • "agents"
  • "Playwright"
  • "Chromium"
  • "AI Platforms"
  • "open-source"
  • "tool-use"
  • "local LLM"]

Зачем агенту браузерный поиск, а не API-ключ

У многих LLM-клиентов либо нет доступа к сети, либо есть только один внешний search API, либо нужно заранее заводить ключи и конфиги. Для агентных сценариев этого недостаточно.

Когда агент исследует вопрос, ему нужно: быстро найти релевантные источники, сравнить выдачу нескольких поисковиков, убедиться что сниппет не устарел, и прочитать страницу целиком, когда это необходимо. Один search API не даёт такой гибкости. А ручная настройка Python, Playwright и Chromium - это часы работы.

browser-search-mcp решает это одной командой. npx browser-search-mcp - и у агента появляется MCP-эндпоинт с браузерным поиском, извлечением страниц и deep research. Пакет сам создаст Python venv, поставит зависимости и скачает Chromium.

Пакет доступен на npm: browser-search-mcp.

Ключевое отличие от поисковых API: модель ищет через реальные страницы выдачи, как человек в браузере, а не через JSON-ответ вендорского search endpoint. Это даёт: fallback между движками, дедупликацию ссылок, и тот же DOM, который видит пользователь.

Что даёт browser-search-mcp агенту

Мультидвижковый поиск

Google, Bing, Yahoo, DuckDuckGo. Режим auto пробует движки по очереди и добирает уникальные ссылки до нужного количества.

Извлечение страниц

extract_webpage для одной страницы, extract_webpages до 20 URL одновременно. Chromium + trafilatura/BeautifulSoup - читаемый текст.

Deep research за один раунд

Модель формулирует 1 - 10 запросов, сервер выполняет их и возвращает сгруппированные результаты - полноценный исследовательский цикл.

Одна команда - весь runtime

npx browser-search-mcp. Node-лаунчер создаёт изолированный Python venv, ставит зависимости, скачивает Chromium через Playwright.

Локально и приватно

Запросы и результаты проходят через вашу машину. Нет API-ключей, нет hosted search credentials. Идеально для локальных LLM.

Два протокола MCP + HTTP API

Streamable HTTP MCP (:8892/mcp), stdio режим (--stdio), плюс plain HTTP API (:8891) с Swagger UI для прямых вызовов.

Как устроен сервер: архитектура и трафик

Node.js лаунчер и Python runtime

Пакет npm - это только лаунчер. Он проверяет наличие Python 3.10+, создаёт ~/.browser-search-mcp с изолированным venv, устанавливает зависимости и запускает две службы:

  • FastAPI search gateway на 127.0.0.1:8891 - принимает поисковые запросы, запускает Chromium через Playwright, парсит DOM выдачи и возвращает title/URL/snippet.
  • Streamable HTTP MCP server на 127.0.0.1:8892/mcp - принимает MCP-запросы от клиента и проксирует их в search gateway.

Трафик поиска

MCP client ── Streamable HTTP ──► MCP server (:8892/mcp)
                                      │
                                      ▼
                               Search API (:8891)
                                      │
                 ┌────────────────────┴────────────────────┐
                 ▼                                         ▼
         Chromium search pages                  Page fetch + extraction
    Google / Bing / Yahoo / DDG              Playwright + trafilatura

Chromium запускается в headless-режиме. DOM поисковой выдачи парсится в структурированные записи. Извлечение страниц использует Chromium для загрузки и trafilatura/BeautifulSoup для получения читаемого текста.

Конфигурация: переменные окружения

ПеременнаяПо умолчаниюНазначение
`BROWSER_SEARCH_MCP_HOME` `~/.browser-search-mcp` Директория runtime
`API_PORT` `8891` Порт search gateway
`MCP_PORT` `8892` Порт MCP
`SEARCH_API_TIMEOUT` `300` Таймаут MCP → search API, сек

Два режима подключения

Для HTTP-клиентов

Claude Desktop, llama.cpp Web UI, Codex - подключаются по Streamable HTTP:

http://127.0.0.1:8892/mcp

Для stdio-клиентов

Локальный OpenCode и другие CLI-клиенты - через stdio:

{
  "mcp": {
    "browser-search-mcp": {
      "type": "local",
      "command": ["npx", "-y", "browser-search-mcp", "--stdio"],
      "enabled": true,
      "timeout": 1800000
    }
  }
}

Практический рабочий цикл агента с browser-search-mcp

  1. 01

    Первичный поиск

    web_search с точным запросом и engine=auto - первичное сканирование сниппетов.

  2. 02

    Добор по другому движку

    При скудных результатах - повторный web_search с другим поисковиком.

  3. 03

    Извлечение источника

    extract_webpage для официальной документации или ключевого источника.

  4. 04

    Финальный ответ

    Агент формирует ответ с опорой на извлечённый текст. Для сложных тем - deep_research с 3 - 10 запросами за один раунд.

Инструменты и что они умеют

web_search

Один поисковый запрос - titles, URLs, snippets. Может сразу извлечь контент верхних результатов. Модель выбирает движок.

deep_research

Раунд исследования по 1 - 10 запросам. Сервер выполняет их все, группирует результаты - готовый материал для анализа.

extract_webpage

Извлечение читаемого текста одной страницы. URL известен - сервер загружает через Chromium и отдаёт чистый текст.

extract_webpages

Пакетное извлечение до 20 URL одновременно. Для сравнения источников, проверки фактов, сбора данных.

Дедупликация результатов

При engine=auto движки пробуются по очереди, уникальные ссылки накапливаются - без повторов.

Plain HTTP API

Прямой доступ к /api/search, /api/extract, /api/health, /api/tools, Swagger UI на /docs - для интеграций без MCP.

Сценарии и практическая польза

Агент-исследователь

Самый сильный сценарий. Агент получает задачу «сделай ресерч архитектур MCP-серверов», вызывает deep_research с запросами по разным углам темы, получает сгруппированные результаты из нескольких движков, затем extract_webpage для самых сильных источников - и выдаёт заключение, подкреплённое фактами.

Агент-верификатор

Модель отвечает на вопрос, но сомневается в факте. web_search с engine=auto, проверка нескольких источников, extract_webpage официальной документации - и ответ либо подтверждён, либо скорректирован.

On-premise LLM с выходом в интернет

Локальная модель в закрытом контуре (LM Studio, llama.cpp, Ollama) получает окно в интернет через этот сервер. Сама модель не знает сети. MCP-сервер на той же машине предоставляет поиск как инструмент.

Plain HTTP для кастомных интеграций

Если MCP-клиент не нужен, сервер отдаёт обычный HTTP API:

# Поиск
curl -X POST http://127.0.0.1:8891/api/search \
  -H "Content-Type: application/json" \
  -d '{"query":"vLLM vs SGLang benchmarking 2026","num_results":5,"engine":"auto"}'

# Извлечение страницы
curl -X POST http://127.0.0.1:8891/api/extract \
  -H "Content-Type: application/json" \
  -d '{"url":"https://docs.vllm.ai/en/latest/","max_length":4000}'

А также GET /api/search/simple?q=...&n=3&engine=duckduckgo, GET /api/tools (OpenAI-стиль), GET /api/tools/openrouter, и GET /docs для Swagger.

Совместимость с клиентами

Сервер работает со всеми MCP-клиентами, поддерживающими Streamable HTTP: Claude Desktop, Codex, Kilo, Cursor, llama.cpp Web UI. Для stdio-only клиентов - флаг --stdio.

Почему это важно для AI Platforms

Для нас этот проект - ещё один кирпичик в агентной экосистеме. ssh-chat-mcp даёт агенту руки на сервере. browser-search-mcp даёт агенту глаза в интернете. Вместе с приватной LLM и RAG это образует полноценный агентный стек, работающий из закрытого контура.

Инструменты сервера

ИнструментЧто делаетКлючевые параметры
web_search Один поисковый запрос query, engine (auto/google/bing/yahoo/duckduckgo), num_results, extract_content, language
deep_research Исследовательский раунд queries (1 - 10), engine, num_results_per_query, language
extract_webpage Извлечение одной страницы url, max_length (по умолчанию 4000)
extract_webpages Пакетное извлечение до 20 URL urls, max_length (по умолчанию 12000)

Строим агентную экосистему под ваш контур

browser-search-mcp, ssh-chat-mcp и другие наши MCP-инструменты - часть агентного стека AI Platforms. Если вам нужен ИИ-агент с поиском, доступом к серверам, RAG и приватной LLM - опишите задачу. Предложим архитектуру и план пилота.