# google-surf-mcp

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

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 291
- Автор: HarimxChoi
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/HarimxChoi/google-surf-mcp
- Обновлён: 2026-10-20
- HTML: https://affpapa.org/nevibecode/mcp/google-surf-mcp

## Что делает

google-surf-mcp объединяет поиск Google, академических публикаций и GitHub-репозиториев. Результаты извлечения, планы, эксперименты и решения сохраняются в локальной памяти проекта. Для выдачи используются точный поиск, BM25, векторный поиск, связи кода и графовый поиск, после чего результаты объединяются через RRF и общий переранжировщик.

По умолчанию сервер запускает режим исследования и семь инструментов: `search`, `search_parallel`, `extract`, `scholar_search`, `project_memory_search`, `project_memory` и `health`. Он умеет связывать файлы, символы, импорты и вызовы через Tree-sitter, а граф экспортируется в HTML, Graphviz, D3 JSON и формат импорта Neo4j.

Браузерный поиск работает без API-ключа и использует системный Chrome; SearchApi можно подключить как основной или резервный провайдер. Для настройки доступны переменные `SEARCH_API`, `SURF_SEARCH_PROVIDER`, `SURF_SCHOLAR_PROVIDER`, `SURF_BROWSER_ENGINE` и `CHROME_PATH`. Без системного Chrome браузерный режим потребует настройки другого указанного движка.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `SEARCH_API`, `SURF_SEARCH_PROVIDER`, `SURF_SCHOLAR_PROVIDER`, `SURF_BROWSER_ENGINE`, `CHROME_PATH`, `SURF_PROFILE_ROOT`, `SURF_RESEARCH`, `SURF_RETRIEVAL_MODE`, `SURF_RESEARCH_ROOT`, `SURF_RESEARCH_VECTOR_MODEL` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env SEARCH_API=<SEARCH_API> --env SURF_SEARCH_PROVIDER=<SURF_SEARCH_PROVIDER> --env SURF_SCHOLAR_PROVIDER=<SURF_SCHOLAR_PROVIDER> --env SURF_BROWSER_ENGINE=<SURF_BROWSER_ENGINE> --env CHROME_PATH=<CHROME_PATH> --transport stdio google-surf-mcp -- npx -y google-surf-mcp
```
Вместо <…> подставьте свои значения. Ещё 24 переменные окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add google-surf-mcp --env SEARCH_API=<SEARCH_API> --env SURF_SEARCH_PROVIDER=<SURF_SEARCH_PROVIDER> --env SURF_SCHOLAR_PROVIDER=<SURF_SCHOLAR_PROVIDER> --env SURF_BROWSER_ENGINE=<SURF_BROWSER_ENGINE> --env CHROME_PATH=<CHROME_PATH> -- npx -y google-surf-mcp
```
Вместо <…> подставьте свои значения. Ещё 24 переменные окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "google-surf-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "google-surf-mcp"
            ],
            "env": {
                "SEARCH_API": "<SEARCH_API>",
                "SURF_SEARCH_PROVIDER": "<SURF_SEARCH_PROVIDER>",
                "SURF_SCHOLAR_PROVIDER": "<SURF_SCHOLAR_PROVIDER>",
                "SURF_BROWSER_ENGINE": "<SURF_BROWSER_ENGINE>",
                "CHROME_PATH": "<CHROME_PATH>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 24 переменные окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "google-surf-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "google-surf-mcp"
            ],
            "env": {
                "SEARCH_API": "<SEARCH_API>",
                "SURF_SEARCH_PROVIDER": "<SURF_SEARCH_PROVIDER>",
                "SURF_SCHOLAR_PROVIDER": "<SURF_SCHOLAR_PROVIDER>",
                "SURF_BROWSER_ENGINE": "<SURF_BROWSER_ENGINE>",
                "CHROME_PATH": "<CHROME_PATH>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 24 переменные окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e SEARCH_API=<SEARCH_API> -e SURF_SEARCH_PROVIDER=<SURF_SEARCH_PROVIDER> -e SURF_SCHOLAR_PROVIDER=<SURF_SCHOLAR_PROVIDER> -e SURF_BROWSER_ENGINE=<SURF_BROWSER_ENGINE> -e CHROME_PATH=<CHROME_PATH> google-surf-mcp npx -y google-surf-mcp
```
Вместо <…> подставьте свои значения. Ещё 24 переменные окружения — в README сервера

## Когда брать
- искать веб-страницы, статьи и GitHub-репозитории
- извлекать текст и метаданные из HTML и PDF
- сохранять результаты исследования в памяти проекта
- находить связи между файлами, символами и вызовами
- экспортировать локальный граф знаний

## Примеры запросов агенту
- Найди статьи и репозитории по теме распределённых очередей, затем сохрани результаты в памяти проекта.
- Извлеки текст и DOI из PDF по этой ссылке и свяжи источник с текущим проектом.
- Поищи в кодовой базе вызовы `createClient` и покажи связанные файлы через граф.

## Похожие
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43872

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
