API ВЕГА

DigestSEO — MCP для анализа видимости в ИИ в SEO и GEO

Быстрая установка

Сервер работает локально через stdio с вашими API-ключами — все данные остаются на вашем устройстве (см. Политику конфиденциальности). Укажите ключ хотя бы для одного движка (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, PERPLEXITY_API_KEY, XAI_API_KEY, SERPAPI_API_KEY); движки без ключа будут автоматически пропущены.

Среда выполнения: Node.js 22.13+ (в CI проверяются Node 22 и 24).

Claude Desktop / любой MCP-клиент (npx):

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"],
      "env": {
        "OPENAI_API_KEY": "sk-...",
        "GEMINI_API_KEY": "your_key_here"
      }
    }
  }
}

ChatGPT (удалённый MCP): ChatGPT не подключается напрямую к локальным MCP-серверам со STDIO. Для ChatGPT используйте приведённую ниже инструкцию по настройке собственного удалённого MCP-сервера или настройку OpenAI Secure MCP Tunnel для сервера, работающего на локальной или закрытой машине. Публичный адрес geo-mcp.digestseo.com/mcp не является готовым сервисом для сканирования без API-ключей.

Perplexity Computer (удалённый MCP): Perplexity Computer поддерживает пользовательские удалённые MCP-коннекторы на тарифах, где доступна эта функция. После самостоятельного развёртывания mcp-geo откройте Настройки аккаунта > Коннекторы > + Пользовательский коннектор, выберите Удалённый, укажите имя digestseo и введите URL собственного развёртывания в формате https:///mcp. Для сценария с Worker выберите вариант OAuth в настройках коннектора; если вы настроили CONNECT_SECRET, пройдите соответствующую проверку в браузере при подключении. Не используйте публичный адрес geo-mcp.digestseo.com/mcp как готовый сервис для сканирования без API-ключей. См. актуальные рекомендации Perplexity по подключению Computer.

Replit Agent (удалённый MCP): после самостоятельного развёртывания mcp-geo откройте Интеграции -> MCP-серверы для Replit Agent -> Добавить MCP-сервер, укажите имя digestseo и введите URL собственного развёртывания в формате https:///mcp. При запросе выберите OAuth: Replit поддерживает динамическую регистрацию клиентов OAuth (DCR), которую self-hosted Worker обеспечивает через стандартные конечные точки обнаружения и регистрации. Выберите Проверить и сохранить, затем пройдите авторизацию в браузере; если вы настроили CONNECT_SECRET, введите его на соответствующем этапе. Replit поддерживает удалённые MCP-серверы с HTTPS, а не локальный процесс stdio из этого пакета. Используйте настроенный URL Worker и не рассматривайте публичный адрес geo-mcp.digestseo.com/mcp как готовый сервис с ключами провайдера. См. актуальное руководство Replit по MCP.

Claude Code:

claude mcp add --transport stdio digestseo -s user --env GEMINI_API_KEY=your_key_here -- npx -y @digestseo/mcp-geo

Также можно установить ту же локальную MCP-интеграцию через маркетплейс Claude Code, управляемый владельцем этого репозитория:

/plugin marketplace add AKzar1el/mcp-geo
/plugin install digestseo-geo@digestseo-mcp

Плагин маркетплейса использует файл .mcp.json из репозитория для запуска npx -y @digestseo/mcp-geo. Для обнаружения инструментов ключи провайдеров не нужны; для сканирования с использованием движков предоставьте процессу Claude Code только те ключи провайдеров, которые собираетесь использовать. Приведённая выше команда claude mcp add остаётся самым простым вариантом, если вы хотите явно задать ключи провайдеров в конфигурации сервера.

Codex CLI:

codex mcp add digestseo -- npx -y @digestseo/mcp-geo

Для обнаружения инструментов достаточно команды без ключей. Если для сканирования нужны движки, добавьте нужные ключи провайдеров, указав несколько параметров --env NAME=VALUE перед --.

Amp CLI:

amp mcp add digestseo -- npx -y @digestseo/mcp-geo

Amp запускает сервер как локальный MCP-сервер со STDIO. Для обнаружения инструментов достаточно команды без ключей; перед сканированием с использованием движков предоставьте процессу Amp только нужные ключи провайдеров или настройте их в локальных параметрах MCP env в Amp, не сохраняя секреты в репозитории. См. актуальное руководство Amp по MCP.

OpenCode v2:

opencode mcp add digestseo --global -- npx -y @digestseo/mcp-geo

OpenCode v2 запускает сервер локально со STDIO. Чтобы настроить его только для проекта, не указывайте --global. Для обнаружения инструментов MCP ключи не нужны. Для сканирования с использованием движков отредактируйте созданную конфигурацию OpenCode v2 и добавьте только нужные переменные провайдеров в mcp.servers.digestseo.environment, связав каждую с переменной окружения, например "OPENAI_API_KEY": "{env:OPENAI_API_KEY}". Храните само значение секрета в окружении процесса, а не в файле конфигурации. Проверьте подключение командой opencode mcp list. См. актуальное руководство OpenCode v2 по MCP.

Mistral Vibe Code: добавьте mcp-geo в пользовательский файл ~/.vibe/config.toml или в файл конфигурации проекта ./.vibe/config.toml:

[[mcp_servers]]
name = "digestseo"
transport = "stdio"
command = "npx"
args = ["-y", "@digestseo/mcp-geo"]

Для обнаружения инструментов достаточно записи без ключей. Для сканирования с использованием движков передавайте только нужные ключи провайдеров через настройки окружения STDIO в Vibe или через окружение, унаследованное Vibe, не сохраняя секреты в репозитории. Чтобы проверить сервер и его инструменты в Vibe, используйте /mcp digestseo (или /mcp). См. актуальное руководство Mistral по MCP-серверам и справочник по настройке Vibe.

LibreChat: добавьте mcp-geo в librechat.yaml как локальный сервер со STDIO:

mcpServers:
  digestseo:
    type: stdio
    command: npx
    args:
      - -y
      - '@digestseo/mcp-geo'

После изменения librechat.yaml перезапустите LibreChat. Для обнаружения инструментов MCP достаточно записи без ключей. Перед сканированием с использованием движков предоставьте процессу LibreChat только те API-ключи провайдеров, которые собираетесь использовать. Не сохраняйте секреты в файле YAML. См. актуальные руководство LibreChat по настройке MCP и руководство по функциям MCP.

AnythingLLM: добавьте mcp-geo через Настройки -> Конфигурация агента -> MCP или объедините приведённую ниже запись с файлом anythingllm_mcp_servers.json в каталоге plugins хранилища AnythingLLM:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

AnythingLLM использует серверы, запускаемые командами, как локальные MCP-серверы со STDIO и может запускать их, когда агенту нужны их инструменты. Для обнаружения MCP достаточно записи без ключей; перед сканированием с использованием движков добавьте только нужные переменные окружения провайдеров через настройки MCP в AnythingLLM или окружение процесса. Не сохраняйте секреты в открытом виде. См. актуальное руководство AnythingLLM по совместимости с MCP.

Langflow: откройте Настройки -> MCP-серверы (или боковую панель MCP -> Добавить MCP-сервер), выберите STDIO, укажите имя сервера digestseo, задайте для Command значение npx и добавьте аргументы -y и @digestseo/mcp-geo. Для обнаружения инструментов MCP достаточно сервера без ключей; перед сканированием с использованием движков добавьте только нужные ключи провайдеров в поля Переменные окружения MCP в Langflow, не сохраняя секреты в потоке. Затем выберите сохранённый сервер в компоненте Инструменты MCP и подключите его инструменты к агенту Langflow. Если сам Langflow работает в Docker, образ должен содержать Node.js, иначе он не сможет запустить сервер npx. См. актуальное руководство Langflow по MCP-клиенту.

Flowise: для локального или самостоятельно размещённого экземпляра Flowise добавьте инструмент Custom MCP к агенту и настройте STDIO с параметрами {"command":"npx","args":["-y","@digestseo/mcp-geo"]}. Обновите раздел Доступные действия, чтобы загрузить двенадцать инструментов mcp-geo. Для обнаружения достаточно ключей провайдеров не указывать; перед сканированием с использованием движков предоставьте среде процесса или службы Flowise только те ключи провайдеров, которые собираетесь использовать. Flowise рекомендует использовать STDIO только при локальном запуске, а не в облачном сервисе: пакет npx запускается на хосте Flowise. См. актуальное руководство Flowise по инструментам и MCP.

Kilo Code: откройте Настройки -> Поведение агента -> MCP-серверы, добавьте сервер Локальный (stdio) с именем digestseo и запустите npx с аргументами -y и @digestseo/mcp-geo. Эквивалентная запись для kilo.jsonc в macOS/Linux:

{
  "mcp": {
    "digestseo": {
      "type": "local",
      "command": ["npx", "-y", "@digestseo/mcp-geo"],
      "enabled": true
    }
  }
}

В Windows в актуальных рекомендациях Kilo используется "command": ["cmd", "/c", "npx", "-y", "@digestseo/mcp-geo"]. Для обнаружения инструментов ключи провайдеров не нужны. Перед сканированием с использованием движков добавьте только ключи тех провайдеров, которыми собираетесь пользоваться, через настройки среды MCP в Kilo или в локальное окружение процесса. Не храните секреты в открытом виде в файле проекта kilo.jsonc. См. актуальные руководство по настройке MCP и руководство по MCP для CLI от Kilo Code.

Google Antigravity: Antigravity 2.0, Antigravity CLI и Antigravity IDE могут запускать пользовательские локальные MCP-серверы STDIO. В IDE откройте панель агента -> MCP Servers -> Manage MCP Servers -> View raw config; в CLI команда /mcp открывает интерактивный диспетчер MCP. Добавьте digestseo в глобальный файл ~/.gemini/config/mcp_config.json или в файл рабочей области .agents/mcp_config.json:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

