Skip to content

Latest commit

 

History

History
122 lines (88 loc) · 3.41 KB

File metadata and controls

122 lines (88 loc) · 3.41 KB

gtm-mcp

Google Tag Manager (GTM) を LLM から操作するための MCP サーバーです。
認証は Google OAuth 2.0 を利用します。

言語

  • English: README.md
  • 日本語: README.ja.md(このファイル)

できること

  • Google OAuth 認証 URL の発行、コード交換、状態確認、認証解除
  • GTM API v2 の汎用呼び出し(gtm_request
  • タグ操作: list/create/update/delete
  • トリガー操作: list/create/update/delete
  • 変数操作: list/create/update/delete

Skills

  • このリポジトリには Codex 用スキルを同梱しています:
    • skills/gtm-mcp/SKILL.md
  • セットアップ、MCP登録、OAuth初回フロー、GTMツール運用パターンをまとめています。

前提条件

  • Node.js 18+
  • npm
  • Codex CLI または Claude Code CLI(MCP登録に使う場合)
  • Google Cloud で作成した OAuth クライアント

Google Cloud 側の準備

  1. Google Cloud で対象プロジェクトを作成/選択
  2. Tag Manager API を有効化
  3. OAuth 同意画面 を設定
  4. OAuth クライアント ID を作成
  5. リダイレクト URI に http://127.0.0.1:8085 を登録
  6. Client IDClient Secret を控える

クローン直後のセットアップ

git clone <this-repo-url>
cd gtm-mcp
npm install
npm run setup

npm run setup で実行される内容:

  • .env の作成/更新(対話入力)
  • TypeScript ビルド(dist/生成)

MCP 登録

以下のスクリプトで各種CLIにMCPサーバーとして登録できます。

npm run register:codex
npm run register:claude
npm run register:claude:local
npm run register:claude:user
npm run register:claude:project

補足:

  • register:claudeuser スコープに登録(~/.claude.json 側)
  • register:claude:locallocal スコープに登録(~/.claude.json の project エントリ)
  • register:claude:user は明示的に user スコープへ登録
  • register:claude:projectproject スコープへ登録(.mcp.json
  • 同名の gtm が既にある場合、register:codex / register:claude は上書きせずスキップ

別ディレクトリから登録する場合:

npm --prefix /absolute/path/to/gtm-mcp run register:codex
npm --prefix /absolute/path/to/gtm-mcp run register:claude
npm --prefix /absolute/path/to/gtm-mcp run register:claude:local
npm --prefix /absolute/path/to/gtm-mcp run register:claude:user
npm --prefix /absolute/path/to/gtm-mcp run register:claude:project

register:claude:project は実行元ディレクトリ(INIT_CWD)を project scope として登録します。

OAuth フロー(初回のみ)

新しいCodex/Claudeセッションを開いて、以下を順に実行します。

  1. oauth_get_consent_url
  2. 返却URLをブラウザで開いて同意
  3. リダイレクト先URLから code を取得
  4. oauth_exchange_codecode を渡す
  5. oauth_status で確認

開発

npm run dev

本番実行

npm run build
npm start

.env 例

GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
GOOGLE_REDIRECT_URI=http://127.0.0.1:8085
GTM_MCP_TOKEN_PATH=.gtm-mcp/tokens.json

注意

  • トークンは GTM_MCP_TOKEN_PATH に保存されます
  • 書き込み操作には https://www.googleapis.com/auth/tagmanager.edit.containers が必要です