{"id":17825,"date":"2026-09-13T19:45:00","date_gmt":"2026-09-13T17:45:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=17825"},"modified":"2026-10-25T21:27:17","modified_gmt":"2026-10-25T20:27:17","slug":"laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/","title":{"rendered":"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia"},"content":{"rendered":"<p>Asystent AI mo\u017ce przygotowa\u0107 w Google Tag Managerze tag dla zako\u0144czonych zakup\u00f3w. Integracja potrzebuje dost\u0119pu do w\u0142a\u015bciwego kontenera. Kontener grupuje tagi, regu\u0142y uruchamiania i zmienne; eksport JSON opisuje te ustawienia jako tekst. Prawa dost\u0119pu s\u0105 wa\u017cniejsze ni\u017c liczba dost\u0119pnych narz\u0119dzi.<\/p>\n<p>Por\u00f3wnanie obejmuje trzy pakiety MCP. MCP to protok\u00f3\u0142, przez kt\u00f3ry asystent mo\u017ce wywo\u0142ywa\u0107 narz\u0119dzia. Pierwotny pomiar z 9 wrze\u015bnia 2026 roku podaje liczby narz\u0119dzi i rozmiary odpowiedzi dla konkretnych wersji pakiet\u00f3w. Surowe protoko\u0142y tamtego pomiaru nie s\u0105 dost\u0119pne w tej weryfikacji. Warto\u015bci pozostaj\u0105 oznaczone jako dane historyczne; aktualne zasady API i kod pakiet\u00f3w sprawdzono osobno.<\/p>\n<figure class=\"lw-diagram\"><img decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/diagrams\/gtmintegrations-reviewed-17825-pl-20261025.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Zakresy Google, prawa konta i regu\u0142y Claude Code kontroluj\u0105 r\u00f3\u017cne cz\u0119\u015bci dost\u0119pu. Rozmiar listy narz\u0119dzi nie mierzy bezpo\u015brednio u\u017cycia kontekstu.\"><figcaption>Zakresy Google, prawa konta i regu\u0142y Claude Code kontroluj\u0105 r\u00f3\u017cne cz\u0119\u015bci dost\u0119pu. Rozmiar listy narz\u0119dzi nie mierzy bezpo\u015brednio u\u017cycia kontekstu.<\/figcaption><\/figure>\n<h2>Narz\u0119dzia, bezpo\u015brednie wywo\u0142ania API i skille<\/h2>\n<p>Serwer MCP mo\u017ce udost\u0119pnia\u0107 na przyk\u0142ad narz\u0119dzie odczytuj\u0105ce tag. Claude Code przekazuje argumenty, serwer wywo\u0142uje API Tag Managera i zwraca wynik. Lokalny serwer mo\u017ce komunikowa\u0107 si\u0119 przez wej\u015bcie i wyj\u015bcie procesu, czyli <code>stdio<\/code>; zdalny serwer mo\u017ce u\u017cywa\u0107 HTTP.<\/p>\n<p>Bezpo\u015brednie \u017c\u0105danie <code>curl<\/code> nie wymaga MCP. Nadal musz\u0105 zgadza\u0107 si\u0119 adres API, token dost\u0119pu i format danych. Instrukcje oraz wyniki r\u00f3wnie\u017c na tej drodze zajmuj\u0105 kontekst. Token dost\u0119pu jest czasowym po\u015bwiadczeniem; zakresy OAuth okre\u015blaj\u0105 \u017c\u0105dane rodzaje dost\u0119pu.<\/p>\n<p>Skill mo\u017ce zawiera\u0107 instrukcje, kroki kontroli i skrypty pomocnicze. Ustawienia skilla w Claude Code mog\u0105 te\u017c z g\u00f3ry dopuszcza\u0107 wywo\u0142ania narz\u0119dzi. Skill nie tworzy jednak brakuj\u0105cych uprawnie\u0144 Google. Dost\u0119p zale\u017cy od rzeczywistych narz\u0119dzi, po\u015bwiadcze\u0144 i uprawnie\u0144 konta.<\/p>\n<h2>Co oznaczaj\u0105 historyczne rozmiary<\/h2>\n<table>\n<caption>Dane historyczne z 9 wrze\u015bnia 2026 roku; surowe protoko\u0142y niedost\u0119pne w tej weryfikacji.<\/caption>\n<thead>\n<tr>\n<th>Wersja pakietu<\/th>\n<th>Podana liczba narz\u0119dzi<\/th>\n<th>Podane bajty tools\/list<\/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>Podane bajty opisuj\u0105 zg\u0142oszon\u0105 wtedy odpowied\u017a na <code>tools\/list<\/code>, czyli opisy wszystkich oferowanych narz\u0119dzi. Definicja zawiera mi\u0119dzy innymi nazw\u0119, opis i pola wej\u015bciowe. Kilka narz\u0119dzi mo\u017ce wi\u0119c wymaga\u0107 wi\u0119cej tekstu ni\u017c wiele ma\u0142ych narz\u0119dzi.<\/p>\n<p>Pierwotne por\u00f3wnanie opisuje pierwszy serwer jako zestaw narz\u0119dzi wed\u0142ug rodzaju obiektu: na przyk\u0142ad <code>gtm_tag<\/code> \u0142\u0105czy odczyt i edycj\u0119 przez parametr <code>action<\/code>. Drugi rozdziela znacznie wi\u0119cej wywo\u0142a\u0144 API na osobne narz\u0119dzia. Sprawdzony kod trzeciego pakietu potwierdza gotowe zadania oraz <code>gtm_raw<\/code> do bezpo\u015brednich metod API.<\/p>\n<p>Wcze\u015bniejsze warto\u015bci oko\u0142o 27 000, 12 400 i 4900 token\u00f3w to jedynie przybli\u017cenia na podstawie bajt\u00f3w, a nie pomiary tokenizerem konkretnego modelu. Tokeny s\u0105 jednostkami tekstu przetwarzanymi przez model. Formatowanie JSON, kodowanie znak\u00f3w i tokenizer wp\u0142ywaj\u0105 na wynik.<\/p>\n<p>Claude Code mo\u017ce obecnie wyszukiwa\u0107 narz\u0119dzia MCP i wczytywa\u0107 definicje dopiero w razie potrzeby. Nie ka\u017cda pe\u0142na definicja trafia wi\u0119c automatycznie do ka\u017cdego \u017c\u0105dania modelu. O zachowaniu decyduj\u0105 ustawienia, wersja klienta i platforma. Lista o rozmiarze 108 201 bajt\u00f3w nie oznacza zatem sta\u0142ego zaj\u0119cia kontekstu ani sta\u0142ej ceny ka\u017cdej tury.<\/p>\n<p>Buforowanie promptu mo\u017ce obni\u017cy\u0107 cen\u0119 powtarzanych danych wej\u015bciowych, kt\u00f3re zosta\u0142y ju\u017c wczytane. Trafienie w bufor nie zmniejsza jednak liczby przetwarzanych token\u00f3w kontekstu. Trafienia, koszt zapisu i oszcz\u0119dno\u015b\u0107 zale\u017c\u0105 od modelu, \u017c\u0105dania i konfiguracji bufora. Rzeczywiste dane zu\u017cycia s\u0105 przy por\u00f3wnywaniu koszt\u00f3w wa\u017cniejsze ni\u017c szacunek z bajt\u00f3w.<\/p>\n<h2>Oddzielenie szkicu od publikacji<\/h2>\n<p>Publiczny opis API pobrany 25 pa\u017adziernika 2026 roku ma rewizj\u0119 <code>20261021<\/code>. Dokument zawiera 270 858 bajt\u00f3w i 106 metod: 38 GET, 38 POST, 15 PUT i 15 DELETE. To liczba metod API, a nie narz\u0119dzi serwera MCP.<\/p>\n<p>Przestrze\u0144 robocza jest szkicem wewn\u0105trz kontenera. Zmiana konfiguracji tagu nie zast\u0119puje automatycznie opublikowanej wersji domy\u015blnej. Zwykle <code>workspaces.create_version<\/code> najpierw tworzy wersj\u0119, a <code>versions.publish<\/code> publikuje wersj\u0119. Podgl\u0105d i \u015brodowiska niestandardowe wymagaj\u0105 osobnego uwzgl\u0119dnienia.<\/p>\n<p>Ten przebieg nie czyni innych uprawnie\u0144 API nieszkodliwymi. Usuwanie kontener\u00f3w, zmiana praw u\u017cytkownik\u00f3w i edycja \u015brodowisk nie s\u0105 jedynie szkicami tag\u00f3w. W sprawdzonym dokumencie discovery dok\u0142adnie dwie metody u\u017cywaj\u0105 zakresu <code>tagmanager.publish<\/code>. Nie wynika z tego, \u017ce pozosta\u0142e metody nie mog\u0105 wp\u0142yn\u0105\u0107 na dzia\u0142aj\u0105cy system.<\/p>\n<h2>Odczyt tag\u00f3w szkicu i opublikowanej wersji<\/h2>\n<p>Lista tag\u00f3w przestrzeni roboczej wymaga jej identyfikatora. Opublikowan\u0105 wersj\u0119 mo\u017cna natomiast odczyta\u0107 przez <code>versions:live<\/code>; odpowied\u017a zawiera tak\u017ce tagi tej wersji. Poni\u017cszy przyk\u0142ad tylko odczytuje dane. Identyfikatory i token reprezentuj\u0105 warto\u015bci z uprawnionej konfiguracji.<\/p>\n<pre><code class=\"language-bash\"># Przyk\u0142adowe ID; TOKEN musi zawiera\u0107 uprawniony token dost\u0119pu.\nACC=6012345678\nCONT=123456789\nWS=42\n: &quot;${TOKEN:?Wymagany token dost\u0119pu}&quot;\n\n# Tagi szkicu w jednej przestrzeni roboczej\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# Opublikowana wersja z tagami; bez ID przestrzeni roboczej\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>Brak tokenu, wyga\u015bni\u0119cie tokenu i niewystarczaj\u0105ce prawa mog\u0105 powodowa\u0107 r\u00f3\u017cne b\u0142\u0119dy. Jeden komunikat nie jest gwarantowan\u0105 odpowiedzi\u0105 ka\u017cdej metody API. <code>--fail-with-body<\/code> sygnalizuje b\u0142\u0119dy HTTP kodem zako\u0144czenia i zachowuje tre\u015b\u0107 odpowiedzi; opcja wymaga odpowiedniej wersji curl.<\/p>\n<h2>Trzy kontrole dost\u0119pu<\/h2>\n<p>Po pierwsze, token musi zawiera\u0107 wymagany zakres OAuth. Po drugie, powi\u0105zane konto Google potrzebuje odpowiednich praw w Tag Managerze. Sam zakres publikacji nie pozwala publikowa\u0107 kontu bez prawa publikacji. Obie kontrole dzia\u0142aj\u0105 tak\u017ce poza Claude Code.<\/p>\n<p>Po trzecie, Claude Code mo\u017ce blokowa\u0107 konkretne wywo\u0142ania lub wymaga\u0107 potwierdzenia. Regu\u0142a dla <code>mcp__gtm__gtm_version<\/code> dotyczy tego narz\u0119dzia. Hak <code>PreToolUse<\/code> mo\u017ce dodatkowo sprawdza\u0107 pola wej\u015bciowe, na przyk\u0142ad <code>action<\/code>. Hak to skrypt zwracaj\u0105cy decyzj\u0119 przed wywo\u0142aniem.<\/p>\n<p>Regu\u0142a nazwy narz\u0119dzia nie kontroluje osobnego wywo\u0142ania <code>curl<\/code>. Je\u017celi te same po\u015bwiadczenia s\u0105 dost\u0119pne w pow\u0142oce, nadal obowi\u0105zuj\u0105 tam zakresy Google i prawa konta, ale nie ta regu\u0142a nazwy MCP. Otwarty dost\u0119p do surowych wywo\u0142a\u0144 mo\u017ce te\u017c zast\u0105pi\u0107 zablokowane narz\u0119dzia specjalistyczne. Potrzebna jest wsp\u00f3lna ocena wszystkich dost\u0119pnych dr\u00f3g.<\/p>\n<h2>GTM_SCOPES nie dzia\u0142a przy ka\u017cdym sposobie logowania<\/h2>\n<p>Sprawdzona wersja CLI <code>google-tag-manager-mcp-server@5.1.1<\/code> u\u017cywa zakresu wersji pakietu core od 2.1.1. W osobno sprawdzonym core 2.1.1 zmienna <code>GTM_SCOPES<\/code> trafia do generowania tokenu tylko przy uwierzytelnianiu konta us\u0142ugowego. Bez w\u0142asnego wyboru \u017c\u0105danych jest siedem zakres\u00f3w Tag Managera.<\/p>\n<p>W ga\u0142\u0119zi tokenu od\u015bwie\u017caj\u0105cego lub tokenu dost\u0119pu ta sama zmienna \u015brodowiskowa nie zmienia istniej\u0105cych praw. Ograniczenie wymaga po\u015bwiadczenia Google z odpowiednim zakresem. Poni\u017csza konfiguracja pokazuje tylko wariant konta us\u0142ugowego. Warto\u015b\u0107 klucza jest zast\u0119pcza; prawdziwe klucze nie powinny trafia\u0107 do publicznego repozytorium.<\/p>\n<p>W tej konfiguracji Claude Code zast\u0119puje <code>${GTM_SERVICE_ACCOUNT_KEY}<\/code> warto\u015bci\u0105 zmiennej \u015brodowiskowej. Warto\u015b\u0107 musi zawiera\u0107 pe\u0142ny JSON klucza konta us\u0142ugowego, a nie \u015bcie\u017ck\u0119 pliku. Konto potrzebuje tak\u017ce odpowiednich praw Tag Managera.<\/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>Sta\u0142a wersja CLI u\u0142atwia odtworzenie por\u00f3wnania, ale nie ustala automatycznie wszystkich wersji zale\u017cno\u015bci. Dok\u0142adne odtworzenie wymaga tak\u017ce zapisanego rozwi\u0105zania zale\u017cno\u015bci. Poszczeg\u00f3lne pakiety MCP u\u017cywaj\u0105 ponadto r\u00f3\u017cnych nazw po\u015bwiadcze\u0144 i sposob\u00f3w logowania.<\/p>\n<h2>Zmiana bez przypadkowej utraty ustawie\u0144<\/h2>\n<p>Aktualizacja zaczyna si\u0119 od odczytu bie\u017c\u0105cego obiektu. Nast\u0119pnie zmienia si\u0119 zamierzone pole i przesy\u0142a pe\u0142ny obiekt wymagany przez dan\u0105 metod\u0119. \u017b\u0105danie PUT nie oznacza automatycznie cz\u0119\u015bciowego uzupe\u0142nienia. To konkretna metoda i serwer okre\u015blaj\u0105, kt\u00f3re pola mog\u0105 zosta\u0107 pomini\u0119te.<\/p>\n<p><code>fingerprint<\/code> oznacza odczytany stan obiektu. Przy <code>tags.update<\/code> ten parametr kontrolny jest w API opcjonalny. Je\u017celi stary odcisk zostanie przes\u0142any po zmianie zapisanej warto\u015bci, warto\u015bci przestan\u0105 si\u0119 zgadza\u0107. Bez przes\u0142ania odcisku ta ochrona nie dzia\u0142a. Zgodny odcisk nadal nie dowodzi poprawno\u015bci konfiguracji tagu.<\/p>\n<p>Parametry tagu mog\u0105 zawiera\u0107 listy i zagnie\u017cd\u017cone obiekty. Identyfikator pomiaru, odwo\u0142anie do zmiennej i odwo\u0142anie do tagu to r\u00f3\u017cne warto\u015bci. Aktualny eksport w\u0142a\u015bciwego typu tagu jest wi\u0119c lepszym punktem wyj\u015bcia ni\u017c przypadkowy przyk\u0142ad GA4 w JSON. Przywo\u0142ane zmienne i regu\u0142y musz\u0105 tak\u017ce istnie\u0107 w kontenerze docelowym.<\/p>\n<h2>Kontrola w przegl\u0105darce i opis zmiany<\/h2>\n<p><code>quick_preview<\/code> tworzy wersj\u0119 podgl\u0105dow\u0105. Wywo\u0142anie nie otwiera witryny i nie dowodzi, \u017ce zdarzenie zakupu dociera we w\u0142a\u015bciwej chwili. Kontrola w przegl\u0105darce powinna obejmowa\u0107 regu\u0142y, warto\u015bci warstwy danych i stany zgody. Dodatkowa integracja przegl\u0105darki mo\u017ce pom\u00f3c, ale samo wywo\u0142anie API nie wykonuje tych test\u00f3w.<\/p>\n<p>Nazwa i opis wersji mog\u0105 zapisywa\u0107 pow\u00f3d zmiany. Te informacje nie powstaj\u0105 automatycznie z promptu i mog\u0105 zosta\u0107 zmienione tak\u017ce p\u00f3\u017aniej w zarz\u0105dzaniu wersjami. Eksport przed zmian\u0105 i po zmianie dodatkowo pokazuje faktyczn\u0105 r\u00f3\u017cnic\u0119. Samo por\u00f3wnanie nie wymaga kolejnych po\u015bwiadcze\u0144 Google, gdy oba pliki s\u0105 ju\u017c dost\u0119pne.<\/p>\n<div class=\"lw-faq\">\n<h2>Pytania i odpowiedzi<\/h2>\n<h3>Czy mniejsza lista narz\u0119dzi zawsze jest lepsza?<\/h3>\n<p>Nie. Kr\u00f3tkie definicje mog\u0105 s\u0142abiej wyja\u015bnia\u0107 poprawne dane wej\u015bciowe. Dok\u0142adne definicje mog\u0105 zapobiega\u0107 b\u0142\u0119dom. Licz\u0105 si\u0119 zadanie, jako\u015b\u0107 opis\u00f3w i rzeczywi\u015bcie wczytany kontekst. Z rozmiaru nie wynika sta\u0142y czas odpowiedzi API.<\/p>\n<h3>Czy jedno narz\u0119dzie mo\u017ce odczytywa\u0107 i publikowa\u0107?<\/h3>\n<p>Tak. Przy po\u0142\u0105czonych akcjach regu\u0142a samej nazwy mo\u017ce zablokowa\u0107 oba dzia\u0142ania. Kontrola parametru akcji jest dok\u0142adniejsza, ale musi odpowiada\u0107 zainstalowanej wersji serwera. Osobne narz\u0119dzie publikacji \u0142atwiej zablokowa\u0107 pojedynczo.<\/p>\n<h3>Po co osobna przestrze\u0144 robocza?<\/h3>\n<p>Osobny szkic grupuje powi\u0105zane zmiany i u\u0142atwia kontrol\u0119 lub odrzucenie ca\u0142o\u015bci. Zmiany z innych przestrzeni nadal mog\u0105 wymaga\u0107 synchronizacji i rozwi\u0105zania konflikt\u00f3w. <code>workspaces.sync<\/code> wspiera ten proces. Dost\u0119pna liczba r\u00f3wnoleg\u0142ych przestrzeni zale\u017cy od oferty Tag Managera.<\/p>\n<h3>Co dowodzi nieudany start pakietu?<\/h3>\n<p>B\u0142\u0105d o brakuj\u0105cej konfiguracji bazy lub klucza dowodzi najpierw tylko braku warunk\u00f3w potrzebnych do tego uruchomienia. Nie oznacza, \u017ce pakiet nigdy nie mo\u017ce dzia\u0142a\u0107 lokalnie. Dokumentacja pakietu i wymagane us\u0142ugi okre\u015blaj\u0105 mo\u017cliwe sposoby wdro\u017cenia.<\/p>\n<\/div>\n<h2>\u0179r\u00f3d\u0142a<\/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>Trzy pakiety MCP \u0142\u0105cz\u0105 Claude Code z Google Tag Managerem. Por\u00f3wnanie oddziela historyczne rozmiary list narz\u0119dzi od rzeczywistego u\u017cycia kontekstu oraz wyja\u015bnia zakresy Google, prawa konta i ograniczenia lokalnych regu\u0142 narz\u0119dzi.<\/p>\n","protected":false},"author":1,"featured_media":31273,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106],"tags":[92061,92133,92346],"class_list":["post-17825","post","type-post","status-publish","format-standard","hentry","category-cloud-ai-pl","tag-automation-pl","tag-google-tag-manager-pl","tag-llm-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Trzy serwery MCP dla GTM zmierzone przez stdio: 18, 33 i 104 narz\u0119dzia, od 20 do 108 kB definicji i kt\u00f3ry zakres OAuth mo\u017ce publikowa\u0107.\" \/>\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\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Trzy serwery MCP dla GTM zmierzone przez stdio: 18, 33 i 104 narz\u0119dzia, od 20 do 108 kB definicji i kt\u00f3ry zakres OAuth mo\u017ce publikowa\u0107.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-13T17:45:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-25T20:27:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17825.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\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia\",\"datePublished\":\"2026-09-13T17:45:00+00:00\",\"dateModified\":\"2026-10-25T20:27:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/\"},\"wordCount\":1739,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-17825.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\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/\",\"name\":\"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-17825.png\",\"datePublished\":\"2026-09-13T17:45:00+00:00\",\"dateModified\":\"2026-10-25T20:27:17+00:00\",\"description\":\"Trzy serwery MCP dla GTM zmierzone przez stdio: 18, 33 i 104 narz\u0119dzia, od 20 do 108 kB definicji i kt\u00f3ry zakres OAuth mo\u017ce publikowa\u0107.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-17825.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-17825.png\",\"width\":1200,\"height\":630,\"caption\":\"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/cloud-ai-pl\\\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia\"}]},{\"@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":"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia | Lukas Wojcik","description":"Trzy serwery MCP dla GTM zmierzone przez stdio: 18, 33 i 104 narz\u0119dzia, od 20 do 108 kB definicji i kt\u00f3ry zakres OAuth mo\u017ce publikowa\u0107.","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\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/","og_locale":"en_US","og_type":"article","og_title":"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia | Lukas Wojcik","og_description":"Trzy serwery MCP dla GTM zmierzone przez stdio: 18, 33 i 104 narz\u0119dzia, od 20 do 108 kB definicji i kt\u00f3ry zakres OAuth mo\u017ce publikowa\u0107.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-13T17:45:00+00:00","article_modified_time":"2026-10-25T20:27:17+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17825.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\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia","datePublished":"2026-09-13T17:45:00+00:00","dateModified":"2026-10-25T20:27:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/"},"wordCount":1739,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17825.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\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/","name":"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17825.png","datePublished":"2026-09-13T17:45:00+00:00","dateModified":"2026-10-25T20:27:17+00:00","description":"Trzy serwery MCP dla GTM zmierzone przez stdio: 18, 33 i 104 narz\u0119dzia, od 20 do 108 kB definicji i kt\u00f3ry zakres OAuth mo\u017ce publikowa\u0107.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17825.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-17825.png","width":1200,"height":630,"caption":"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/cloud-ai-pl\/laczenie-claude-code-z-google-tag-managerem-trzy-integracje-mcp-i-ich-ograniczenia\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0141\u0105czenie Claude Code z Google Tag Managerem: trzy integracje MCP i ich ograniczenia"}]},{"@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\/17825","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=17825"}],"version-history":[{"count":4,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/17825\/revisions"}],"predecessor-version":[{"id":25497,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/17825\/revisions\/25497"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/31273"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=17825"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=17825"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=17825"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}