Конфигурации без ключей достаточно для обнаружения инструментов MCP. Перед сканированием с использованием движков задайте в окружении локального сервера только ключи нужных вам провайдеров. Если вы используете файл .agents/mcp_config.json в рабочей области, не храните секреты в открытом виде в общих или добавленных в систему контроля версий копиях этого файла. См. актуальное руководство по MCP для Antigravity от Google.

Cherry Studio: откройте Settings -> MCP -> MCP Servers -> Add, выберите STDIO, задайте серверу имя digestseo, укажите npx в поле Command и добавьте -y и @digestseo/mcp-geo в поле Arguments. Для обнаружения инструментов MCP достаточно сервера без ключей. Перед сканированием с использованием движков добавьте только ключи нужных провайдеров в поля переменных среды MCP в Cherry Studio, а не в запросы или снимки экрана. Включите сервер, проверьте его раздел Tools, а затем назначьте его нужному Agent в разделе Work -> Agent -> Edit -> MCP. См. актуальные официальные руководство по настройке MCP и руководство по работе с MCP от Cherry Studio.

Raycast AI: откройте Install MCP Server (или Manage MCP Servers -> Install New Server), выберите Standard Input/Output, укажите npx в поле Command, а -y и @digestseo/mcp-geo — в поле Arguments. Установка без ключей позволяет обнаруживать инструменты. Перед сканированием с использованием движков добавьте только нужные ключи провайдеров в поля MCP Environment в Raycast, а не прописывайте их напрямую в общих файлах проекта. Перезапустите Raycast, если добавили npx в PATH уже после запуска приложения. См. актуальное руководство по MCP от Raycast.

Msty Studio: откройте Toolbox -> Add New Tool, выберите STDIO / JSON и укажите:

{
  "command": "npx",
  "args": ["-y", "@digestseo/mcp-geo"]
}

Для обнаружения инструментов MCP достаточно добавить инструмент без ключей. Для сканирования с использованием движков задайте только нужные ключи провайдеров в разделе Environments в Msty Studio и назначьте их инструменту, а не сохраняйте секреты в открытом виде в общих файлах. Msty Studio Desktop может запускать инструмент локально; для работы с локальными инструментами MCP в Studio Web требуется подключение Desktop/Sidecar, описанное в документации. См. актуальные руководство по MCP в Toolbox и руководство по окружениям от Msty Studio.

Jan Desktop / Jan Agent: в Jan Desktop откройте Settings -> MCP Servers -> + Add MCP Server, выберите STDIO, укажите npx в поле Command и добавьте -y и @digestseo/mcp-geo в поле Args. Для обнаружения инструментов достаточно сервера без ключей; добавьте только ключи провайдеров, которыми собираетесь пользоваться, через поля MCP Env в Jan. Jan Agent использует ту же конфигурацию MCP. Также сервер можно добавить из терминала командой jan cli mcp add digestseo --command npx --arg -y --arg @digestseo/mcp-geo, а затем включить его. Если вы используете Path B на собственном Worker, Jan также поддерживает MCP-серверы HTTP по адресу https:///mcp и обрабатывает объявленный OAuth с помощью обнаружения метаданных, динамической регистрации клиента и потока авторизации с кодом и PKCE. Не представляйте публичную конечную точку DigestSEO как готовый сервис для работы с ключами провайдеров. См. актуальные руководство по MCP-серверам и руководство по MCP для Agent от Jan.

Zed: откройте Settings -> AI -> MCP Servers, выберите Add Server -> Add Local Server и настройте digestseo, указав npx в качестве команды и -y, @digestseo/mcp-geo в качестве аргументов. Для обнаружения инструментов достаточно локального сервера без ключей. Для сканирования с использованием движков добавьте в локальную карту MCP env в Zed только ключи нужных провайдеров, а не добавляйте секреты в общие настройки проекта. Если вместо этого вы используете Path B на собственном Worker, выберите Add Remote Server и укажите https:///mcp. Если заголовок Authorization не задан, Zed использует стандартный поток OAuth MCP. Не рассматривайте публичную конечную точку DigestSEO как готовый сервис для работы с ключами провайдеров. См. актуальное руководство по MCP от Zed.

TraeCode: откройте Settings -> MCP -> Add -> Manually add и вставьте эту локальную конфигурацию STDIO либо сохраните такой же объект mcpServers в файле .trae/mcp.json доверенного проекта:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

Для локальных MCP-серверов TraeCode рекомендует NPX/UVX и поддерживает значения env, необходимые для сканирования с использованием движков и ключей провайдеров. Для обнаружения инструментов достаточно конфигурации без ключей; не храните секреты провайдеров в открытом виде в файле проекта .trae/mcp.json. TraeCode CLI также может загружать этот файл MCP на уровне проекта. Другой вариант — добавить аналогичную запись stdio командой traecli config edit и проверить её с помощью /mcp. См. актуальные инструкции по настройке MCP в IDE и руководство по MCP для CLI от TraeCode.

Qwen Code: в этом репозитории уже есть переносимые метаданные Agent Plugins v1, которые Qwen Code может напрямую загружать с GitHub:

qwen extensions install AKzar1el/mcp-geo

Либо добавьте только локальный MCP-сервер как пользовательскую запись STDIO:

qwen mcp add --scope user digestseo npx -y @digestseo/mcp-geo
qwen mcp list

Qwen Code изначально поддерживает Agent Plugins v1, включая файлы plugin.json и mcp.json в корне репозитория. Поэтому вариант с расширением использует тот же сервер npx -y @digestseo/mcp-geo без дополнительной обёртки. Прямая конфигурация MCP хранится в ~/.qwen/settings.json; серверы, заданные на уровне проекта, можно разместить в .qwen/settings.json внутри mcpServers. Для обнаружения инструментов достаточно конфигурации без ключей. Перед сканированием с использованием движков предоставьте процессу Qwen только переменные провайдеров, которыми собираетесь пользоваться, или укажите уже существующие переменные среды в карте MCP env вместо того, чтобы сохранять ключи в открытом виде в настройках проекта. Запустите Qwen Code и выполните /mcp, чтобы проверить сервер и инструменты. См. актуальные руководство по расширениям и руководство по MCP-серверам от Qwen Code.

Augment Code / Auggie: в расширении Augment для VS Code или JetBrains откройте Settings -> MCP servers и выберите Import from JSON, затем вставьте:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

Для Auggie CLI аналогичная установка на уровне пользователя выглядит так:

auggie mcp add digestseo -- npx -y @digestseo/mcp-geo
auggie mcp list

Auggie сохраняет MCP-серверы в ~/.augment/settings.json. Чтобы просмотреть их в сеансе Auggie, выполните /mcp. Для обнаружения инструментов достаточно конфигурации без ключей. Перед сканированием с использованием движков добавьте только нужные ключи провайдеров через поля среды MCP в Augment или параметр --env NAME=VALUE в Auggie, а не сохраняйте секреты в открытом виде. Если двенадцать локальных инструментов занимают слишком много контекста агента, можно включить необязательный MCP Tool Search в Augment: он загружает схемы инструментов по запросу. См. актуальные руководство по настройке MCP и руководство по интеграциям и MCP для Auggie от Augment.

GitHub Copilot CLI:

copilot mcp add digestseo -- npx -y @digestseo/mcp-geo

Базовая установка не использует ключи провайдеров, поэтому обнаружение инструментов работает сразу. Перед запуском сканирования добавьте только нужные ключи движков с помощью параметра --env NAME=VALUE в Copilot CLI.

GitHub Copilot cloud agent / code review: администраторы репозитория также могут добавить mcp-geo в разделе Settings -> Copilot -> MCP servers. Используйте локальный npm-пакет, а не размещённую конечную точку OAuth, поскольку GitHub Copilot cloud agent и code review пока не поддерживают удалённые MCP-серверы, использующие OAuth.

Начните с ограниченного профиля только для чтения, поскольку инструменты MCP репозитория могут выполняться автономно:

{
  "mcpServers": {
    "digestseo": {
      "type": "local",
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"],
      "tools": [
        "check_visibility",
        "get_visibility_history",
        "compare_competitors",
        "get_citations",
        "list_brands",
        "list_prompts"
      ]
    }
  }
}

Для проверки кода в Copilot доступны только инструменты, метаданные MCP которых указывают на режим «только для чтения». У перечисленных выше инструментов уже задано readOnlyHint: true. Этот профиль подходит для задач, которым нужна локальная база данных mcp-geo, созданная в рамках текущего запуска. Если задача должна создавать или обновлять данные о видимости, явно добавьте только те инструменты с изменяющим поведением, использование которых хотите разрешить, например track_brand и refresh_brand. Учтите, что refresh_brand может вызывать платные API провайдеров.

Учетные данные провайдеров следует хранить в секретах/переменных Agents Copilot, а не в JSON-файлах репозитория. GitHub предоставляет только имена, начинающиеся с COPILOT_MCP_; передайте выбранный секрет в mcp-geo через env, например "OPENAI_API_KEY": "$COPILOT_MCP_OPENAI_API_KEY". См. актуальное руководство GitHub по настройке MCP для репозитория.

Переносимый плагин агента (GitHub Copilot / VS Code / Kiro и другие клиенты Agent Plugins 1.0): теперь в репозитории есть стандартная пара файлов в корне: plugin.json + mcp.json. GitHub Copilot CLI позволяет установить плагин прямо из GitHub:

copilot plugin install AKzar1el/mcp-geo

В VS Code выполните команду Chat: Install Plugin from Source и укажите https://github.com/AKzar1el/mcp-geo. В Kiro выберите Powers -> Add Custom Power -> Import power from GitHub и укажите тот же URL репозитория. Переносимый плагин запускает npx -y @digestseo/mcp-geo; для обнаружения инструментов ключи провайдеров не нужны. Для сканирования с использованием движка сервер получает только те ключи провайдеров, которые вы намеренно предоставили клиенту. Приведенные выше штатные способы установки по-прежнему доступны.

Qoder CLI:

qoder mcp add digestseo -- npx -y @digestseo/mcp-geo
qoder mcp list

