gtm-mcp-server
GTM MCP Server
Сервер Model Context Protocol (MCP) для Google Tag Manager с использованием аутентификации через сервисный аккаунт — без процедуры OAuth.
Возможности
OAuth не требуется — для аутентификации используется сервисный аккаунт Google
Покрывает основной рабочий процесс GTM — аккаунты, контейнеры, рабочие области, теги, триггеры, переменные, встроенные переменные и версии (29 инструментов)
Локальный и приватный — работает полностью на вашем компьютере
Совместим с Claude Desktop, Cursor и другими MCP-клиентами
Быстрый старт
1. Создайте сервисный аккаунт Google Cloud
Перейдите в Google Cloud Console
Выберите или создайте проект
Включите Tag Manager API:
Перейдите в APIs & Services → Library
Найдите "Tag Manager API"
Нажмите Enable
Создайте сервисный аккаунт:
Перейдите в IAM & Admin → Service Accounts
Нажмите "Create Service Account"
Дайте ему имя (например, "gtm-mcp-server")
Нажмите Create and Continue (пропустите необязательные разрешения)
Нажмите Done
Создайте ключ:
Нажмите на ваш новый сервисный аккаунт
Перейдите на вкладку Keys
Add Key → Create new key → JSON
Сохраните загруженный JSON-файл в безопасном месте (например,
~/.config/gtm-service-account.json)
2. Предоставьте доступ к GTM сервисному аккаунту
Перейдите в Google Tag Manager
Нажмите Admin (значок шестерёнки)
В разделе Account нажмите "User Management"
Нажмите кнопку +, чтобы добавить пользователя
Введите email сервисного аккаунта (выглядит как
name@project-id.iam.gserviceaccount.com)Установите соответствующие разрешения:
Read — только для просмотра/перечисления
Edit — для создания/изменения тегов, триггеров, переменных
Publish — для публикации версий
Admin — полный доступ, включая управление пользователями
3. Настройте ваш MCP-клиент
Claude Desktop
Добавьте в конфигурацию Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json на Mac, %APPDATA%\Claude\claude_desktop_config.json на Windows):
{
"mcpServers": {
"gtm": {
"command": "npx",
"args": ["-y", "gtm-mcp-server"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account.json"
}
}
}
}Cursor
Добавьте в настройки MCP в Cursor:
{
"mcpServers": {
"gtm": {
"command": "npx",
"args": ["-y", "gtm-mcp-server"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account.json"
}
}
}
}4. Перезапустите клиент
После сохранения конфигурации перезапустите ваш MCP-клиент. Вы должны увидеть доступные инструменты GTM.
Доступные инструменты
Управление аккаунтами
gtm_list_accounts— список всех доступных аккаунтов GTM
Управление контейнерами
gtm_list_containers— список контейнеров в аккаунтеgtm_get_container— получение сведений о контейнере
Управление рабочими областями
gtm_list_workspaces— список рабочих областей в контейнереgtm_create_workspace— создание новой рабочей областиgtm_get_workspace_status— отображение ожидающих изменений и конфликтов слияния в рабочей областиgtm_sync_workspace— синхронизация рабочей области с последней версией контейнера
Управление тегами
gtm_list_tags— список всех тегов в рабочей областиgtm_get_tag— получение полных сведений о теге с параметрамиgtm_create_tag— создание нового тегаgtm_update_tag— обновление существующего тегаgtm_delete_tag— удаление тега
Управление триггерами
gtm_list_triggers— список всех триггеров в рабочей областиgtm_get_trigger— получение полных сведений о триггереgtm_create_trigger— создание нового триггераgtm_update_trigger— обновление существующего триггераgtm_delete_trigger— удаление триггера
Управление переменными
gtm_list_variables— список всех переменных в рабочей областиgtm_get_variable— получение полных сведений о переменнойgtm_create_variable— создание новой переменнойgtm_update_variable— обновление существующей переменнойgtm_delete_variable— удаление переменной
Управление встроенными переменными
gtm_list_built_in_variables— список включённых встроенных переменныхgtm_enable_built_in_variables— включение встроенных переменных (например, Page URL, Click Classes)gtm_disable_built_in_variables— отключение встроенных переменных
Управление версиями
gtm_list_versions— список версий контейнераgtm_get_live_version— получение текущей опубликованной версииgtm_create_version— создание версии из рабочей областиgtm_publish_version— публикация версии, чтобы сделать её активной
Все инструменты для вывода списков возвращают результаты по одной странице за раз; если есть дополнительные результаты, ответ содержит page_token, который нужно передать в следующий вызов.
Примеры использования
После настройки вы можете задавать Claude такие вопросы, как:
"Список моих аккаунтов GTM"
"Покажи все контейнеры в аккаунте 123456"
"Какие теги есть в моём контейнере для сайта?"
"Создай новый триггер просмотра страницы под названием 'All Pages'"
"Создай пользовательский HTML-тег, который срабатывает на всех страницах"
"Создай версию и опубликуй её"
Устранение неполадок
"GOOGLE_APPLICATION_CREDENTIALS not set"
Убедитесь, что переменная окружения задана в конфигурации вашего MCP-клиента и указывает на действительный JSON-файл ключа.
Ошибки "Permission denied"
Проверьте, что email сервисного аккаунта добавлен в ваш аккаунт GTM
Убедитесь, что уровень разрешений достаточен для выполнения операции
Ошибки "API not enabled"
Убедитесь, что Tag Manager API включён в вашем проекте Google Cloud.
Сервер не отображается в Claude Desktop
Проверьте, что пути в вашей конфигурации указаны верно
Просмотрите журналы MCP в Claude Desktop на предмет ошибок
Попробуйте запустить
npx gtm-mcp-serverнапрямую, чтобы увидеть сообщения об ошибках
Разработка
# Clone the repository
git clone https://github.com/alexstansfield/gtm-mcp-server.git
cd gtm-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Watch mode for development
npm run dev
# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.jsЛицензия
MIT
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
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP (Model Context Protocol) server for Appwrite
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/AlexStansfield/gtm-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server