API ВЕГА
English

measuremysite-mcp

Веб-аналитика без cookie, доступная вашему AI-агенту. Компактный сервер аналитики для одного сайта со встроенным сервером MCP. С его помощью Claude Code, Cursor или Codex могут анализировать трафик и помогать решать, что делать дальше.

Разверните сервер в своём аккаунте Cloudflare (Workers + D1; бесплатного тарифа достаточно для большинства небольших сайтов). Данные останутся в вашем аккаунте.

Раньше этот репозиторий назывался agentlytics-mcp. Worker, база данных, трекер (agentlytics.track) и сервер MCP сохранили прежнее название, чтобы продолжали работать существующие установки.

Ниже приведены примеры вопросов и ответов; числа указаны для иллюстрации.

Хостинговый сервер MCP: https://a.measuremy.site/mcp

Не хотите размещать сервер самостоятельно? measuremy.site — хостинговая версия (site.measuremy/analytics в реестре MCP): те же инструменты MCP, а также панель управления, объяснения всплесков трафика с помощью AI, отслеживание публикаций с упоминаниями о вас (Hacker News, Bluesky, YouTube и другие), оповещения и еженедельные сводки. Используется Streamable HTTP с OAuth: при первом подключении нужно войти через браузер, а API key никуда вставлять не требуется. 30-дневный бесплатный пробный период без привязки карты; тарифы начинаются от $9 в месяц.

VS Code (Copilot): добавьте сервер в .vscode/mcp.json или выберите MCP: Add Server → HTTP. При запуске сервера VS Code предложит войти.

{
  "servers": {
    "measuremysite": { "type": "http", "url": "https://a.measuremy.site/mcp" }
  }
}

Claude Code

claude mcp add --scope user --transport http measuremysite https://a.measuremy.site/mcp

Cursor (~/.cursor/mcp.json)

{ "mcpServers": { "measuremysite": { "url": "https://a.measuremy.site/mcp" } } }

После входа создайте аккаунт или войдите в существующий и укажите домен сайта. Затем попросите агента: «добавь аналитику measuremy.site в этот проект». Сервер передаст ему тег script для вашего сайта. Документация: measuremy.site/docs/mcp.

В остальной части README описана версия для самостоятельного размещения.

Что умеет ваш агент

Задавайте вопросы обычными словами, например:

  • «Почему вчера резко вырос трафик?» Агент найдёт всплеск и определит источник, страницу или событие, которые за ним стоят.

  • «На каком этапе пользователи уходят с главной страницы, не завершив регистрацию?» Агент построит воронку и покажет самый большой отток.

  • «Что работает и о чём написать дальше?» Агент ранжирует каналы по числу конверсий и предложит следующие шаги.

  • «Создай отслеживаемую ссылку для моей публикации на Reddit и проверь на следующей неделе, как она сработала».

Инструменты, доступные через MCP:

ОбластьИнструменты
Трафикget_overview, get_timeseries, top_sources, top_pages, top_countries, top_browsers, top_systems, list_events
Запросы о посещенияхquery_visits (фильтрация и группировка по стране, браузеру, ОС, источнику, странице, событию и дню), recent_visits
Всплескиfind_traffic_spikes, explain_spike (ранжирование возможных причин и ваши аннотации)
Воронкиcreate_funnel, get_funnel, delete_funnel
Ростget_whats_working, get_growth_actions
Кампанииcreate_tracked_link, get_campaign_results, add_annotation

Также доступен prompt plan_marketing, который помогает агенту составить план на основе данных.

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

  • Cookie не используются, и данные в браузере посетителя не сохраняются.

  • IP-адрес и user agent не сохраняются. Идентификатор посетителя — это хеш, который меняется каждый день, поэтому отслеживать человека изо дня в день невозможно.

  • Сохраняются только названия браузера и ОС (например, «Firefox» и «macOS»), а также страна, которую определяет Cloudflare.

  • Необработанные события удаляются через 400 дней; почасовые итоги сохраняются.

Проверьте, какие правила применяются в вашем регионе и в регионах ваших посетителей; это не юридическая консультация.

Развертывание

В один клик

