{"id":17823,"date":"2026-09-13T14:30:00","date_gmt":"2026-09-13T12:30:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=17823"},"modified":"2026-10-25T21:26:48","modified_gmt":"2026-10-25T20:26:48","slug":"claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/","title":{"rendered":"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen"},"content":{"rendered":"<p>Ein KI-Assistent kann im Google Tag Manager beispielsweise einen Tag f\u00fcr abgeschlossene K\u00e4ufe vorbereiten. Daf\u00fcr braucht die Anbindung Zugriff auf den richtigen Container. Ein Container b\u00fcndelt Tags, Ausl\u00f6ser und Variablen; ein JSON-Export beschreibt diese Einstellungen als Text. Die Entscheidung \u00fcber Zugriffsrechte ist wichtiger als die Zahl der angebotenen Werkzeuge.<\/p>\n<p>Dieser Vergleich betrachtet drei MCP-Pakete. MCP ist ein Protokoll, \u00fcber das ein Assistent Werkzeuge aufrufen kann. Die urspr\u00fcngliche Messung vom 9. September 2026 nennt Werkzeugzahlen und Antwortgr\u00f6\u00dfen f\u00fcr feste Paketversionen. Die damaligen Rohprotokolle liegen f\u00fcr diese Nachpr\u00fcfung nicht vor. Die Werte bleiben als historische Angaben gekennzeichnet; aktuelle API-Regeln und Paketquellen wurden separat gepr\u00fcft.<\/p>\n<figure class=\"lw-diagram\"><img decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/diagrams\/gtmintegrations-reviewed-17823-de-20261025.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Google-Scopes, Kontorechte und Claude-Code-Regeln pr\u00fcfen verschiedene Teile des Zugriffs. Die Werkzeuglistengr\u00f6\u00dfe misst nicht direkt die Kontextnutzung.\"><figcaption>Google-Scopes, Kontorechte und Claude-Code-Regeln pr\u00fcfen verschiedene Teile des Zugriffs. Die Werkzeuglistengr\u00f6\u00dfe misst nicht direkt die Kontextnutzung.<\/figcaption><\/figure>\n<h2>Werkzeuge, direkte API-Aufrufe und Skills<\/h2>\n<p>Ein MCP-Server bietet beispielsweise ein Werkzeug zum Lesen eines Tags an. Claude Code \u00fcbermittelt die Argumente, der Server ruft die Tag-Manager-API auf und liefert das Ergebnis zur\u00fcck. Ein lokaler Server kann \u00fcber die Ein- und Ausgabe seines Prozesses kommunizieren (<code>stdio<\/code>); ein entfernter Server kann HTTP verwenden.<\/p>\n<p>Der direkte Weg \u00fcber <code>curl<\/code> kommt ohne MCP aus. Daf\u00fcr m\u00fcssen API-Adresse, Zugriffstoken und Datenformat stimmen. Auch dieser Weg verbraucht Kontext f\u00fcr Anweisungen und Ergebnisse. Der Zugriffstoken ist ein zeitlich begrenzter Zugangsnachweis; enthaltene OAuth-Scopes legen die beantragten Arten von Zugriff fest.<\/p>\n<p>Ein Skill kann Vorgehen, Pr\u00fcfschritte und Hilfsskripte mitbringen. In Claude Code k\u00f6nnen Skill-Einstellungen auch Werkzeugaufrufe vorab erlauben. Ein Skill erzeugt jedoch keine fehlenden Google-Berechtigungen. Entscheidend bleiben die tats\u00e4chlich verf\u00fcgbaren Werkzeuge, Zugangsdaten und Rechte.<\/p>\n<h2>Was die historischen Gr\u00f6\u00dfen aussagen<\/h2>\n<table>\n<caption>Historische Angaben vom 9. September 2026; Rohprotokolle f\u00fcr diese Nachpr\u00fcfung nicht verf\u00fcgbar.<\/caption>\n<thead>\n<tr>\n<th>Paketversion<\/th>\n<th>Angegebene Werkzeuge<\/th>\n<th>Angegebene tools\/list-Bytes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>google-tag-manager-mcp-server 5.1.1<\/code><\/td>\n<td>18<\/td>\n<td>108201<\/td>\n<\/tr>\n<tr>\n<td><code>gtm-mcp 1.0.0<\/code><\/td>\n<td>104<\/td>\n<td>49656<\/td>\n<\/tr>\n<tr>\n<td><code>@theethosteam\/gtm-mcp 1.1.1<\/code><\/td>\n<td>33<\/td>\n<td>19797<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die Bytewerte bezeichnen die damals angegebene Antwort auf <code>tools\/list<\/code>, also die Beschreibung aller angebotenen Werkzeuge. Eine Werkzeugdefinition enth\u00e4lt unter anderem Name, Beschreibung und Eingabefelder. Wenige Werkzeuge k\u00f6nnen deshalb mehr Text ben\u00f6tigen als viele kleine Werkzeuge.<\/p>\n<p>Der damalige Vergleich beschreibt den ersten Server als Sammlung von Werkzeugen je Objektart: <code>gtm_tag<\/code> b\u00fcndelt etwa Lesen und \u00c4ndern \u00fcber einen Parameter <code>action<\/code>. Der zweite Server trennt wesentlich mehr API-Aufrufe in einzelne Werkzeuge. Beim dritten Paket best\u00e4tigt der gepr\u00fcfte Quelltext Aufgabenrezepte sowie <code>gtm_raw<\/code> f\u00fcr direkte API-Methoden.<\/p>\n<p>Die fr\u00fcher genannten rund 27.000, 12.400 und 4.900 Token sind lediglich grobe Sch\u00e4tzungen nach Bytegr\u00f6\u00dfe, keine Messung mit dem Tokenizer eines bestimmten Modells. Token sind die Textbausteine, mit denen ein Modell arbeitet. JSON-Formatierung, Zeichensatz und Tokenizer beeinflussen das Ergebnis.<\/p>\n<p>Claude Code kann MCP-Werkzeuge inzwischen \u00fcber eine Werkzeugsuche erst bei Bedarf laden. Dann landet nicht automatisch jede vollst\u00e4ndige Definition in jeder Modellanfrage. Einstellungen, Clientversion und Plattform entscheiden \u00fcber das tats\u00e4chliche Verhalten. Deshalb ergibt sich aus 108.201 Byte Werkzeugliste weder ein fester Platzverbrauch noch ein fester Preis je Gespr\u00e4chsrunde.<\/p>\n<p>Prompt-Caching kann bereits geladene, wiederholte Eingaben g\u00fcnstiger machen. Ein Cachetreffer verkleinert aber nicht die Zahl der dabei verarbeiteten Kontexttoken. Treffer, Schreibkosten und Ersparnis h\u00e4ngen vom Modell, der Anfrage und der Cache-Konfiguration ab. F\u00fcr einen Kostenvergleich sind die tats\u00e4chlichen Nutzungswerte wichtiger als eine Byte-Sch\u00e4tzung.<\/p>\n<h2>Entwurf und Ver\u00f6ffentlichung auseinanderhalten<\/h2>\n<p>Die \u00f6ffentlich abgerufene API-Beschreibung vom 25. Oktober 2026 tr\u00e4gt die Revision <code>20261021<\/code>. Das Dokument umfasst 270.858 Byte und 106 Methoden: 38 GET, 38 POST, 15 PUT und 15 DELETE. Diese Z\u00e4hlung beschreibt die API, nicht die Anzahl der Werkzeuge eines MCP-Servers.<\/p>\n<p>Ein Workspace ist ein Entwurf innerhalb eines Containers. Eine dort ge\u00e4nderte Tag-Konfiguration ersetzt die ver\u00f6ffentlichte Standardversion nicht automatisch. \u00dcblicherweise entsteht zun\u00e4chst mit <code>workspaces.create_version<\/code> eine Version; <code>versions.publish<\/code> ver\u00f6ffentlicht eine Version. Vorschau und benutzerdefinierte Umgebungen sind gesondert zu betrachten.<\/p>\n<p>Dieser Ablauf macht andere API-Rechte nicht harmlos. Container l\u00f6schen, Benutzerrechte \u00e4ndern und Umgebungen bearbeiten sind keine blo\u00dfen Tag-Entw\u00fcrfe. Im gepr\u00fcften Discovery-Dokument verwenden genau zwei Methoden den Scope <code>tagmanager.publish<\/code>. Daraus folgt nicht, dass alle \u00fcbrigen Methoden ohne Folgen f\u00fcr einen laufenden Betrieb bleiben.<\/p>\n<h2>Workspace-Tags und ver\u00f6ffentlichte Version lesen<\/h2>\n<p>F\u00fcr die Tag-Liste eines Workspace wird dessen ID ben\u00f6tigt. Die ver\u00f6ffentlichte Version l\u00e4sst sich dagegen \u00fcber <code>versions:live<\/code> lesen; die Antwort enth\u00e4lt auch die Tags dieser Version. Folgendes Beispiel liest nur Daten. IDs und Token sind Platzhalter f\u00fcr einen berechtigten Zugriff.<\/p>\n<pre><code class=\"language-bash\"># Beispiel-IDs; TOKEN muss einen berechtigten Zugriffstoken enthalten.\nACC=6012345678\nCONT=123456789\nWS=42\n: &quot;${TOKEN:?Zugriffstoken erforderlich}&quot;\n\n# Tag-Entw\u00fcrfe eines Workspace\ncurl --silent --show-error --fail-with-body \\\n  --connect-timeout 10 --max-time 30 \\\n  -H &quot;Authorization: Bearer $TOKEN&quot; \\\n  &quot;https:\/\/tagmanager.googleapis.com\/tagmanager\/v2\/accounts\/$ACC\/containers\/$CONT\/workspaces\/$WS\/tags&quot;\n\n# Ver\u00f6ffentlichte Version samt Tags; ohne Workspace-ID\ncurl --silent --show-error --fail-with-body \\\n  --connect-timeout 10 --max-time 30 \\\n  -H &quot;Authorization: Bearer $TOKEN&quot; \\\n  &quot;https:\/\/tagmanager.googleapis.com\/tagmanager\/v2\/accounts\/$ACC\/containers\/$CONT\/versions:live&quot;\n<\/code><\/pre>\n<p>Ein fehlender oder abgelaufener Token und unzureichende Rechte k\u00f6nnen zu unterschiedlichen Fehlern f\u00fchren. Ein bestimmter Fehlertext ist keine Zusicherung f\u00fcr jede API-Methode. <code>--fail-with-body<\/code> l\u00e4sst HTTP-Fehler am Exit-Code erkennen und beh\u00e4lt den Antworttext; die Option setzt eine passende curl-Version voraus.<\/p>\n<h2>Drei Pr\u00fcfungen f\u00fcr Zugriffsrechte<\/h2>\n<p>Erstens muss der Zugriffstoken den ben\u00f6tigten OAuth-Scope enthalten. Zweitens braucht das zugeh\u00f6rige Google-Konto passende Tag-Manager-Rechte. Ein Ver\u00f6ffentlichungs-Scope allein gibt einem Konto ohne Ver\u00f6ffentlichungsrecht keinen Zugriff auf die Ver\u00f6ffentlichung. Diese beiden Pr\u00fcfungen gelten auch au\u00dferhalb von Claude Code.<\/p>\n<p>Drittens kann Claude Code bestimmte Werkzeugaufrufe sperren oder zur Best\u00e4tigung vorlegen. Eine Regel f\u00fcr <code>mcp__gtm__gtm_version<\/code> betrifft dieses Werkzeug. Ein <code>PreToolUse<\/code>-Hook kann zus\u00e4tzlich Eingabefelder wie <code>action<\/code> pr\u00fcfen. Ein Hook ist ein Skript, das vor dem Aufruf eine Entscheidung liefert.<\/p>\n<p>Eine Sperre auf einen Werkzeugnamen kontrolliert keinen separaten <code>curl<\/code>-Aufruf. Sind dieselben Zugangsdaten \u00fcber die Shell erreichbar, gelten dort weiterhin Google-Scopes und Kontorechte, aber nicht diese MCP-Namensregel. Auch ein offenes Rohaufruf-Werkzeug kann gesperrte Spezialwerkzeuge ersetzen. Alle tats\u00e4chlich erreichbaren Wege m\u00fcssen zusammen betrachtet werden.<\/p>\n<h2>GTM_SCOPES wirkt nicht bei jeder Anmeldung<\/h2>\n<p>Die gepr\u00fcfte CLI-Version <code>google-tag-manager-mcp-server@5.1.1<\/code> verwendet das Core-Paket \u00fcber einen Versionsbereich ab 2.1.1. Im ausdr\u00fccklich gepr\u00fcften Core 2.1.1 wird <code>GTM_SCOPES<\/code> nur bei der Dienstkonto-Anmeldung an die Token-Erzeugung weitergegeben. Ohne eigene Auswahl werden sieben Tag-Manager-Scopes angefordert.<\/p>\n<p>Beim Refresh-Token- oder Zugriffstoken-Zweig \u00e4ndert dieselbe Umgebungsvariable die vorhandenen Rechte nicht. F\u00fcr eine Beschr\u00e4nkung muss ein entsprechend eingeschr\u00e4nkter Google-Zugang vorliegen. Der folgende Konfigurationsausschnitt zeigt nur die Dienstkonto-Variante. Der Schl\u00fcsselwert ist ein Platzhalter; echte Schl\u00fcssel geh\u00f6ren nicht in ein \u00f6ffentliches Repository.<\/p>\n<p>Claude Code ersetzt <code>${GTM_SERVICE_ACCOUNT_KEY}<\/code> in dieser Konfiguration durch den Wert der Umgebungsvariablen. Der Wert muss das vollst\u00e4ndige Schl\u00fcssel-JSON des Dienstkontos enthalten, keinen Dateipfad. Das Konto braucht au\u00dferdem die passenden Tag-Manager-Rechte.<\/p>\n<pre><code class=\"language-json\">{\n  &quot;mcpServers&quot;: {\n    &quot;gtm&quot;: {\n      &quot;command&quot;: &quot;npx&quot;,\n      &quot;args&quot;: [\n        &quot;-y&quot;,\n        &quot;google-tag-manager-mcp-server@5.1.1&quot;\n      ],\n      &quot;env&quot;: {\n        &quot;GOOGLE_SERVICE_ACCOUNT_KEY&quot;: &quot;${GTM_SERVICE_ACCOUNT_KEY}&quot;,\n        &quot;GTM_SCOPES&quot;: &quot;https:\/\/www.googleapis.com\/auth\/tagmanager.readonly&quot;\n      }\n    }\n  }\n}<\/code><\/pre>\n<p>Die feste CLI-Version macht den Vergleich nachvollziehbarer, fixiert aber nicht automatisch alle abh\u00e4ngigen Pakete. F\u00fcr eine genau reproduzierbare Installation braucht auch die Abh\u00e4ngigkeitsaufl\u00f6sung einen festgehaltenen Stand. Die unterschiedlichen MCP-Pakete verwenden zudem unterschiedliche Namen und Verfahren f\u00fcr Zugangsdaten.<\/p>\n<h2>\u00c4nderungen ohne versehentlichen Datenverlust<\/h2>\n<p>Vor einer Aktualisierung wird das aktuelle Objekt gelesen. Anschlie\u00dfend wird nur die beabsichtigte Stelle ge\u00e4ndert und das f\u00fcr die Methode erforderliche vollst\u00e4ndige Objekt \u00fcbertragen. Ein PUT-Aufruf ist nicht automatisch eine partielle Erg\u00e4nzung. Welche Felder fehlen d\u00fcrfen, h\u00e4ngt von der konkreten Methode und dem Server ab.<\/p>\n<p>Ein <code>fingerprint<\/code> kennzeichnet den gelesenen Objektstand. Bei <code>tags.update<\/code> ist dieser Pr\u00fcfparameter in der API optional. Wird der alte Fingerprint mitgesendet und inzwischen ge\u00e4ndert, stimmt der Wert nicht mehr \u00fcberein. Ohne dieses Mitsenden besteht dieser Schutz nicht. Auch ein passender Fingerprint beweist keine fachlich richtige Tag-Konfiguration.<\/p>\n<p>Tag-Parameter k\u00f6nnen Listen und verschachtelte Objekte enthalten. Eine Messungs-ID, eine Variablenreferenz und eine Tag-Referenz sind unterschiedliche Werte. Ein vorhandener, aktueller Export des richtigen Tag-Typs ist deshalb die bessere Vorlage als ein beliebiges GA4-JSON-Beispiel. Zus\u00e4tzlich m\u00fcssen referenzierte Variablen und Ausl\u00f6ser im Zielcontainer vorhanden sein.<\/p>\n<h2>Im Browser pr\u00fcfen und die \u00c4nderung erkl\u00e4ren<\/h2>\n<p><code>quick_preview<\/code> erzeugt eine Vorschauversion. Der Aufruf \u00f6ffnet keine Website und beweist nicht, dass ein Kaufereignis zur richtigen Zeit ankommt. Eine Browserpr\u00fcfung muss unter anderem Ausl\u00f6ser, Data-Layer-Werte und Einwilligungszust\u00e4nde abdecken. Eine zus\u00e4tzliche Browseranbindung kann dabei helfen, ersetzt diese Pr\u00fcfung aber nicht durch einen API-Aufruf.<\/p>\n<p>Versionsname und Beschreibung k\u00f6nnen den Grund einer \u00c4nderung festhalten. Solche Angaben entstehen nicht automatisch aus einem Prompt und lassen sich auch sp\u00e4ter \u00fcber die Versionsverwaltung \u00e4ndern. Ein Export vor und nach der \u00c4nderung zeigt zus\u00e4tzlich den tats\u00e4chlichen Unterschied. Der Vergleich allein ben\u00f6tigt keine weiteren Google-Zugangsdaten, sobald beide Dateien vorliegen.<\/p>\n<div class=\"lw-faq\">\n<h2>Fragen und Antworten<\/h2>\n<h3>Ist eine kleinere Werkzeugliste immer besser?<\/h3>\n<p>Nein. Kleine Definitionen k\u00f6nnen weniger Informationen zur korrekten Eingabe liefern. Ausf\u00fchrliche Definitionen k\u00f6nnen Fehler vermeiden. Entscheidend sind Aufgabe, Qualit\u00e4t der Beschreibungen und tats\u00e4chlich geladener Kontext. Eine feste API-Antwortzeit l\u00e4sst sich daraus nicht ableiten.<\/p>\n<h3>Kann ein einzelnes Werkzeug zugleich lesen und ver\u00f6ffentlichen?<\/h3>\n<p>Ja. Bei geb\u00fcndelten Aktionen sperrt eine reine Namensregel m\u00f6glicherweise beide Vorg\u00e4nge. Eine Pr\u00fcfung des Aktionsparameters ist genauer, muss aber zur eingesetzten Serverversion passen. Ein separates Ver\u00f6ffentlichungswerkzeug ist leichter einzeln zu sperren.<\/p>\n<h3>Warum ein eigener Workspace?<\/h3>\n<p>Ein eigener Entwurf trennt zusammengeh\u00f6rige \u00c4nderungen und erleichtert Pr\u00fcfung oder Verwerfen. \u00c4nderungen aus anderen Workspaces k\u00f6nnen trotzdem einen Abgleich und eine Konfliktl\u00f6sung erfordern. <code>workspaces.sync<\/code> unterst\u00fctzt diesen Abgleich. Die verf\u00fcgbare Anzahl paralleler Workspaces h\u00e4ngt vom Tag-Manager-Angebot ab.<\/p>\n<h3>Was belegt ein fehlgeschlagener Paketstart?<\/h3>\n<p>Ein Startfehler wegen fehlender Datenbank- oder Schl\u00fcsselkonfiguration belegt zun\u00e4chst nur fehlende Voraussetzungen dieses Starts. Daraus folgt nicht, dass das Paket grunds\u00e4tzlich nie lokal laufen kann. Die Paketdokumentation und die tats\u00e4chlich ben\u00f6tigten Dienste kl\u00e4ren den Einsatzweg.<\/p>\n<\/div>\n<h2>Quellen<\/h2>\n<ul>\n<li><a href=\"https:\/\/code.claude.com\/docs\/en\/mcp\">https:\/\/code.claude.com\/docs\/en\/mcp<\/a><\/li>\n<li><a href=\"https:\/\/code.claude.com\/docs\/en\/skills\">https:\/\/code.claude.com\/docs\/en\/skills<\/a><\/li>\n<li><a href=\"https:\/\/code.claude.com\/docs\/en\/hooks\">https:\/\/code.claude.com\/docs\/en\/hooks<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/v2\/authorization\">https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/v2\/authorization<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers.versions\/live\">https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers.versions\/live<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers.workspaces.tags\/update\">https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers.workspaces.tags\/update<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers\/delete\">https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers\/delete<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers.environments\/update\">https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers.environments\/update<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers.versions\/update\">https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/reference\/rest\/v2\/accounts.containers.versions\/update<\/a><\/li>\n<li><a href=\"https:\/\/tagmanager.googleapis.com\/$discovery\/rest?version=v2\">https:\/\/tagmanager.googleapis.com\/$discovery\/rest?version=v2<\/a><\/li>\n<li><a href=\"https:\/\/registry.npmjs.org\/google-tag-manager-mcp-core\/2.1.1\">https:\/\/registry.npmjs.org\/google-tag-manager-mcp-core\/2.1.1<\/a><\/li>\n<li><a href=\"https:\/\/registry.npmjs.org\/google-tag-manager-mcp-server\/5.1.1\">https:\/\/registry.npmjs.org\/google-tag-manager-mcp-server\/5.1.1<\/a><\/li>\n<li><a href=\"https:\/\/registry.npmjs.org\/gtm-mcp\/1.0.0\">https:\/\/registry.npmjs.org\/gtm-mcp\/1.0.0<\/a><\/li>\n<li><a href=\"https:\/\/registry.npmjs.org\/@theethosteam\/gtm-mcp\/1.1.1\">https:\/\/registry.npmjs.org\/@theethosteam\/gtm-mcp\/1.1.1<\/a><\/li>\n<li><a href=\"https:\/\/curl.se\/docs\/manpage.html#--fail-with-body\">https:\/\/curl.se\/docs\/manpage.html#&#8211;fail-with-body<\/a><\/li>\n<li><a href=\"https:\/\/platform.claude.com\/docs\/en\/build-with-claude\/prompt-caching\">https:\/\/platform.claude.com\/docs\/en\/build-with-claude\/prompt-caching<\/a><\/li>\n<li><a href=\"https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/v2\">https:\/\/developers.google.com\/tag-platform\/tag-manager\/api\/v2<\/a><\/li>\n<li><a href=\"https:\/\/docs.claude.com\/en\/docs\/claude-code\/mcp\">https:\/\/docs.claude.com\/en\/docs\/claude-code\/mcp<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Drei MCP-Pakete verbinden Claude Code mit dem Google Tag Manager. Der Vergleich trennt historische Werkzeuglistengr\u00f6\u00dfen vom tats\u00e4chlichen Kontextverbrauch und erkl\u00e4rt Google-Scopes, Kontorechte und die Grenzen lokaler Werkzeugregeln.<\/p>\n","protected":false},"author":1,"featured_media":31271,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[104],"tags":[92055,92145,92418],"class_list":["post-17823","post","type-post","status-publish","format-standard","hentry","category-cloud-ai-de","tag-automation-de","tag-google-tag-manager-de","tag-llm-de"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Drei GTM-MCP-Server \u00fcber stdio gemessen: 18, 33 und 104 Werkzeuge, 20 bis 108 kB Definitionen, und welcher OAuth-Scope ver\u00f6ffentlichen darf.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Drei GTM-MCP-Server \u00fcber stdio gemessen: 18, 33 und 104 Werkzeuge, 20 bis 108 kB Definitionen, und welcher OAuth-Scope ver\u00f6ffentlichen darf.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-13T12:30:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-25T20:26:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17823.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen\",\"datePublished\":\"2026-09-13T12:30:00+00:00\",\"dateModified\":\"2026-10-25T20:26:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/\"},\"wordCount\":1635,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-17823.png\",\"keywords\":[\"Automation\",\"Google Tag Manager\",\"LLM\"],\"articleSection\":[\"Cloud &amp; AI\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/\",\"name\":\"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-17823.png\",\"datePublished\":\"2026-09-13T12:30:00+00:00\",\"dateModified\":\"2026-10-25T20:26:48+00:00\",\"description\":\"Drei GTM-MCP-Server \u00fcber stdio gemessen: 18, 33 und 104 Werkzeuge, 20 bis 108 kB Definitionen, und welcher OAuth-Scope ver\u00f6ffentlichen darf.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-17823.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-17823.png\",\"width\":1200,\"height\":630,\"caption\":\"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/de\\\/cloud-ai-de\\\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen | Lukas Wojcik","description":"Drei GTM-MCP-Server \u00fcber stdio gemessen: 18, 33 und 104 Werkzeuge, 20 bis 108 kB Definitionen, und welcher OAuth-Scope ver\u00f6ffentlichen darf.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/","og_locale":"en_US","og_type":"article","og_title":"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen | Lukas Wojcik","og_description":"Drei GTM-MCP-Server \u00fcber stdio gemessen: 18, 33 und 104 Werkzeuge, 20 bis 108 kB Definitionen, und welcher OAuth-Scope ver\u00f6ffentlichen darf.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-13T12:30:00+00:00","article_modified_time":"2026-10-25T20:26:48+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17823.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen","datePublished":"2026-09-13T12:30:00+00:00","dateModified":"2026-10-25T20:26:48+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/"},"wordCount":1635,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17823.png","keywords":["Automation","Google Tag Manager","LLM"],"articleSection":["Cloud &amp; AI"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/","url":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/","name":"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17823.png","datePublished":"2026-09-13T12:30:00+00:00","dateModified":"2026-10-25T20:26:48+00:00","description":"Drei GTM-MCP-Server \u00fcber stdio gemessen: 18, 33 und 104 Werkzeuge, 20 bis 108 kB Definitionen, und welcher OAuth-Scope ver\u00f6ffentlichen darf.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17823.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17823.png","width":1200,"height":630,"caption":"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/de\/cloud-ai-de\/claude-code-mit-google-tag-manager-verbinden-drei-mcp-anbindungen-und-ihre-grenzen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Claude Code mit Google Tag Manager verbinden: Drei MCP-Anbindungen und ihre Grenzen"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/17823","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=17823"}],"version-history":[{"count":4,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/17823\/revisions"}],"predecessor-version":[{"id":25493,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/17823\/revisions\/25493"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/31271"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=17823"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=17823"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=17823"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}