gtm-mcp-server
GTM MCP Server
서비스 계정 인증을 사용하는 Google Tag Manager용 Model Context Protocol(MCP) 서버입니다. OAuth 절차가 필요 없습니다.
기능
OAuth 불필요 - Google 서비스 계정을 사용하여 인증합니다.
핵심 GTM 워크플로우 지원 - 계정, 컨테이너, 작업공간, 태그, 트리거, 변수, 기본 제공 변수, 버전(도구 29개)
로컬 및 프라이빗 - 전적으로 사용자 머신에서 실행됩니다.
Claude Desktop, Cursor 및 기타 MCP 클라이언트와 호환
빠른 시작
1. Google Cloud 서비스 계정 만들기
Google Cloud Console로 이동합니다.
프로젝트를 선택하거나 생성합니다.
Tag Manager API를 사용 설정합니다:
APIs 및 서비스 → 라이브러리로 이동
"Tag Manager API" 검색
사용 클릭
서비스 계정을 생성합니다:
IAM 및 관리자 → 서비스 계정으로 이동
"서비스 계정 만들기" 클릭
이름을 지정합니다(예: "gtm-mcp-server")
만들기 및 계속 클릭(선택 권한은 건너뜀)
완료 클릭
키를 생성합니다:
새 서비스 계정 클릭
키 탭으로 이동
키 추가 → 새 키 만들기 → JSON
다운로드한 JSON 파일을 안전한 곳에 저장합니다(예:
~/.config/gtm-service-account.json)
2. 서비스 계정에 GTM 액세스 권한 부여
Google Tag Manager로 이동합니다.
관리(톱니바퀴 아이콘) 클릭
계정 아래에서 "사용자 관리" 클릭
버튼을 클릭하여 사용자를 추가합니다.
서비스 계정 이메일을 입력합니다(
name@project-id.iam.gserviceaccount.com형식).적절한 권한을 설정합니다:
읽기 - 목록 조회/보기 전용
편집 - 태그, 트리거, 변수 생성/수정용
게시 - 버전 게시용
관리자 - 사용자 관리를 포함한 전체 액세스
3. MCP 클라이언트 구성
Claude Desktop
Claude Desktop 구성(Mac의 경우 ~/Library/Application Support/Claude/claude_desktop_config.json, Windows의 경우 %APPDATA%\Claude\claude_desktop_config.json)에 추가합니다:
{
"mcpServers": {
"gtm": {
"command": "npx",
"args": ["-y", "gtm-mcp-server"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account.json"
}
}
}
}Cursor
Cursor MCP 설정에 추가합니다:
{
"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- 기본 제공 변수 사용 설정(예: 페이지 URL, 클릭 클래스)gtm_disable_built_in_variables- 기본 제공 변수 사용 중지
버전 관리
gtm_list_versions- 컨테이너 버전 나열gtm_get_live_version- 현재 라이브(게시된) 버전 가져오기gtm_create_version- 작업공간에서 버전 생성gtm_publish_version- 버전을 게시하여 라이브로 전환
모든 목록 도구는 한 번에 한 페이지씩 결과를 반환합니다. 더 많은 결과가 있을 경우 응답에 다음 호출에 전달할 page_token이 포함됩니다.
사용 예시
구성이 완료되면 Claude에게 다음과 같이 요청할 수 있습니다:
"내 GTM 계정을 나열해 줘"
"계정 123456의 모든 컨테이너를 보여 줘"
"내 웹사이트 컨테이너에 어떤 태그가 있어?"
"'모든 페이지'라는 새 페이지뷰 트리거를 만들어 줘"
"모든 페이지에서 실행되는 커스텀 HTML 태그를 만들어 줘"
"버전을 만들고 게시해 줘"
문제 해결
"GOOGLE_APPLICATION_CREDENTIALS not set"
환경 변수가 MCP 클라이언트 구성에 설정되어 있고 유효한 JSON 키 파일을 가리키는지 확인하세요.
"Permission denied" 오류
서비스 계정 이메일이 GTM 계정에 추가되었는지 확인
작업에 충분한 권한 수준인지 확인
"API not enabled" 오류
Google Cloud 프로젝트에서 Tag Manager API가 사용 설정되어 있는지 확인하세요.
서버가 Claude Desktop에 표시되지 않음
구성의 경로가 올바른지 확인
Claude Desktop의 MCP 로그에서 오류 확인
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