# Google Search Console

Подключает данные Search Console к ИИ-агенту: аналитика, индексация, карты сайта и диагностика SEO прямо в чате.

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

## Что делает

Сервер запускается как локальный Streamable HTTP Worker на `127.0.0.1` (порт `8080` по умолчанию) — это не stdio-процесс. Стартует через `npx -y @digestseo/mcp-gsc`, после чего клиент подключается к `http://127.0.0.1:8080/mcp`. Перед первым входом нужно завести OAuth-приложение в Google Cloud и разрешить точный callback `http://127.0.0.1:8080/google/callback`.

Без переменных `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` и `TOKEN_ENCRYPTION_KEY` лаунчер завершится, не дойдя до Wrangler. Ключ шифрования токенов должен быть валидным base64 ровно на 32 байта — иначе запуск тоже отклонится. Локальное состояние, включая зашифрованную сессию Google, лежит в `~/.mcp-gsc/state`; при переезде на другую папку через `MCP_GSC_STATE_DIR` тот же ключ нужно сохранить, иначе refresh-токены не расшифруются.

По умолчанию режим `GSC_ACCESS_MODE=readwrite`. Если нужны только чтение и отчёты, выставьте `readonly` — тогда OAuth запросит лишь область чтения, а инструменты изменения не зарегистрируются. Для Cursor Cloud Agents loopback-адрес не подойдёт: они работают в изолированных облачных ВМ, поэтому нужен свой HTTPS Worker.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `PORT`, `GSC_ACCESS_MODE`, `MCP_GSC_STATE_DIR`, `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `TOKEN_ENCRYPTION_KEY` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add --env PORT=<PORT> --env GSC_ACCESS_MODE=<GSC_ACCESS_MODE> --env MCP_GSC_STATE_DIR=<MCP_GSC_STATE_DIR> --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> --transport stdio akzar1el-google-search-console -- npx -y @digestseo/mcp-gsc
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add akzar1el-google-search-console --env PORT=<PORT> --env GSC_ACCESS_MODE=<GSC_ACCESS_MODE> --env MCP_GSC_STATE_DIR=<MCP_GSC_STATE_DIR> --env GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> --env GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> -- npx -y @digestseo/mcp-gsc
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "akzar1el-google-search-console": {
            "command": "npx",
            "args": [
                "-y",
                "@digestseo/mcp-gsc"
            ],
            "env": {
                "PORT": "<PORT>",
                "GSC_ACCESS_MODE": "<GSC_ACCESS_MODE>",
                "MCP_GSC_STATE_DIR": "<MCP_GSC_STATE_DIR>",
                "GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
                "GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "akzar1el-google-search-console": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@digestseo/mcp-gsc"
            ],
            "env": {
                "PORT": "<PORT>",
                "GSC_ACCESS_MODE": "<GSC_ACCESS_MODE>",
                "MCP_GSC_STATE_DIR": "<MCP_GSC_STATE_DIR>",
                "GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
                "GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e PORT=<PORT> -e GSC_ACCESS_MODE=<GSC_ACCESS_MODE> -e MCP_GSC_STATE_DIR=<MCP_GSC_STATE_DIR> -e GOOGLE_CLIENT_ID=<GOOGLE_CLIENT_ID> -e GOOGLE_CLIENT_SECRET=<GOOGLE_CLIENT_SECRET> akzar1el-google-search-console npx -y @digestseo/mcp-gsc
```
Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера

## Когда брать
- посмотреть, по каким запросам сайт теряет показы
- разобрать страницы, выпавшие из индекса
- проверить статус карт сайта и ошибки обхода
- собрать отчёт по кликам и позициям за период
- найти страницы с высокими показами и низким CTR

## Примеры запросов агенту
- Покажи запросы, по которым за последние 28 дней упали показы
- Проверь, какие страницы выпали из индекса, и предложи, что исправить
- Собери отчёт по картам сайта: что отправлено и где ошибки

## Похожие
- [pp-google-search-console](https://affpapa.org/nevibecode/skills/pp-google-search-console.md) — скилл · 511 установок
- [google-search-console](https://affpapa.org/nevibecode/mcp/sarahpark-google-search-console.md) — MCP-сервер · ★ 9
- [Google Search Console MCP](https://affpapa.org/nevibecode/mcp/google-search-console-mcp.md) — MCP-сервер
- [search-console-mcp](https://affpapa.org/nevibecode/plugins/search-console-mcp.md) — плагин · ★ 2033
- [Search Console MCP](https://affpapa.org/nevibecode/mcp/search-console-mcp.md) — MCP-сервер · ★ 310
- [scraping-google-search-results](https://affpapa.org/nevibecode/skills/scraping-google-search-results.md) — скилл · 759 установок

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

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