Qoder запускает сервер как локальный MCP-сервер STDIO. Команды без ключей достаточно для обнаружения инструментов; перед сканированием с использованием движка предоставьте процессу Qoder только те ключи провайдеров, которые хотите использовать. Если Qoder уже запущен, выполните /mcp reload, чтобы заново обнаружить сервер и инструменты. См. актуальные руководство Qoder по MCP-серверам и справочник по MCP.

Docker Agent: Docker Agent может запускать локальные MCP-серверы STDIO напрямую из YAML-файла агента. Добавьте этот набор инструментов в конфигурацию агента, которому нужен mcp-geo:

toolsets:
  - type: mcp
    command: npx
    args: ["-y", "@digestseo/mcp-geo"]

Конфигурации без ключей достаточно для обнаружения инструментов. Для сканирования с использованием движка укажите в карте env: набора инструментов только необходимые ключи провайдеров. Docker Agent поддерживает подстановку ${env.NAME}. Не сохраняйте значения секретов в репозитории. См. актуальную документацию Docker по локальным инструментам MCP.

goose: добавьте mcp-geo как локальное расширение STDIO в ~/.config/goose/config.yaml (macOS/Linux) или %APPDATA%\Block\goose\config\config.yaml (Windows):

extensions:
  digestseo-geo:
    type: stdio
    name: digestseo-geo
    enabled: true
    cmd: npx
    args: ["-y", "@digestseo/mcp-geo"]
    timeout: 300

Для обнаружения инструментов достаточно расширения без ключей. Перед сканированием с использованием движка укажите для этого расширения только необходимые переменные окружения провайдеров через настройки расширения или хранилище секретов goose. Не помещайте открытые API-ключи в YAML-файл. Добавить тот же сервер можно и через интерактивную настройку: goose configure -> Add Extension -> Command-Line Extension. См. актуальные инструкции по настройке расширений goose и справочник по конфигурации.

GitLab Duo CLI: актуальные версии GitLab Duo CLI могут использовать маркетплейсы плагинов, совместимые с Claude. Добавьте этот репозиторий и установите существующий плагин digestseo-geo:

glab duo plugin marketplace add https://github.com/AKzar1el/mcp-geo.git
glab duo plugin install digestseo-geo@digestseo-mcp

Установленный плагин загружает тот же локальный MCP-сервер npx -y @digestseo/mcp-geo из .mcp.json. Ключи провайдеров не нужны для обнаружения инструментов. Перед сканированием с использованием движка предоставьте процессу GitLab Duo CLI только те ключи провайдеров, которые хотите использовать.

Factory Droid:

droid mcp add digestseo "npx -y @digestseo/mcp-geo"
droid mcp list

Droid запускает сервер как локальный MCP-сервер STDIO. Для обнаружения инструментов достаточно установки без ключей; перед сканированием с использованием движка добавьте в пользовательскую конфигурацию MCP Droid только выбранные ключи провайдеров. Не храните секреты провайдеров в файлах проекта .factory/mcp.json.

Amazon Q Developer (IDE): откройте панель чата Q Developer ? Tools ? +, выберите STDIO, задайте серверу имя digestseo, укажите npx в поле Command и добавьте -y и @digestseo/mcp-geo в поле Arguments. Перед запуском сканирования добавьте только необходимые переменные окружения провайдеров. Для обнаружения инструментов MCP ключи не нужны.

Amazon Q Developer CLI: добавьте такой же локальный сервер STDIO через встроенный менеджер MCP Q:

q mcp add --name digestseo --command npx --args '["-y", "@digestseo/mcp-geo"]'
q mcp list

Сервера без ключей достаточно для обнаружения инструментов MCP. Перед сканированием с использованием движка добавьте в конфигурацию MCP Q CLI только те переменные провайдеров, которые собираетесь использовать. Не сохраняйте секреты в репозитории. Amazon Q Developer CLI поддерживает локальные MCP-серверы, запускаемые как процессы, и управляет ими через q mcp; чтобы посмотреть загруженные инструменты, выполните /tools в сеансе Q. См. актуальные руководство AWS по MCP для Amazon Q Developer и справочник по настройке MCP в CLI.

JetBrains AI Assistant (IDE): откройте Settings > Tools > AI Assistant > Model Context Protocol (MCP) > Add, выберите STDIO и укажите:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

JetBrains AI Assistant поддерживает локальные MCP-серверы STDIO и NPX. Конфигурации без ключей достаточно для обнаружения инструментов. Перед сканированием с использованием движка предоставьте процессу IDE только нужные ключи провайдеров или импортируйте уже настроенный сервер Claude MCP.

JetBrains Junie (CLI / IDE): выполните /mcp в Junie CLI, чтобы открыть MCP Installation Assistant. Можно найти mcp-geo в Official MCP Registry или вручную добавить локальный сервер в .junie/mcp/mcp.json для одного проекта либо в ~/.junie/mcp/mcp.json для пользователя:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

Junie CLI и плагин Junie для IDE используют одну и ту же конфигурацию MCP. Сервера без ключей достаточно для обнаружения инструментов. Перед сканированием с использованием движка предоставьте процессу Junie только те ключи провайдеров, которые собираетесь использовать. Не помещайте открытые секреты в общий или добавляемый в репозиторий файл проекта .junie/mcp/mcp.json. Выполните /mcp, чтобы проверить активный сервер и его инструменты. См. актуальные руководство JetBrains по MCP в Junie CLI и инструкции по настройке MCP в Junie IDE.

JetBrains Air: в корне репозитория уже есть стандартный файл .mcp.json, запускающий npx -y @digestseo/mcp-geo. В Air откройте Settings > AI > MCP Servers, включите MCP support и Launch workspace MCP servers, а затем выберите область Workspace, чтобы Air использовал этот файл из репозитория. Конфигурация репозитория не содержит секретов провайдеров и подходит для обнаружения инструментов без ключей. Для сканирования с использованием движка выбранные ключи провайдеров должны быть доступны в окружении локального серверного процесса. Не добавляйте их в .mcp.json, который хранится в репозитории. См. руководство JetBrains Air по MCP-серверам.

Visual Studio 2022 17.14+ / Visual Studio 2026: Visual Studio использует собственный формат конфигурации MCP с ключом servers. Создайте %USERPROFILE%\.mcp.json для установки на уровне пользователя или \.mcp.json для одного решения:

{
  "servers": {
    "digestseo": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

Откройте GitHub Copilot Chat в режиме Agent и через меню Tools проверьте, что digestseo доступен. Для обнаружения инструментов ключи провайдеров не нужны. Перед сканированием с использованием движка предоставьте процессу Visual Studio только те ключи провайдеров, которые хотите использовать. Не сохраняйте секреты в файле решения. См. актуальные инструкции Microsoft по настройке MCP в Visual Studio.

Cursor:

Windsurf: откройте Manage MCPs → View raw config и добавьте локальный пакет stdio:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

Укажите только ключи тех провайдеров, которыми хотите пользоваться. Даже без ключей можно обнаруживать инструменты MCP.

Roo Code: откройте MCP Servers > Edit Global MCP или создайте .roo/mcp.json для установки в рамках проекта и добавьте:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

Roo Code поддерживает локальные MCP-серверы STDIO. Конфигурации без ключей достаточно для обнаружения инструментов. Перед запуском сканирования добавьте ключи только тех провайдеров, которыми хотите пользоваться. Если в Windows Roo не удаётся напрямую запустить npx, используйте "command": "cmd" с "args": ["/c", "npx", "-y", "@digestseo/mcp-geo"] — этот вариант соответствует документированной для Roo инструкции обходного решения в Windows.

VS Code: Установить локальный сервер stdio в VS Code. Базовая установка не содержит ключей провайдеров, поэтому обнаружение инструментов работает сразу. Перед запуском сканирования добавьте в пользовательскую конфигурацию MCP в VS Code только нужные вам ключи API.

LM Studio: Добавить локальный сервер stdio в LM Studio. Базовая установка не содержит ключей провайдеров, поэтому обнаружение инструментов работает сразу. Перед запуском сканирования добавьте в mcp.json в LM Studio только нужные вам ключи API.

Kiro: для установки локального сервера в один клик или вручную откройте пользовательскую конфигурацию MCP (~/.kiro/settings/mcp.json) либо конфигурацию рабочего пространства (.kiro/settings/mcp.json) и добавьте локальный пакет stdio:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": ["-y", "@digestseo/mcp-geo"]
    }
  }
}

Kiro поддерживает локальные MCP-серверы STDIO во всех актуальных интерфейсах. Конфигурации без ключей достаточно для обнаружения инструментов. Перед сканированием с использованием движков добавьте переменные окружения только для тех провайдеров, которыми хотите пользоваться. Для удалённого доступа разверните приведённый ниже Worker на собственном сервере и укажите URL вашего /mcp. Публичная конечная точка geo-mcp.digestseo.com/mcp не является готовым сервисом для новых сканирований без ключей.

Расширение Claude Desktop (установка в один клик): скачайте пакет .mcpb из последнего релиза и дважды щёлкните по нему — Claude Desktop предложит ввести ключи API.

Первый запуск: попросите клиент «добавить acme.com как бренд acme, а затем обновить данные» — track_brand создаст бренд и сгенерирует запросы, refresh_brand запустит первое сканирование, а check_visibility покажет оценки.

AI-агентам, устанавливающим этот сервер, следует руководствоваться инструкциями в llms-install.md. Нужен удалённый сервер с автоматическим обновлением по cron? Разверните его самостоятельно на Cloudflare Workers, следуя инструкциям ниже.


mcp-geo — это проект с открытым исходным кодом для отслеживания видимости в AI. Он измеряет, как часто ChatGPT, Claude, Perplexity, Gemini, Grok, Google AI Overviews и Google AI Mode упоминают ваш бренд. Это аналог Google Search Console для GEO (Generative Engine Optimization) и AEO (Answer Engine Optimization). Сервер работает как MCP, поэтому данные о видимости в AI можно запрашивать непосредственно в ChatGPT через настроенное удалённое приложение MCP, Claude.ai, Claude Desktop, Claude Code, GitHub Copilot CLI, Cursor, Codex CLI и любом другом клиенте с поддержкой MCP.

