GA4 Analytics MCP
GA4 Analytics MCP
Персональный коннектор Google Analytics 4 для пользовательских коннекторов Claude.ai. Один аккаунт Google, один MCP-сервер, развёрнутый на Vercel.
Claude.ai Custom Connector
→ https://<VERCEL_PROJECT_NAME>.vercel.app/ga4mcp
→ Vercel Streamable HTTP MCP
→ Google Analytics Data API
→ your GA4 propertiesЗдесь нет локального stdio-сервера, не требуется npx и нет claude_desktop_config.json.
Два уровня аутентификации остаются раздельными:
Claude → MCP: MCP OAuth (CIMD / DCR / опциональный клиент Advanced Settings)
MCP → Google: Google OAuth refresh token, хранящийся в
GOOGLE_REFRESH_TOKEN
Инструменты MCP
Инструмент | Назначение |
| Обнаружение ресурсов в подключённом аккаунте Google |
| Список допустимых измерений и метрик |
| Исторические отчёты GA4 |
| Последние ~30 минут |
Локальная разработка
npm install
copy .env.example .env.localЗаполните .env.local, затем:
npm run devПриложение:
http://localhost:3000MCP:
http://localhost:3000/ga4mcpGoogle OAuth:
http://localhost:3000/oauth/googleHealth:
http://localhost:3000/health
npm test
npm run buildClaude.ai не может получить доступ к localhost. Разверните проект на Vercel перед добавлением пользовательского коннектора.
Настройка Google Cloud
Это нужно только для того, чтобы MCP-сервер мог читать ваши данные GA4. Это не OAuth-клиент коннектора Claude.ai.
Создайте или выберите проект Google Cloud.
Включите Google Analytics Data API.
Включите Google Analytics Admin API.
Настройте экран согласия OAuth (External для личного Gmail). Опубликуйте в Production, чтобы refresh-токены не истекали через 7 дней.
Создайте OAuth-клиент Web application.
Авторизованные URI перенаправления:
http://localhost:3000/oauth/google/callbackhttps://<VERCEL_PROJECT_NAME>.vercel.app/oauth/google/callback
Область (scope), используемая этим приложением:
https://www.googleapis.com/auth/analytics.readonlyСкопируйте идентификатор клиента и секрет в переменные окружения.
Затем перейдите по адресу /oauth/google, введите MCP_AUTH_TOKEN и войдите в аккаунт Google, которому принадлежат ваши ресурсы GA4.
Локально refresh-токен записывается в
.env.local.На Vercel вставьте
GOOGLE_REFRESH_TOKENв переменные окружения проекта и выполните повторный деплой.
Переменные окружения
Переменная | Обязательность | Назначение |
| Да | Публичный origin, без завершающего слеша. Продакшен: |
| Да | Веб-клиент Google OAuth |
| Да | Секрет веб-клиента Google OAuth |
| Нет | По умолчанию: |
| Да | Токен настройки оператора для Google OAuth и согласия Claude MCP |
| После Google OAuth | Долгоживущий токен Google |
| Нет | Подписывает cookie состояния Google OAuth |
| Нет | Подписывает JWT доступа/обновления MCP. По умолчанию: |
| Нет | Только если используется конфиденциальный клиент Advanced Settings Claude.ai |
| Нет | Пара для опционального конфиденциального клиента |
Vercel
npm i -g vercel
vercel
vercel --prodДобавьте переменные окружения в проект Vercel. После первого Google OAuth на продакшене установите GOOGLE_REFRESH_TOKEN и выполните повторный деплой.
Отключите Deployment Protection / Vercel Authentication на продакшене. Claude.ai подключается из сети Anthropic (160.79.104.0/21). Если перед /ga4mcp стоит Vercel SSO, коннектор не сможет подключиться.
Продакшен-URL:
https://<VERCEL_PROJECT_NAME>.vercel.app/ga4mcp
https://<VERCEL_PROJECT_NAME>.vercel.app/oauth/google/callback
https://<VERCEL_PROJECT_NAME>.vercel.app/healthПользовательский домен можно добавить позже. Продолжайте использовать APP_BASE_URL, чтобы не менять код.
Пользовательский коннектор Claude.ai
Разверните проект на Vercel и убедитесь, что
https://<VERCEL_PROJECT_NAME>.vercel.app/healthвозвращает{"status":"ok"}.Подключите Google по адресу
https://<VERCEL_PROJECT_NAME>.vercel.app/oauth/google.Поместите
GOOGLE_REFRESH_TOKENв переменные окружения Vercel и выполните повторный деплой.В Claude.ai откройте Customize → Connectors → Add custom connector.
Название:
GA4 AnalyticsURL:
https://<VERCEL_PROJECT_NAME>.vercel.app/ga4mcpОставьте Advanced OAuth Client ID / Secret пустыми. Claude использует CIMD для работы с конечными точками авторизации этого сервера.
Нажмите Add.
Включите коннектор в меню чата + → Connectors.
Первый вызов инструмента GA4 показывает карточку Connect. Введите
MCP_AUTH_TOKENна странице согласия этого приложения (не ваш пароль Google).Спросите: Сколько пользователей у меня было вчера?
initialize и tools/list являются публичными, чтобы Claude мог обнаружить инструменты. tools/call возвращает HTTP 401 с заголовком WWW-Authenticate до завершения MCP OAuth.
Безопасность
Никогда не записывайте в логи токены Google, коды авторизации, секреты клиентов или MCP JWT.
Инструменты MCP никогда не возвращают секреты.
Токены доступа Google не хранятся; в переменных окружения сохраняется только
GOOGLE_REFRESH_TOKEN.Не помещайте секреты в Git.
Даты
Передаются в GA4 без изменений: today, yesterday, 7daysAgo, 30daysAgo, 90daysAgo или YYYY-MM-DD. Измерение date возвращается в формате YYYYMMDD.
Известные ограничения
Один аккаунт Google и один refresh-токен.
Vercel не может записывать переменные окружения во время выполнения; вставьте
GOOGLE_REFRESH_TOKENи выполните повторный деплой.Refresh-токены режима тестирования Google истекают примерно через 7 дней.
Данные реального времени охватывают примерно последние 30 минут.
Размер отчёта ограничен 10 000 строк.
Я не могу завершить живой процесс подключения Claude.ai из этого репозитория; для этого нужны ваши аккаунты Claude и Vercel.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
GibsonAI MCP server: manage your databases with natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/devopsbrandmirchi/Ga4McpServer'
If you have feedback or need assistance with the MCP directory API, please join our Discord server