Кнопка копирует этот репозиторий в ваш аккаунт GitHub, создаёт базу данных D1, выполняет миграции и развёртывает Worker. При этом запрашиваются три параметра:

  • SITE_DOMAIN: домен вашего сайта, например example.com (без https:// и www)

  • HASH_SECRET: произвольная длинная случайная строка, используемая для создания ежедневного идентификатора посетителя

  • MCP_READ_KEY: ещё одна длинная случайная строка — ключ, который использует ваш AI-агент

Создайте два случайных значения с помощью openssl rand -hex 32. Сохраните MCP_READ_KEY, чтобы подключить агента, как описано ниже.

Вручную

Вам понадобятся аккаунт Cloudflare и Node.js версии 20 или выше.

git clone https://github.com/developeron29/measuremysite-mcp.git
cd measuremysite-mcp
npm install
npx wrangler login
  • Создайте базу данных и вставьте выведенный database_id в wrangler.jsonc:
npx wrangler d1 create agentlytics-mcp
  • Задайте три параметра. Для двух ключей используйте длинные случайные значения, например созданные с помощью openssl rand -hex 32:
npx wrangler secret put SITE_DOMAIN     # e.g. example.com
npx wrangler secret put HASH_SECRET     # makes the daily visitor id; never share it
npx wrangler secret put MCP_READ_KEY    # the key your agent uses; keep it out of your repo

При первом выполнении secret put Wrangler может предложить создать Worker. Подтвердите действие.

  • Разверните приложение (при этом также создаются таблицы):
npm run deploy

В обоих случаях вы получите URL Worker, например https://agentlytics-mcp..workers.dev. При переходе по нему откроется страница состояния с доменом вашего сайта. В панели Cloudflare можно подключить собственный домен, например stats.yourdomain.com.

Необязательное ограничение частоты запросов: чтобы ограничить число запросов с одного IP-адреса, добавьте этот фрагмент в wrangler.jsonc и выполните развёртывание повторно:

"ratelimits": [{ "name": "COLLECT_LIMITER", "namespace_id": "1001", "simple": { "limit": 120, "period": 60 } }]

Добавление трекера на сайт

Добавьте этот код в `` на каждой странице:

<script defer src="https://YOUR-WORKER-URL/t.js"></script>

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

agentlytics.track("signup", { plan: "pro" });

Либо добавьте атрибут к любому элементу, чтобы отслеживать событие без JavaScript:

Start free">

<button data-agentlytics-event="cta_click">Start free</button>

Учитываются только страницы на домене SITE_DOMAIN и его поддоменах.

Подключение агента

Claude Code

claude mcp add --scope user --transport http agentlytics https://YOUR-WORKER-URL/mcp --header "Authorization: Bearer YOUR_MCP_READ_KEY"

Cursor (.cursor/mcp.json или ~/.cursor/mcp.json)

{
  "mcpServers": {
    "agentlytics": {
      "url": "https://YOUR-WORKER-URL/mcp",
      "headers": { "Authorization": "Bearer YOUR_MCP_READ_KEY" }
    }
  }
}

Codex (~/.codex/config.toml)

[mcp_servers.agentlytics]
url = "https://YOUR-WORKER-URL/mcp"
bearer_token_env_var = "AGENTLYTICS_READ_KEY"

Затем выполните export AGENTLYTICS_READ_KEY=YOUR_MCP_READ_KEY в оболочке, из которой запускаете Codex.

После этого спросите: «Используй agentlytics и расскажи, как прошла эта неделя для моего сайта». Для сравнения всплесков понадобится несколько дней данных о трафике.

Поручите настройку агенту

Предложите своему агенту для работы с кодом следовать инструкциям в AGENTS.md: «Разверни measuremysite-mcp для моего сайта, следуя AGENTS.md». Агент проведёт вас через все шаги и запросит подтверждение перед действиями, для которых нужен вход в Cloudflare.

Самостоятельное размещение или хостинговая версия?

measuremysite-mcp (этот репозиторий)measuremy.site
Инструменты MCP для агентаДаДа
Отслеживание без cookie, воронки, всплески и кампанииДаДа
СайтыОдин на каждое развёртываниеНесколько в одном аккаунте
Панель управленияНет (задавайте вопросы агенту)Да, с фильтрами и публичной ссылкой для общего доступа
Объяснения всплесков с помощью AIНетДа
Публикации с упоминаниями о вас (HN, Lobsters, Bluesky, YouTube, Reddit)НетДа, на графике трафика
Оповещения и еженедельная сводка по электронной почтеНетДа
Кто обслуживаетВы, в своём аккаунте CloudflareМы
СтоимостьБесплатно (оплачивается только использование Cloudflare)30-дневный бесплатный пробный период, затем от $9 в месяц

Разработка

cp .dev.vars.example .dev.vars   # then edit the values
npm run db:migrate:local
npx wrangler dev
npm test
npm run typecheck

scripts/stdio.sh запускает сервер локально и предоставляет MCP через stdio для клиентов, которые запускают сервер как команду (например, Glama). В окружении должны быть заданы SITE_DOMAIN, HASH_SECRET и MCP_READ_KEY.

Лицензия

MIT. См. файл LICENSE.