# seo-monster

Локальный MCP-сервер, который отвечает на вопросы про SEO прямо в ассистенте: данные Search Console, GA4, PageSpeed и Cloudflare берутся с вашей машины.

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

## Что делает

seo-monster запускается как stdio MCP-сервер и отдаёт ассистенту 70 инструментов: Search Console, GA4, PageSpeed, CrUX, Cloudflare, IndexNow, отслеживание упоминаний бренда в ответах ИИ-поисковиков, подбор ключевых слов и технические проверки. Каждый вызов возвращает одинаковый JSON-конверт, поэтому ответы легко читать в чате. Есть тринадцать именованных промптов-сценариев.

Установка идёт через `uvx seo-monster`, пакет лежит на PyPI. Для этого пути нужен Python 3.11 или новее и `uv`, который даёт `uvx`. GUI-хосты не читают профиль оболочки, поэтому в конфиг MCP прописывайте полный путь к `uvx` — узнать его можно командой `which uvx`. Один раз пройдите вход в Google: `uvx --from seo-monster seo-monster auth`, затем попросите ассистента вызвать `system_status` и посмотрите, что подключено.

Чтение работает всегда. Две обычные записи — отправка карты сайта и запрос на индексирование — включены по умолчанию. Инструменты записи в Cloudflare (очистка кэша, редиректы, настройки, управление robots.txt) закрыты флагом `SEO_MCP_ALLOW_DESTRUCTIVE`, а для самых рискованных нужен ещё и токен `confirm` в самом вызове. Учётные данные сервер берёт из вашего окружения или файла конфигурации, наружу ничего не уходит.

## Требования
- Нужно: Python и uv (команды через uvx)
- Переменные окружения: `SEO_MCP_GOOGLE_OAUTH_CLIENT`, `SEO_MCP_GOOGLE_TOKEN`, `SEO_MCP_GSC_DEFAULT_SITE`, `SEO_MCP_GA4_PROPERTY_ID`, `PSI_API_KEY`, `CF_API_TOKEN`, `CF_ZONE`, `SEO_MCP_INDEXNOW_KEY`, `SEO_MCP_INDEXNOW_KEY_LOCATION`, `SEO_MCP_ALLOW_DESTRUCTIVE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

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

**Командой платформы**
```bash
claude mcp add --env SEO_MCP_GOOGLE_OAUTH_CLIENT=<SEO_MCP_GOOGLE_OAUTH_CLIENT> --env SEO_MCP_GOOGLE_TOKEN=<SEO_MCP_GOOGLE_TOKEN> --env SEO_MCP_GSC_DEFAULT_SITE=<SEO_MCP_GSC_DEFAULT_SITE> --env SEO_MCP_GA4_PROPERTY_ID=<SEO_MCP_GA4_PROPERTY_ID> --env PSI_API_KEY=<PSI_API_KEY> --transport stdio seo-monster -- uvx seo-monster
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from seo-monster <команда>

### Codex

**Командой платформы**
```bash
codex mcp add seo-monster --env SEO_MCP_GOOGLE_OAUTH_CLIENT=<SEO_MCP_GOOGLE_OAUTH_CLIENT> --env SEO_MCP_GOOGLE_TOKEN=<SEO_MCP_GOOGLE_TOKEN> --env SEO_MCP_GSC_DEFAULT_SITE=<SEO_MCP_GSC_DEFAULT_SITE> --env SEO_MCP_GA4_PROPERTY_ID=<SEO_MCP_GA4_PROPERTY_ID> --env PSI_API_KEY=<PSI_API_KEY> -- uvx seo-monster
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from seo-monster <команда>

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "seo-monster": {
            "command": "uvx",
            "args": [
                "seo-monster"
            ],
            "env": {
                "SEO_MCP_GOOGLE_OAUTH_CLIENT": "<SEO_MCP_GOOGLE_OAUTH_CLIENT>",
                "SEO_MCP_GOOGLE_TOKEN": "<SEO_MCP_GOOGLE_TOKEN>",
                "SEO_MCP_GSC_DEFAULT_SITE": "<SEO_MCP_GSC_DEFAULT_SITE>",
                "SEO_MCP_GA4_PROPERTY_ID": "<SEO_MCP_GA4_PROPERTY_ID>",
                "PSI_API_KEY": "<PSI_API_KEY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from seo-monster <команда>

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "seo-monster": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "seo-monster"
            ],
            "env": {
                "SEO_MCP_GOOGLE_OAUTH_CLIENT": "<SEO_MCP_GOOGLE_OAUTH_CLIENT>",
                "SEO_MCP_GOOGLE_TOKEN": "<SEO_MCP_GOOGLE_TOKEN>",
                "SEO_MCP_GSC_DEFAULT_SITE": "<SEO_MCP_GSC_DEFAULT_SITE>",
                "SEO_MCP_GA4_PROPERTY_ID": "<SEO_MCP_GA4_PROPERTY_ID>",
                "PSI_API_KEY": "<PSI_API_KEY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from seo-monster <команда>

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e SEO_MCP_GOOGLE_OAUTH_CLIENT=<SEO_MCP_GOOGLE_OAUTH_CLIENT> -e SEO_MCP_GOOGLE_TOKEN=<SEO_MCP_GOOGLE_TOKEN> -e SEO_MCP_GSC_DEFAULT_SITE=<SEO_MCP_GSC_DEFAULT_SITE> -e SEO_MCP_GA4_PROPERTY_ID=<SEO_MCP_GA4_PROPERTY_ID> -e PSI_API_KEY=<PSI_API_KEY> seo-monster uvx seo-monster
```
Вместо <…> подставьте свои значения. Ещё 14 переменных окружения — в README сервера. uvx запускает команду с именем пакета; если в README она другая — uvx --from seo-monster <команда>

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

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