Основная страница продукта: DigestSEO mcp-geo — MCP-сервер для отслеживания видимости в AI

Пример инженерного решения: Комплекс MCP-инструментов DigestSEO — видимость в AI, Search Console, проверка веб-страниц и анализ трендов

Нужен базовый отчёт для клиента, но не хочется самостоятельно разворачивать систему? Аудит видимости в AI mcp-geo стоит 99 EUR единоразово. В него входят один бренд, до трёх конкурентов, 20 запросов с намерением купить, проверка до пяти поддерживаемых AI-платформ, если настроенные провайдеры возвращают пригодные результаты, свидетельства цитирования и список приоритетных рекомендаций. Пакет с открытым исходным кодом остаётся бесплатным. Сначала посмотрите пример: Откройте образец отчёта, созданного с помощью mcp-geo, чтобы оценить формат результатов и подробность подтверждающих данных до заказа аудита. Готовы заказать аудит? Откройте письмо с уже заполненными данными и укажите бренд или домен, а также до трёх конкурентов. Подписка и звонок с отделом продаж не требуются. Оплата: после подтверждения соответствия задачи возможностям аудита и согласования объёма я отправлю стандартный счёт и инструкции по оплате. Методология: одни и те же 20 запросов с намерением купить проверяются в рамках разовой диагностики. Результаты приводятся по каждому движку и, где это возможно, сопровождаются цитатами и источниками. Аудит отражает наблюдаемую картину на момент проверки и не является обещанием конкретного места в рейтинге или гарантированным прогнозом. Хотите ознакомиться с методикой до заказа? Читайте описание методологии аудита видимости в AI: в нём указаны объём работ, охват движков, ограничения интерпретации и утверждения, которые аудит не делает.

Предпочитаете обойтись без настройки? Попробуйте размещённую версию на digestseo.com: управляемая инфраструктура Cloudflare, не нужно настраивать ключи API, поддержка нескольких брендов, регулярное обновление и веб-интерфейс. Открыт приём заявок в список ожидания. Вступить в список ожидания →


Что нового

Подключитесь через MCP, попросите Claude: «Проведи анализ видимости [моего бренда] в ИИ» — и менее чем за 90 секунд получите меморандум уровня стратегического консультанта, основанный на реальных данных по каждой системе:

Посмотреть полный отчёт с пробелами в контенте, рекомендациями для каждой системы и итоговым анализом →

Хотите получить такой же отчёт, основанный на фактических данных, но для собственного проекта? Используйте универсальный промпт для аудита видимости в ИИ.

Отчёт выше был создан Claude через MCP-сервер digestseo-mcp. В ходе диалога последовательно использовались пять размещённых инструментов — visibility.check, visibility.compare, visibility.citations (Perplexity + Claude) и visibility.content_gaps. Они помогли подготовить анализ по четырём системам с фрагментами цитат и меморандумом со стратегией из трёх рекомендаций.


Что нового

[0.3.26] - 24 сентября 2026 г.

  • Корректная привязка OAuth 1.0 к ресурсу: теперь self-hosted Workers привязывают разрешения и токены OAuth к каноническому ресурсу ${SELF_URL}/mcp, который требуется в @cloudflare/workers-oauth-provider 1.0.0. В инструкции по развёртыванию добавлены рекомендации, позволяющие избежать несоответствия между ресурсом и хостом.

  • Более широкий выбор инструментов для разработчиков: для Google Antigravity, JetBrains Junie, GitHub Copilot cloud agent/code review, Qwen Code и Augment Code / Auggie добавлены локальные сценарии настройки MCP, соответствующие официальным рекомендациям и использующие опубликованный пакет npx -y @digestseo/mcp-geo.

[0.3.25] - 24 сентября 2026 г.

  • Полные метаданные безопасности размещённых инструментов: все шесть размещённых инструментов анализа видимости теперь явно указывают, доступны ли они только для чтения, могут ли выполнять разрушительные действия и работают ли с открытым набором данных. Это улучшает совместимость со строгими MCP-клиентами и валидаторами плагинов.

  • Более широкая поддержка встроенных интеграций: инструкции по настройке Langflow, Cherry Studio, Flowise и Kilo Code теперь используют существующие сценарии для опубликованного локального пакета и self-hosted mcp-geo. Настройка предусматривает обнаружение без ключей и безопасную работу с данными провайдеров.

  • Более полное выполнение требований к аудиту: универсальный промпт для отчёта теперь использует уже существующую сводку цитирований top_sources, чтобы показать повторяющиеся источники до примеров отдельных цитат, не создавая производных метрик.

[0.3.24] - 23 сентября 2026 г.

  • Анализ доменов-источников: get_citations / visibility.citations теперь показывает домены, которые системы чаще всего цитировали за указанный период. Сводка включает количество запросов, системы, ссылавшиеся на домен, примеры URL и отметку о том, отслеживается ли домен бренда.

  • Понятное имя размещённого MCP-сервера: обнаружение через современный SDK-v2 теперь возвращает понятное пользователю название GEO Tracker, краткое описание и канонический URL продукта. Контракт транспорта без сохранения состояния не меняется.

  • Поддержка дополнительных встроенных клиентов: инструкции по настройке Replit Agent с удалённым MCP, а также Jan Desktop / Jan Agent используют существующие сценарии для локального или self-hosted mcp-geo — без добавления нового пакета и без заявления о наличии готового размещённого провайдера.

[0.3.23] - 23 сентября 2026 г.

  • Актуальная модель Grok: сканирование видимости Grok с опорой на источники теперь использует актуальную модель xAI grok-4.7. Существующие Responses API, обязательный поиск в интернете для подтверждения ответов и сценарий BYOK сохранены.

  • Поддержка AnythingLLM: инструкция по настройке MCP Management / anythingllm_mcp_servers.json теперь охватывает опубликованный локальный stdio-пакет, обнаружение без ключей и безопасную настройку дополнительных провайдеров.

  • Актуальные инструкции для Perplexity: текст настройки теперь соответствует уже реализованному пресету Agent API fast и ведёт на страницу с актуальными ценами, а не содержит устаревшие сведения о Sonar и фиксированной стоимости каждого запроса.

[0.3.22] - 23 сентября 2026 г.

  • Защита от прекращения поддержки Perplexity: сканирование Perplexity теперь использует пресет Agent API fast вместо устаревающего фиксированного выбора модели Sonar. Благодаря этому анализ видимости с поиском в интернете останется доступен после прекращения поддержки Sonar 27 сентября.

  • Актуальные сведения об обнаружении плагинов: метаданные переносимого Agent Plugin и маркетплейса Claude теперь включают Google AI Mode наряду с другими поддерживаемыми системами поиска на базе ИИ.

  • Поддержка Amazon Q Developer CLI: инструкция по настройке q mcp теперь охватывает существующий локальный stdio-пакет, обнаружение без ключей и безопасную конфигурацию провайдеров.

  • Актуальные инструкции для self-hosted-развёртывания: документация по настройке теперь соответствует размещённому stateless MCP на SDK-v2 и текущему порядку запуска сканирования по расписанию с ручным обновлением.

[0.3.21] - 22 сентября 2026 г.

  • Размещённый MCP без сохранения состояния: запросы OAuth к /mcp теперь обрабатываются через createMcpHandler из SDK-v2 Cloudflare с поддержкой прежнего stateless-режима и явной проверкой Host/Origin. Привязка Durable Object из старой конфигурации сохранена только как временная мера на период миграции.

  • Меньше лишнего контекста для инструментов: все двенадцать MCP-инструментов теперь снабжены краткими описаниями с примерами и полными инструкциями по входным параметрам. Это снижает объём контекста клиента и упрощает выбор инструмента.

[0.3.20] - 22 сентября 2026 г.

  • Ограниченное время ожидания ответов провайдеров: вызовы внешних AI-провайдеров и SerpAPI теперь завершаются по тайм-ауту через 90 секунд. Если сторонний API зависнет, сканирование не будет остановлено на неопределённый срок.

  • Надёжное ручное сканирование Worker: аутентифицированные запросы к /admin/run-live могут передавать wait_for_completion: true, чтобы ручное обновление оператором оставалось активным до завершения обработки систем через service binding.

[0.3.19] - 22 сентября 2026 г.

  • Google AI Mode: включите режим, задав SERPAPI_AI_MODE_ENABLED=true, чтобы отдельно оценивать видимость в Google AI Mode через SerpAPI, включая данные о цитатах и источниках, если они доступны.

  • Безопасное обновление данных отслеживаемого бренда: пользователи локального MCP могут вызывать update_brand, чтобы изменить сведения о бренде, конкурентах, альтернативных названиях, исключениях или периодичности обновления, не заменяя промпты и историю запусков.

  • Ручное расписание: задайте для refresh_frequency значение manual, чтобы приостановить запланированное сканирование в self-hosted-развёртывании и при этом сохранить возможность явного вызова refresh_brand.

[0.3.18] - 21 сентября 2026 г.

  • Поддержка анализа видимости Grok: задайте XAI_API_KEY, чтобы оценивать ответы Grok, основанные на поиске xAI в интернете, наряду с ChatGPT, Claude, Perplexity, Gemini и Google AI Overviews.

[0.3.17] - 21 сентября 2026 г.

  • Точные наборы запросов, заданные пользователем: теперь пользователи локального MCP могут вызывать set_prompts, чтобы заменить активный набор промптов бренда на 1–50 согласованных вопросов покупателей, сохранив историю запусков. Повторная передача идентичного набора ничего не меняет.

[0.3.16] - 21 сентября 2026 г.

  • Совместимость Gemini с новыми проектами: по умолчанию сканирование Gemini теперь использует gemini-3.1-flash-lite. Это позволяет избежать ограничений доступа к Gemini 2.5, которые Google применяет к некоторым новым проектам, сохраняя при этом интеграцию GenerateContent.

