google-surf-mcp
google-surf-mcp
✨Анти-бот MCP для поиска: без API-ключа✨
English | 한국어

Только для демонстрации. По умолчанию реальный поиск выполняется в headless-режиме (без видимого браузера). Установите
SURF_HEADLESS=false, чтобы сделать Chrome видимым, как на видео выше.
MCP для поиска в Google. Без API-ключа. Просто работает.
✅ Действительно работает (протестировано 6 бесплатных MCP для поиска в Google, все остальные не справились)
✅ Поиск + извлечение URL в одном MCP (заменяет обычную комбинацию MCP поиска и MCP загрузчика)
✅ 4 инструмента:
search/search_parallel/extract/search_extract✅ Без API-ключа, без прокси, без сервисов разгадывания капчи
✅ Автоматическое восстановление после CAPTCHA (открывается Chrome, человек решает один раз, вызов повторяется)
✅ Защита от SSRF в
extract(по умолчанию блокируетlocalhost, частные IP-адреса и метаданные AWS)
Что это
Подключите его к любому MCP-клиенту, и вы получите поиск Google в качестве инструмента.
Никаких сервисов разгадывания капчи. Когда в любом инструменте срабатывает CAPTCHA, открывается окно Chrome, чтобы человек мог её решить. Каждое решение сохраняет репутацию профиля в Google. Создано для устойчивого и этичного использования.
Для однократной установки требуется прогрев профиля (~1 сек) (см. раздел «Установка»).
Предназначено для локального использования. Не подходит для stateless / serverless развертывания.
Related MCP server: Brave Search MCP Server
Показатели
результат | |
последовательно | ~1.5 сек/запрос (первый вызов ~4 сек, включая настройку) |
параллельно x4 | ~1.5 сек (первый вызов ~9 сек, включая прогрев пула) |
параллельно x10 | ~4.5 сек |
search_extract x5 | ~5 сек (поиск + 5 параллельных извлечений) |
Измерено на рабочей станции с подключением 1 Гбит/с.
Стек
Playwright + постоянный профиль Chrome
playwright-extrastealthБлокировка ресурсов (изображения / медиа / шрифты) для скорости
Однократная загрузка профиля перед первым запуском
Mozilla Readability + Turndown для извлечения статей
Установка
Требуются Node 18+ и Google Chrome (или Chromium) в системе.
npx google-surf-mcp # actual MCP - register in client configИли локальное клонирование:
git clone https://github.com/HarimxChoi/google-surf-mcp
cd google-surf-mcp
npm install
npm run bootstrapbootstrap открывает окно Chrome. Выполните в нем один поиск в Google. Закройте. Профиль прогрет.
При необходимости переопределите пути:
CHROME_PATH=/path/to/chrome SURF_TZ=America/New_York npm run bootstrapИспользование с Claude Code
Вставьте это в ваш ~/.claude.json:
{
"mcpServers": {
"google-surf": {
"command": "npx",
"args": ["-y", "google-surf-mcp"]
}
}
}Перезапустите Claude Code. Готово. Инструменты search, search_parallel, extract, search_extract теперь доступны.
Для других MCP-клиентов используйте ту же структуру JSON в их файле конфигурации.
Вариант с локальным клонированием:
{
"mcpServers": {
"google-surf": {
"command": "node",
"args": ["/abs/path/to/google-surf-mcp/build/index.js"]
}
}
}Инструменты
search(query, limit?)— одиночный запрос, ~1.5 сек. Возвращает заголовок / URL / сниппет. Спонсорская реклама отфильтровывается.search_parallel(queries[], limit?)— пул из 4, максимум 10 запросов за вызов.extract(url, max_chars?)— загрузка URL, возврат статьи в формате markdown (Readability с резервным текстовым вариантом). Ошибки возвращают{ error }, никогда не вызывают исключение.search_extract(query, limit?, max_chars?)— поиск + параллельное извлечение в одном вызове. Возвращает результаты SERP, дополненные полным содержанием статей. Ошибки на отдельных страницах изолированы.
search_extract — это главный инструмент: SERP + полное содержание статьи за один вызов. Заменяет обычную комбинацию «MCP поиска + MCP загрузчика URL», которую обычно собирают агенты.
Переменные окружения
переменная | по умолчанию | примечания |
| автоопределение | абсолютный путь к бинарному файлу Chrome |
|
| где хранится прогретый профиль |
|
| локаль браузера |
| системная tz | например, |
|
| установите |
|
| мс простоя перед закрытием последовательного контекста и пула. |
|
| установите |
Устранение неполадок
CAPTCHA: автоматически открывается видимое окно Chrome (работает для всех 4 инструментов). Решите её один раз, выполните один поиск внутри, вызов повторится и продолжится. Чтобы вместо этого быстро завершаться с ошибкой, запускайте без подключенного дисплея.
"Chrome not found": установите Chrome или задайте
CHROME_PATH.Устаревшие селекторы: Google меняет классы. PR приветствуются.
Журнал изменений
См. CHANGELOG.md.
Лицензия
MIT
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/HarimxChoi/google-surf-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server