[0.3.15] - 20 сентября 2026 г.

  • Более понятные ошибки настройки провайдеров: если запрошено обновление для не настроенной системы, сообщение теперь указывает её название и объясняет, как устранить проблему, вместо того чтобы сообщать об отсутствии доступных систем в целом.

  • Поддержка дополнительных локальных клиентов: инструкции по настройке с копированием и вставкой теперь охватывают Roo Code, Codex CLI и OpenCode v2, а также уже поддерживаемые MCP-клиенты.

  • Надёжные ссылки в установленном README: читатели npm-пакета теперь перенаправляются на постоянные URL GitHub для документации и материалов отчёта, намеренно исключённых из tarball.

[0.3.14] - 20 сентября 2026 г.

  • Возможность проверить параметры измерения: пользователи локального MCP теперь могут вызывать list_prompts, чтобы просмотреть точный активный набор промптов о намерениях покупателей для отслеживаемого бренда, не создавая его заново и не меняя.

  • Корректные инструкции для ChatGPT: теперь в документации рекомендуется использовать настроенный удалённый MCP-сервер или OpenAI Secure MCP Tunnel для локальных и закрытых серверов. Прямая регистрация локального STDIO в качестве поддерживаемого способа настройки больше не упоминается.

[0.3.13] - 20 сентября 2026 г.

  • Более точные данные о цитатах: get_citations теперь сохраняет точный URL цитируемой страницы, полученный от системы, включая путь и параметры запроса, если провайдер их возвращает.

  • Актуальные метаданные галереи Gemini CLI: манифест расширения теперь синхронизирует версию с пакетом и не допускает появления устаревших обозначений версии после выпуска.

[0.3.12] - 20 сентября 2026 г.

  • Более понятные инструкции по работе агента: ответы при инициализации локального и размещённого MCP теперь содержат краткие инструкции о правильной последовательности действий: бренд → обновление → анализ видимости. Также они разъясняют асинхронную работу размещённого обновления и поведение при недоступности системы.

[0.3.11] - 19 сентября 2026 г.

  • Более надёжное сканирование по расписанию: данные об актуальности отдельно для каждой системы и запуск только просроченных систем позволяют обновлять устаревшие данные провайдеров без повторного сканирования тех, которые уже обновлены. Для бренда можно выбрать ежедневное или еженедельное расписание.

  • Более безопасная обработка запросов: повторяющийся выбор систем теперь устраняется при размещённом обновлении и чтении данных о видимости. Кроме того, при добавлении размещённого бренда проверяется допустимость значения периодичности обновления, прежде чем оно будет сохранено.

  • Полные метаданные Claude Desktop: манифест MCPB теперь описывает все девять неизменяемых локальных инструментов, включая track_brand, list_brands и generate_prompts, в соответствии с фактическим набором stdio-сервера после установки.

[0.3.10] - 19 сентября 2026

  • Безопаснее обновление BYOK: перед отправкой запросов провайдерам повторяющиеся названия движков удаляются. Это исключает случайный запуск повторных проверок и двойное списание средств за один запрос.

  • Строже контракты MCP: структурированные выходные данные для выигравших и проигравших промптов, а также для пробелов в контенте теперь публикуются с конкретными схемами вместо непрозрачных записей. Это упрощает проверку данных на стороне клиента и взаимодействие между агентами.

  • Удобнее установка через Registry: в метаданных Official MCP Registry все пять поддерживаемых ключей API провайдеров указаны как необязательные секретные параметры конфигурации для npm-пакета stdio.

[0.3.9] - 19 сентября 2026

  • Прозрачность актуальности снимков: в снимках видимости теперь для каждого движка отображается собственная временная метка наблюдения. Благодаря этому данные старых наблюдений нельзя принять за одинаково актуальные результаты.

  • Тренды истории для аудита: история видимости теперь содержит знаменатель — количество пригодных промптов, число упоминаний бренда и время наблюдения, на основе которых рассчитана оценка для каждого движка.

[0.3.8] - 19 сентября 2026

  • Надёжнее данные для аудита: сравнение с конкурентами учитывает запрошенный период в несколько дней по всем пригодным запускам и возвращает точное число упоминаний. Фрагменты с цитатами и резервные результаты анализа пробелов в контенте без обращения к провайдерам основаны на тех же исходных данных.

  • Больше вариантов локальной установки: для существующего локального пакета stdio добавлена настройка Amazon Q Developer в IDE.

[0.3.7] - 19 сентября 2026

  • Точное количество промптов для аудита: при генерации сохраняется ровно запрошенное количество уникальных промптов. Если это невозможно, существующий набор не изменяется. Так сохраняется фиксированный объём платного аудита — 20 промптов.

[0.3.6] - 18 сентября 2026

  • Проверки ChatGPT на основе достоверных данных: для проверки видимости в ChatGPT в реальном времени используется веб-поиск; также точнее настроена оценка упоминаний похожих доменов.

  • Больше вариантов локальной установки: добавлены метаданные Gemini CLI, а также варианты установки в VS Code и LM Studio в один клик.

[0.3.5] - 17 сентября 2026

  • Корректная работа провайдеров и среды выполнения: Perplexity переведён на Agent API, а для установки плагинов теперь используется локальный пакет stdio, а не публичный Worker без готовой конфигурации.

  • Доверие и готовность к использованию: добавлено собственное уведомление о конфиденциальности, сборка MCPB только для production-среды и прозрачные формулы расчёта оценки аудита.

[0.3.4] - 15 сентября 2026

  • Переносимость MCPB для Claude Desktop: пакет больше не включает нативные бинарные файлы better-sqlite3; локальное хранилище использует встроенный node:sqlite в Node.js 22.13+.

  • Точность метаданных Registry: в официальных метаданных теперь указан только npm-пакет stdio, поскольку публичная размещённая конечная точка не обеспечивает готовую службу для новых проверок без дополнительной настройки.

[0.3.3] - 10 сентября 2026

  • Необязательный разовый аудит: пакет с открытым исходным кодом остаётся бесплатным. Команды, которым нужна готовая для клиента исходная оценка, могут заказать аудит видимости в ИИ mcp-geo за EUR 99 по ссылке CTA выше.

  • Проще отправить запрос: README теперь открывает заранее заполненное письмо с указанием источника, а подробности аудита по-прежнему доступны по адресу https://geo-mcp.digestseo.com/audit.

[0.3.2] — 27 июля 2026

  • Опубликован scoped-пакет: @digestseo/mcp-geo с синхронизированными метаданными Worker, MCP Registry и MCPB.

  • Метаданные размещённых инструментов: пространства имён visibility.* с типизированными схемами входных и выходных данных; названия инструментов локального stdio остаются плоскими.

  • Распространение и развёртывание: отдельная конфигурация D1 mcp-geo-db, метаданные плагинов Cursor и Claude Code, а также исправленные фиксации production-зависимостей.

[0.3.0] — июль 2026

  • Локальный CLI stdio в npm (npx -y @digestseo/mcp-geo): те же инструменты MCP используют локальную базу SQLite (~/.digestseo/digestseo.sqlite); аккаунт Cloudflare не требуется. Движки запускаются локально с вашими ключами API.

  • Локальные инструменты управления брендами (только CLI): track_brand, list_brands, generate_prompts. В развёртываниях Workers эти инструменты доступны через маршруты /admin/*, защищённые X-Seed-Secret.

  • Ядро, не зависящее от среды выполнения (src/core/), общее для Worker и CLI. Контракт Db реализован адаптерами D1 и better-sqlite3. Все исправления точности и безопасности версии 0.2.1 доступны в обеих средах выполнения.

  • Метаданные дистрибутива: официальный server.json для MCP Registry, настольное расширение MCPB (пакет .mcpb), Dockerfile, llms-install.md для ИИ-агентов и рабочий процесс публикации релизов.

[0.2.1] — июнь 2026

  • Необязательная защита OAuth-потока с помощью CONNECT_SECRET. По умолчанию сборка OSS автоматически завершает /authorize для любого клиента MCP, которому известен URL вашего Worker. Любой, кто найдёт этот URL, сможет подключиться и вызвать visibility.refresh, расходуя ваши кредиты API движков. Задайте CONNECT_SECRET, и на этапе подключения в браузере появится запрос на его ввод до выдачи токена. Подробнее см. в SECURITY.md.

  • Точное сопоставление цитат. Упоминания брендов и конкурентов теперь проверяются с учётом границ слов (acme больше не совпадает с "acmeshop"), а ссылка засчитывается только при точном совпадении домена или его поддомена (notacme.com больше не считается ссылкой на acme.com).

  • Параметры aliases и exclude_terms для каждого бренда. Псевдонимы всегда засчитываются как упоминания; исключаемые термины отключают сопоставление по отдельному слову в названии бренда и корне домена. Поэтому бренд "Monday" больше не совпадает со словом "monday", обозначающим день недели, а monday.com по-прежнему засчитывается. Примените миграцию migrations/0005_brand_alias_exclude.sql; существующие бренды продолжат работать как прежде.

  • Согласованность visibility.history. Незавершённые запуски теперь учитываются в истории, как и в версии 0.2.0 для visibility.check. Полностью неудачные запуски больше не отображаются как фиктивные нулевые оценки.

  • CI и модульные тесты. При каждом push GitHub Actions запускает tsc --noEmit и набор модульных тестов для чистых функций (npm run test:unit), проверяющий сопоставление упоминаний, извлечение цитат и агрегацию оценок.

  • В документации в качестве начальной пары движков теперь рекомендуются OpenAI и Anthropic. Доступность Gemini зависит от модели, проекта и уровня использования, поэтому различия в квотах у разных провайдеров могли приводить к недостоверным результатам первой проверки при использовании описанного ранее самого дешёвого варианта.

  • Сравнение SEED_SECRET и CONNECT_SECRET за постоянное время.

[0.2.0] — май 2026

  • Распределение HTTP-запросов по движкам. /admin/run-live теперь создаёт отдельную запись в таблице запусков для каждого движка и один раз вызывает /admin/run-engine для каждого из них. Каждый движок выполняется в собственном вызове Worker и располагает отдельным лимитом бесплатного плана в 50 подзапросов. Раньше распределение всех запросов в одном вызове могло превышать лимит в середине запуска, из-за чего терялась половина записей.

  • Привязка службы (env.SELF) направляет запросы для отдельных движков через внутреннюю инфраструктуру Cloudflare, а не через публичный URL. Это позволяет обойти защиту от вызова Worker самим собой (ошибка 1042), которая незаметно блокирует запросы через публичный URL.

  • Столбец статуса в prompt_responses (ok / failed / skipped) и поле error_message. Раньше неудачные вызовы движков создавали записи raw_response='ERROR: ...', которые последующая оценка принимала за реальные результаты с нулём упоминаний. Теперь такие записи явно исключаются.

  • Вставка записей с защитой от проблем внешнего ключа. Перед сохранением данных /admin/run-engine выполняет INSERT OR IGNORE для записи запуска. В D1 изменения распространяются между периферийными регионами не мгновенно, поэтому исходный INSERT INTO runs из /admin/run-live не всегда успевает попасть в регион до вызова движка. IGNORE позволяет избежать проблем с внешним ключом в обоих случаях.

  • Пакетная операция D1. Каждый движок собирает в памяти результаты 20 промптов, а затем одной операцией D1.batch() записывает данные, сохраняет кэш и выполняет итоговый UPDATE runs SET status='completed'. Количество подзапросов на один вызов сокращается примерно с 89 до 26.

  • Более гибкие запросы видимости. getLatestCompletedRun теперь проверяет наличие строк со статусом ok через EXISTS, а не статус completed. Поэтому данные частично завершённых запусков отображаются в результатах инструментов MCP, а не исчезают без объяснения.

  • Новый административный маршрут POST /admin/cleanup-failed-runs для однократного удаления загрязнённых устаревших записей после перехода на миграцию 0004.

[0.1.1] — май 2026

  • Ручная установка теперь является основным способом установки. Ненадёжный скрипт настройки bash удалён; SETUP.md содержит все необходимые инструкции и команды для копирования и вставки, включая описания каждого интерактивного запроса wrangler.

[0.1.0] — май 2026

  • Первый публичный релиз.

  • Поддержка пяти движков: ChatGPT (gpt-4o-mini), Claude (claude-haiku-4-5), Perplexity (sonar), Gemini (gemini-2.5-flash-lite) и Google AI Overviews (через SerpAPI).

  • Шесть размещённых инструментов MCP: visibility.check, visibility.history, visibility.compare, visibility.citations, visibility.content_gaps, visibility.refresh.

  • Движки подключаются по наличию ключей API: задайте только те учётные данные, которые у вас есть, — для остальных проверка будет пропущена без ошибки.

  • Cloudflare Cron Trigger автоматически обновляет данные отслеживаемых брендов каждые 6 часов с учётом параметра refresh_frequency для каждого бренда (daily/weekly).

  • Хранилище на базе D1 для брендов, промптов, запусков, цитат и общего кэша промптов.


Что умеет сервер?

  • Показывает, какие AI-инструменты упоминают ваш бренд, а какие — нет — вы получаете разбивку по каждой системе и видите, кто упоминает вас в ответах на запросы с намерением покупки.

  • Автоматически отслеживает видимость в AI каждую неделю — встроенный Cron Trigger повторно запускает сканирование с периодичностью, заданной для каждого бренда.

  • Сравнивает видимость вашего бренда с конкурентами — показывает долю голоса, запросы, по которым выигрываете вы, и запросы, по которым выигрывают конкуренты.

  • Находит пробелы в контенте — формирует рекомендации с помощью Claude Haiku на основе запросов, по которым ваш бренд не попал в ответы.

  • Работает в диалогах на Claude.ai — добавьте URL развёрнутого Worker в качестве пользовательского MCP-коннектора и задавайте вопросы обычным языком.

  • Размещается в вашей учётной записи Cloudflare — ваши API-ключи, ваши данные и контроль расходов. Бесплатные тарифы Workers и D1 позволяют отслеживать один бренд с ежедневным обновлением данных.

Пример отчёта выше показывает, как это работает на практике.


Доступные инструменты

Шесть аналитических возможностей доступны через оба транспорта, однако имена MCP-инструментов различаются: для подключений через hosted/Worker используется пространство имён visibility.*, а в локальном пакете stdio — отдельные имена.

Hosted / WorkerLocal stdioНазначениеЧто нужно указать
visibility.checkcheck_visibilityПоследний снимок видимости бренда во всех настроенных системах: оценки по каждой системе, запросы, по которым бренд попал в ответы, и запросы без упоминаний.brand_id, необязательный фильтр engines[]
visibility.historyget_visibility_historyИстория общей видимости и видимости по отдельным системам. Данные сгруппированы по дням или неделям.brand_id, необязательный параметр days (по умолчанию 30), необязательный параметр granularity (daily/weekly)
visibility.comparecompare_competitorsСравнение доли голоса с доменами конкурентов, включая запросы, по которым выигрываете вы, и запросы, по которым выигрывают они.brand_id, необязательный параметр competitor_domains[], необязательный параметр days
visibility.citationsget_citationsДанные о фактических упоминаниях: запрос, система, фрагмент ответа, тип упоминания и URL бренда, если он есть.brand_id, необязательный параметр days, необязательный фильтр engine
visibility.content_gapsget_content_gapsПриоритизированные рекомендации по контенту, созданные Claude Haiku на основе запросов, по которым бренд не попал в ответы.brand_id, необязательный параметр max_recommendations (1-10)
visibility.refreshrefresh_brandЗапускает новое сканирование во всех системах, для которых настроен API-ключ.brand_id, необязательный фильтр engines[]

Локальный CLI stdio (npx, расширение для настольных приложений, Docker) также предоставляет инструменты управления брендами. В развёртывании на Workers те же операции доступны через маршруты /admin/*, защищённые параметром X-Seed-Secret:

Инструмент (только локальный CLI)НазначениеЧто нужно указать
track_brandДобавляет бренд для отслеживания и создаёт набор запросов с намерением покупки. Для генерации используется Claude Haiku, если задан ANTHROPIC_API_KEY; в противном случае создаются три начальных запроса.brand_id, name, domain, необязательные параметры category, competitors[], aliases[], exclude_terms[], prompt_count, refresh_frequency (daily/weekly/manual, по умолчанию weekly)
update_brandИзменяет домен, название, категорию, конкурентов, альтернативные названия, исключения или периодичность обновления существующего бренда, не заменяя активные запросы и историю запусков. Укажите manual, чтобы приостановить запланированные сканирования Worker, сохранив возможность запускать обновление вручную.brand_id и любые поля, которые нужно изменить
list_brandsПоказывает отслеживаемые бренды, их домены, конкурентов, альтернативные названия, исключения и количество активных запросов.—
list_promptsПоказывает точный список активных запросов с намерением покупки для бренда, не изменяя его.brand_id
set_promptsЗаменяет активный набор запросов на вопросы покупателей, указанные пользователем, и сохраняет историю запусков.brand_id, prompts[] (1-50 уникальных вопросов)
generate_promptsПовторно генерирует набор запросов для бренда с помощью Claude Haiku, заменяя активные запросы и сохраняя историю.brand_id, необязательный параметр count (по умолчанию 20)

Начало работы

Шаг 1 — Получите API-ключи

Подключение систем необязательно. Выберите нужные: остальные будут пропущены без уведомлений.

  • OpenAI — система ChatGPT (gpt-5-search-api) с поиском в интернете. Сейчас OpenAI взимает $10 за 1 000 поисковых запросов, а также плату за токены модели. См. тарифы API и API-ключи.

  • Anthropic — система Claude, а также генерация запросов и анализ пробелов в контенте; для обеих функций используется Claude Haiku. Стоимость — около €0.0002 за запрос. Бесплатных пробных кредитов обычно достаточно для оценки. console.anthropic.com

  • Google AI Studio (Gemini) — система Gemini (gemini-3.1-flash-lite). Сейчас Google предоставляет бесплатный лимит токенов для этой модели; при платном использовании взимается плата за токены. Ограничения частоты запросов зависят от модели, проекта и уровня использования. Google отмечает, что фактическая доступность ресурсов может меняться. Проверяйте актуальные лимиты проекта в AI Studio, а не ориентируйтесь на фиксированные значения RPM/RPD. См. тарифы Gemini и ограничения частоты запросов.

  • Perplexity — Agent API с предустановкой fast для оценки видимости в ответах на основе веб-поиска. Использование API платное; стоимость зависит от нагрузки, связанной с выбранной предустановкой. Перед расчётом стоимости сканирования проверьте актуальные тарифы Agent API. Agent API Perplexity · тарифы

  • xAI — система Grok (grok-4.7) с обязательным поиском в интернете. Сейчас xAI взимает $5 за 1 000 поисковых запросов, а также плату за токены модели. console.x.ai · тарифы

  • SerpAPI — Google AI Overviews и, по желанию, Google AI Mode. Один ключ SerpAPI обеспечивает работу обеих функций, но AI Mode по умолчанию отключён: для него выполняется отдельный платный поиск по каждому запросу. Чтобы включить этот седьмой источник данных, задайте SERPAPI_AI_MODE_ENABLED=true. API Google AI Mode · serpapi.com/dashboard

Рекомендуемая начальная связка: OpenAI + Anthropic (Claude). OpenAI позволяет отслеживать видимость в ChatGPT на основе поиска в интернете и взимает плату за поисковые запросы и токены модели. Anthropic также используется для генерации запросов и анализа пробелов в контенте. Перед оценкой регулярных расходов на сканирование проверьте актуальные тарифы провайдеров. Подключайте Gemini, Perplexity, Grok или SerpAPI, если потребуется расширить охват. Доступность Gemini зависит от модели, проекта и уровня использования, а Google AI Overviews часто не возвращает результатов; в этом случае оценка равна нулю. Google AI Mode выполняет отдельный запрос через SerpAPI и остаётся отключённым, пока не задано SERPAPI_AI_MODE_ENABLED=true. Благодаря этому существующая настройка SerpAPI не приведёт к незаметному удвоению количества поисковых запросов Google.

Шаг 2 — Разверните сервер в своей учётной записи Cloudflare

Развёртывание занимает около 5 минут и состоит из 6 команд. Полное руководство с пояснениями и рекомендациями по устранению неполадок см. в файле SETUP.md. Также можно воспользоваться краткой инструкцией ниже.

# 1. Install deps
npm install

# 2. Log in to Cloudflare
npx wrangler login

# 3. Copy the config template
cp wrangler.example.jsonc wrangler.jsonc

# 4. Create KV namespace + D1 database, paste each printed id into wrangler.jsonc
npx wrangler kv namespace create OAUTH_KV
npx wrangler d1 create mcp-geo-db

# 5. Set the required secret + at least one engine API key
#    Recommended starting pair — OpenAI uses web search plus model tokens; check current pricing:
npx wrangler secret put SEED_SECRET
npx wrangler secret put CONNECT_SECRET      # recommended — gates who can connect (see SECURITY.md)
npx wrangler secret put OPENAI_API_KEY      # ChatGPT engine
npx wrangler secret put ANTHROPIC_API_KEY   # Claude engine + prompt generation

# 6. Apply migrations and deploy
npx wrangler d1 migrations apply mcp-geo-db --remote
npx wrangler deploy

После развёртывания собственного Worker используйте URL /mcp этого развёртывания как удалённую конечную точку, например:

https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp

Для интеграции с каталогом или клиентами используйте настроенный URL Worker.

Публичная конечная точка geo-mcp.digestseo.com/mcp не является размещённой версией, которой можно пользоваться без ключей, вместо развёртывания с учётными данными провайдеров систем.

Шаг 3 — Подключитесь к MCP-клиенту

После завершения команды wrangler deploy вы получите URL вида

https://digestseo-mcp.YOUR-SUBDOMAIN.workers.dev.

Claude.ai (веб-версия)

Откройте Settings → Connectors → Add custom connector и вставьте:

https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp

Завершите процедуру OAuth. Когда подключение будет готово, индикатор коннектора станет зелёным.

ChatGPT (удалённый MCP)

Пользовательские приложения MCP в ChatGPT подключаются к удалённым MCP-серверам. Используйте URL /mcp

из настроенного выше развёртывания Worker. В ChatGPT включите Developer

Mode и пользовательские приложения для своего рабочего пространства, затем добавьте URL удалённого MCP-сервера. Доступность зависит

от вашего тарифа ChatGPT и политики администратора рабочего пространства; для текущей поддержки MCP в OpenAI не требуются специальные имена инструментов search или fetch.

https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp
ChatGPT (локально или в закрытом контуре через OpenAI Secure MCP Tunnel)

OpenAI Secure MCP Tunnel — поддерживаемый способ подключить ChatGPT к локальному пакету, работающему через stdio, не публикуя его как общедоступный HTTPS-сервер. Сначала создайте туннель на OpenAI Platform, затем оставьте tunnel-client запущенным на том же компьютере, где запускается mcp-geo. Вам понадобятся ID туннеля, API-ключ среды выполнения туннеля, а также разрешения на использование туннелей и режима разработчика в ChatGPT для нужного рабочего пространства.

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

tunnel-client init --sample sample_mcp_stdio_local --profile digestseo --tunnel-id tunnel_0123456789abcdef0123456789abcdef --mcp-command "npx -y @digestseo/mcp-geo"
tunnel-client doctor --profile digestseo --explain
tunnel-client run --profile digestseo

Когда tunnel-client run работает без ошибок, создайте в ChatGPT приложение в режиме разработчика, выберите Tunnel в качестве типа подключения и укажите этот туннель. Такой способ предназначен для закрытого и локального использования; он не публикует mcp-geo как общедоступное приложение ChatGPT.

Инструкции по созданию туннеля, настройке разрешений, загрузке файлов и устранению неполадок см. в актуальном руководстве OpenAI по Secure MCP Tunnel.

Claude Code
claude mcp add --transport http digestseo https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp

Затем выполните /mcp в Claude Code, чтобы завершить авторизацию OAuth в браузере.

Claude Desktop

Измените конфигурационный файл Claude Desktop:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp"
      ]
    }
  }
}

После внесения изменений перезапустите Claude Desktop.

Cursor

Измените файл ~/.cursor/mcp.json:

{
  "mcpServers": {
    "digestseo": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp"
      ]
    }
  }
}

Перезапустите Cursor.

Codex CLI

Добавьте в файл ~/.codex/config.toml:

[mcp_servers.digestseo]
command = "npx"
args = [
  "-y",
  "mcp-remote",
  "https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/mcp",
]

Справочник по переменным окружения

ПеременнаяОбязательностьЗначение по умолчаниюОписание
OPENAI_API_KEYпо выборуне заданоВключает движок ChatGPT. Если ключ не задан, ChatGPT не используется.
ANTHROPIC_API_KEYпо выборуне заданоВключает движок Claude, а также генератор запросов и анализатор пробелов в контенте на базе Claude-Haiku.
GEMINI_API_KEYпо выборуне заданоВключает движок Gemini. Ограничения на частоту запросов зависят от модели, проекта и уровня использования. Текущие лимиты проекта можно проверить в Google AI Studio (см. раздел «Устранение неполадок»).
PERPLEXITY_API_KEYпо выборуне заданоВключает пресет fast для Perplexity Agent API. Использование API платное; проверьте актуальные цены Agent API.
XAI_API_KEYпо выборуне заданоВключает движок Grok (grok-4.7) с обязательной опорой на результаты Web Search.
SERPAPI_API_KEYпо выборуне заданоВключает Google AI Overviews через SerpAPI. Также используется для Google AI Mode, если включён указанный ниже флаг.
SERPAPI_AI_MODE_ENABLEDнетfalseУстановите значение true, чтобы добавить Google AI Mode как отдельный движок видимости. По умолчанию он выключен, чтобы избежать неожиданных дополнительных вызовов и расходов на SerpAPI.
SEED_SECRETдане заданоОбщий секрет для защиты всех маршрутов /admin/*. Используйте строку с высокой энтропией.
CONNECT_SECRETрекомендуетсяне заданоЕсли задан, при подключении через OAuth в браузере потребуется ввести этот секрет до выдачи токена. Если секрет не задан, подключить MCP-клиент сможет любой, кто знает URL вашего Worker. См. SECURITY.md.
TURNSTILE_SITE_KEYнетне заданоПредназначен для форков с общедоступной формой /check. В OSS-сборке не используется.
TURNSTILE_SECRET_KEYнетне заданоАналогично — предназначен для форков.

В production ключи провайдеров задаются с помощью команды wrangler secret put VAR, а локально — в файле .dev.vars. SERPAPI_AI_MODE_ENABLED — это несекретный флаг времени выполнения. Его можно хранить в vars Wrangler или задать в переменных окружения локального процесса.


Архитектура

flowchart LR
    C["MCP client<br/>(Claude.ai / Claude Code / Cursor / ...)"] -- "MCP over HTTP + OAuth" --> W["Cloudflare Worker<br/>digestseo-mcp"]
    CRON["Cron Trigger<br/>every 6h"] --> W
    W --> MCP["Stateless MCP handler<br/>(SDK v2, 6 hosted tools)"]
    W -- "one self-fetch per engine<br/>via SELF service binding" --> RE["/admin/run-engine<br/>(own invocation per engine)"]
    RE --> E1["OpenAI"]
    RE --> E2["Anthropic"]
    RE --> E3["Gemini"]
    RE --> E4["Perplexity"]
    RE --> E5["xAI<br/>(Grok)"]
    RE --> E6["SerpAPI<br/>(AI Overviews / AI Mode)"]
    RE --> DB[("D1<br/>brands / prompts / runs /<br/>responses / cache")]
    MCP --> DB

Привязка Durable Object GeoMcpAgent / MCP_OBJECT временно сохранена для совместимости при миграции, однако текущие запросы к /mcp обрабатываются показанным выше stateless-обработчиком SDK v2.

Каждый движок запускается в отдельном Worker-вызове и получает собственный лимит — 50 подзапросов в бесплатном тарифе. Результаты записываются одним вызовом D1.batch() для каждого движка. При ежедневном запуске вся система укладывается в ограничения бесплатного тарифа Cloudflare для одного бренда.


Безопасность

  • Доступ к /admin/* защищён с помощью SEED_SECRET (сравнение выполняется за постоянное время).

  • Для доступа к /mcp требуется OAuth. Задайте CONNECT_SECRET, чтобы завершить процесс подключения могли только пользователи, знающие секрет. Это настоятельно рекомендуется, если URL вашего Worker где-либо опубликован: подключённые клиенты могут вызывать visibility.refresh и расходовать лимиты API ваших движков.

  • Все ключи движков хранятся в зашифрованном хранилище секретов Cloudflare; все данные — в вашей собственной базе данных D1.

Полная информация и инструкции по сообщению об уязвимостях: SECURITY.md.


Примеры запросов

Пример отчёта выше создан с помощью первого запроса из списка.

После подключения сервера к Claude.ai или любому другому MCP-клиенту попробуйте следующие запросы:

ИнструментПример запроса
visibility.check«Насколько заметен бренд acme в ответах ИИ прямо сейчас?»
visibility.history«Покажи динамику видимости acme за последние 60 дней с разбивкой по дням».
visibility.compare«Сравни acme с asana.com и monday.com за последние 14 дней».
visibility.citations«Покажи реальные цитаты Perplexity для acme за последнюю неделю».
visibility.content_gaps«Какой контент следует опубликовать acme, чтобы сократить разрыв в видимости? Назови 5 приоритетных тем».
visibility.refresh«Обнови данные для acme во всех доступных движках прямо сейчас».
visibility.refresh«Обнови данные для acme только в Gemini и Claude».

Размещённая версия

Если вы не хотите настраивать собственный аккаунт Cloudflare, управлять API-ключами и оплачивать использование каждого движка отдельно, используйте размещённую версию DigestSEO. Она работает на управляемой инфраструктуре и предоставляет тот же MCP-сервер, поддержку нескольких брендов, плановое обновление данных, веб-интерфейс и единый счёт. Запись в лист ожидания уже открыта — присоединиться на digestseo.com.


Устранение неполадок

  • Worker развёрнут, но инструменты возвращают пустые данные — отсутствует как минимум один API-ключ движка. Проверьте wrangler secret list и добавьте нужные ключи. Движки без ключей пропускаются без предупреждения, поэтому visibility.check может не вернуть данных.

  • Ошибка no engines available в логах — не задан ни один API-ключ движка. Задайте хотя бы один из ключей: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, PERPLEXITY_API_KEY, XAI_API_KEY, SERPAPI_API_KEY.

  • Ошибка при миграции D1 — убедитесь, что выполнили npx wrangler d1 migrations apply mcp-geo-db --remote (а для wrangler dev — также с параметром --local). Для разовых исправлений используйте npx wrangler d1 execute mcp-geo-db --remote --file=migrations/0001_initial.sql.

  • Пользовательский MCP-коннектор в Claude.ai не подключается — URL должен оканчиваться на /mcp. В OSS-сборке OAuth-подключение завершается автоматически (для одного пользователя-разработчика). Если вы задали CONNECT_SECRET, на этапе в браузере появится форма с одним полем — введите секрет, указанный при развёртывании. Если процесс зациклился, удалите коннектор и добавьте его заново. Убедитесь, что Worker доступен из интернета: команда curl https://YOUR-WORKER-NAME.YOUR-SUBDOMAIN.workers.dev/healthz должна вернуть ok.

  • Cron не запускается — проверьте настройки в панели Cloudflare: Workers & Pages → digestseo-mcp → Settings → Triggers. В разделе "Cron Triggers" должно быть указано 0 */6 * * *. Если расписание отсутствует, повторно выполните npx wrangler deploy — триггер регистрируется при развёртывании. Обработчик запускает движки только для брендов, у которых истёк интервал refresh_frequency, поэтому для только что добавленного бренда запуск может не произойти на ближайшей границе шестичасового интервала.

  • 401 unauthorized при обращении к /admin/* — заголовок X-Seed-Secret отсутствует или не совпадает с развёрнутым значением SEED_SECRET. Повторно выполните npx wrangler secret put SEED_SECRET и обновите .env.test.

  • Worker возвращает 404 при обращении к самому себе / код ошибки 1042 — в wrangler.jsonc отсутствует привязка services либо её имя service не совпадает со значением поля name Worker. /admin/run-live обращается к /admin/run-engine через env.SELF (привязку сервиса Cloudflare), поскольку Cloudflare блокирует запросы с публичного URL к собственному домену workers.dev защитой "Worker called itself". Убедитесь, что в развёрнутом wrangler.jsonc есть "services": [{ "binding": "SELF", "service": "" }] и что значение service совпадает с именем в поле "name" верхнего уровня. После исправления выполните npx wrangler deploy и повторите запуск.

  • Ограничение частоты запросов Gemini (HTTP 429) при отправке промптов — ограничения Gemini API зависят от модели, проекта и уровня использования; Google отмечает, что фактическая доступность ресурсов может меняться. Проверьте текущие ограничения проекта в Google AI Studio и документацию Google по ограничениям частоты запросов. Если запрос попадает под ограничение, mcp-geo помечает запись этого движка как неуспешную и исключает её из успешной оценки. Google рекомендует подождать и повторить запрос через некоторое время или снизить частоту запросов. Если ограничения постоянно мешают выполнять сканирование с нужной периодичностью, рассмотрите подходящий платный тариф, а не исходите из того, что квота бесплатного уровня по RPM/RPD одинакова для всех.

  • FOREIGN KEY constraint failed в wrangler tail при выполнении /admin/run-engine — обработчик предусмотрительно выполняет INSERT OR IGNORE для записи в таблице runs перед сохранением ответов на промпты. Это защита от повторной обработки и нарушения внешних ключей при независимом запуске задач для разных движков, поэтому в версии 0.2.0 и новее эта ошибка появляться не должна. Если она всё же возникает, убедитесь, что развёрнута последняя версия src/index.ts (команда grep -n "INSERT OR IGNORE INTO runs" src/index.ts должна найти совпадение).


Участие в разработке

Приветствуются сообщения об ошибках и pull request. Краткие инструкции см. в CONTRIBUTING.md.


Политика конфиденциальности

Полный текст политики для локального пакета и расширения Claude Desktop: https://geo-mcp.digestseo.com/privacy

При локальном запуске digestseo-mcp (через npx, расширение для настольного приложения или Docker) все данные — бренды, промпты, запуски, ответы и кэш ответов — остаются на вашем компьютере в локальной базе SQLite по адресу ~/.digestseo/digestseo.sqlite (путь можно изменить с помощью DIGESTSEO_DB_PATH). Промпты для сканирования отправляются только тем поставщикам AI, API-ключи которых вы настроили (OpenAI, Anthropic, Google, Perplexity, xAI и/или SerpAPI). Обработка этих данных регулируется политиками конфиденциальности соответствующих поставщиков. Автор проекта не получает никаких данных: телеметрия, аналитика и учётные записи не используются.

Использование и хранение данных: локальные настройки брендов, промпты, запуски сканирования, ответы и кэшированные ответы используются только для работы вызываемых вами функций MCP-сервера. Они хранятся в описанной выше локальной базе SQLite. В проекте нет службы учётных записей и не собирается телеметрия.

Обработка сторонними поставщиками: данные промптов и сканирования отправляются только тем поставщикам AI, которых вы указали. Поставщики обрабатывают и хранят эти данные в соответствии со своими политиками конфиденциальности; автор проекта не получает их копии.

Хранение и удаление: локальные данные остаются на вашем компьютере, пока вы не удалите базу SQLite (или указанную вами базу по пути DIGESTSEO_DB_PATH). Удаление этой базы стирает сохранённую в mcp-geo локальную историю и кэш. Сроки хранения данных на стороне поставщиков определяются каждым из них отдельно.

Контакты: вопросы о конфиденциальности, связанные с mcp-geo, можно отправить по адресу info@tomiseregi.si.


Лицензия

MIT.

Разработчик и сопровождающий проекта — Tomi Šeregi.


История изменений

Полная история версий доступна в файле CHANGELOG.md.

[0.3.2] — 27 июля 2026 года

  • Опубликован @digestseo/mcp-geo с синхронизированными метаданными Worker, MCP Registry и MCPB.

  • В размещённой версии добавлены пространства имён инструментов visibility.* со схемами типизированного ввода и вывода; локальные имена stdio-инструментов остались плоскими.

  • Добавлены отдельная конфигурация D1 для mcp-geo-db и метаданные плагинов для Cursor и Claude Code.

  • Обновлены закреплённые версии зависимостей для production.

[0.3.0] — июль 2026 года

  • Добавлен локальный CLI для stdio в npm (npx -y @digestseo/mcp-geo) с хранением данных в SQLite и запуском движков непосредственно в CLI.

  • Добавлены локальные инструменты управления брендами: track_brand, list_brands, generate_prompts.

  • Добавлено общее для Worker и CLI ядро, не зависящее от среды выполнения; адаптеры Db для D1 и better-sqlite3.

  • Добавлены server.json для MCP Registry, расширение MCPB для настольных приложений, Dockerfile и llms-install.md.

[0.2.1] — июнь 2026 года

  • Добавлен необязательный параметр CONNECT_SECRET для защиты процесса OAuth-подключения.

  • Добавлено сопоставление брендов и конкурентов с учётом границ слов, а также проверка связанных цитат по точному домену или поддомену.

  • Добавлены aliases и exclude_terms для каждого бренда (миграция 0005), чтобы обрабатывать бренды с омографами, например Monday/Notion.

  • visibility.history включает частично завершённые запуски и исключает запуски, завершившиеся полным сбоем.

  • Добавлен рабочий процесс CI (проверка типов и модульные тесты), а также набор тестов для чистых функций.

  • В документации в качестве начальной пары движков рекомендованы OpenAI и Anthropic.

  • Добавлено сравнение секретов за постоянное время.

[0.2.0] — май 2026 года

  • Добавлена отправка HTTP-запросов отдельным движкам через привязку сервиса env.SELF (для каждого вызова Worker запускается отдельно, что позволяет обойти ограничение Cloudflare 1042 на вызовы самого себя).

  • В prompt_responses добавлены столбцы status и error_message: сбои при вызове движков теперь записываются явно, вместо строк ERROR: в raw_response.

  • В /admin/run-engine добавлен INSERT OR IGNORE для записи в таблице runs. Это позволяет обрабатывать задержки репликации D1 между регионами и не допускать потери prompt_responses из-за нарушений внешних ключей.

  • Добавлена пакетная запись в D1 при выполнении runLive для каждого движка (около 26 подзапросов на вызов вместо примерно 89; полные запуски по 20 промптов теперь укладываются в ограничения бесплатного плана).

  • Логика getLatestCompletedRun теперь опирается на EXISTS(ok rows); данные частично завершённых запусков по-прежнему отображаются.

  • Добавлен новый административный маршрут POST /admin/cleanup-failed-runs.

[0.1.1] — май 2026 года

  • Удалён ненадёжный скрипт настройки bash. Основным способом установки вручную теперь служит SETUP.md.

[0.1.0] — май 2026 года

  • Первая публичная версия.

  • Поддержка пяти движков: ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews.

  • Шесть инструментов MCP.

  • Движки подключаются в зависимости от указанных вами API-ключей.

  • Автоматическое обновление по расписанию с помощью Cloudflare Cron Trigger.