Google Keyword Planner i MCP: jak podłączyłem planer do AI

Co daje planer i po co go w czacie
Keyword Planner to standardowe narzędzie Google Ads: na podstawie kilku fraz wyjściowych zwraca listę powiązanych zapytań, średnią liczbę wyszukiwań miesięcznie z ostatniego roku, poziom konkurencji w reklamie i widełki stawek za kliknięcie, a do tego liczy prognozę wyświetleń i kliknięć przy zadanym budżecie. To dane u źródła — te same, na których Google opiera swoje decyzje.
Problemem nie są dane, tylko rutyna. Żeby sprawdzić jeden pomysł na stronę, trzeba otworzyć panel, wybrać region i język, wpisać frazy, odfiltrować śmieci, wyeksportować tabelę — a wszystko to dla jednej odpowiedzi: czy w ogóle warto pisać ten tekst. Skoro asystent i tak pomaga przy treściach, niech sprawdzanie popytu też należy do niego.
MCP (Model Context Protocol) to otwarty protokół, przez który asystent wywołuje zewnętrzne narzędzia. Rozbierałem go na części w tekście o podłączaniu Search Console. Tutaj wystarczy jedno: serwer MCP to niewielki program pośredniczący na Twoim komputerze, który z jednej strony odpowiada asystentowi, a z drugiej chodzi do API Google.
Jaki serwer wybrałem
Do wyboru były trzy rodzaje rozwiązań. Oficjalny serwer MCP Google do Ads API jest ogólnego przeznaczenia: zapytania do konta, metadane, dowolne wybory danych — narzędzi planera w nim nie znalazłem. Zewnętrzne zestawy „wszystko w jednym” mają po trzydzieści kilka narzędzi, łącznie z zarządzaniem kampaniami, stawkami i budżetami. I są jeszcze kompaktowe utility na kilka komend.
Wziąłem wariant kompaktowy, google-keyword-planner-mcp: dokładnie trzy narzędzia — pomysły na słowa kluczowe, dane historyczne, prognoza kliknięć. Natywny plik wykonywalny o rozmiarze 28 MB, bez Pythona i Node.js, z otwartym kodem na licencji MIT, który da się przeczytać w jeden wieczór.
Logika wyboru jest prosta i jest zarazem główną myślą całej mojej zabawy z narzędziami AI: asystent dostaje dokładnie tę powierzchnię, której wymaga zadanie. Serwer zarządzający kampaniami potrafi wydawać pieniądze — czyli kiedyś wyda je bez pytania. Serwer z trzema funkcjami odczytu nie potrafi nic poza podaniem liczb. Ta sama zasada stoi za usługą bezpiecznego wdrażania agentów AI.
Najważniejsze: od 9 września 2026 developer token zniknął
Tu straciłem najwięcej czasu, więc wynoszę to na początek. Kiedyś schemat wyglądał tak: zakładasz konto menedżera Google Ads (MCC, czyli manager account), w sekcji „Centrum API” dostajesz developer token — ciąg 22 znaków — i wysyłasz go w nagłówku każdego zapytania. Niemal wszystkie poradniki z wyszukiwarki opisują właśnie to.
Przeszedłem tę drogę w całości: założyłem konto menedżera, dostałem token, wpisałem go w ustawienia serwera. I dopiero potem dotarłem do dokumentacji, gdzie stoi jak byk: developer token został wycofany 9 września 2026 roku. Token w nagłówku jest teraz ignorowany, a poziom dostępu wyznacza projekt Google Cloud, z którego pochodzą dane OAuth. Wnioski składane przez „Centrum API” nie są rozpatrywane, a te, które czekały w kolejce, Google zamknął i poprosił o złożenie ich ponownie — już w Cloud Console.
Nowa drabina dostępu wygląda tak:
- Test — przyznawany automatycznie, gdy tylko włączysz Google Ads API w swoim projekcie Cloud. Działa wyłącznie na kontach testowych.
- Explorer — pierwszy poziom widzący żywe konta: 2 880 operacji na dobę. Istotny szczegół: narzędzia planera są na nim niedostępne, Google zalicza je do funkcji ograniczonych.
- Basic — 15 000 operacji na dobę i to właśnie on otwiera Keyword Planner. Wymaga weryfikacji marki dla projektu Cloud; po niej wniosek rozpatrywany jest automatycznie, w minutach.
- Standard — bez limitu dobowego, dla dużych serwisów; rozpatrywanie do dziesięciu dni roboczych.
Wniosek, który warto przeczytać na początku: jeśli potrzebujesz właśnie planera, droga jest jedna — projekt w Google Cloud, włączone Ads API, weryfikacja marki i wniosek o Basic. Konto menedżera nie jest do tego potrzebne w ogóle.
Krok po kroku: co robiłem ręcznie
- Projekt w Google Cloud. Włączyłem Google Ads API — projekt od razu dostaje poziom Test.
- Klient OAuth typu Desktop app. Daje parę „identyfikator klienta — sekret”. Dla programu desktopowego to standardowy scenariusz: sekretu takiego klienta Google nie traktuje jako poufnego.
- Jednorazowa autoryzacja. Krótki skrypt podnosi nasłuch na lokalnym porcie, otwiera okno zgody Google z zakresem dostępu do Ads, łapie kod powrotny i wymienia go na token odświeżania. Kluczowe parametry zapytania to dostęp offline i wymuszona zgoda — bez nich tokenu odświeżania po prostu nie dostaniesz.
- Identyfikator konta. Dziesięć cyfr bez myślników — to konto reklamowe, z którego pobierane są dane.
- Serwer na dysk. Pobrałem wersję pod swój system i włożyłem do osobnego katalogu. Żadnego środowiska uruchomieniowego instalować nie trzeba: to jeden plik. U mnie wylądował na dysku D — na systemowym brakowało miejsca.
- Rejestracja w asystencie. Jedną komendą, z zasięgiem „użytkownik”, żeby serwer był dostępny we wszystkich projektach, a nie w jednym katalogu.
claude mcp add keyword-planner \ --scope user \ -e GOOGLE_ADS_CLIENT_ID=... \ -e GOOGLE_ADS_REFRESH_TOKEN=... \ -e GOOGLE_ADS_CUSTOMER_ID=... \ -- D:\mcp\kwp-mcp.exe
Szczegół, na którym potykają się wszyscy: listę narzędzi klient czyta przy starcie. Po rejestracji serwera w już otwartej sesji nie zobaczysz go — potrzebny jest nowy czat albo restart aplikacji. To nie jest błąd instalacji.
Test protokołu bez asystenta
Zanim zaczniesz szukać problemu w asystencie, warto upewnić się, że serwer w ogóle żyje. MCP działa po JSON-RPC przez standardowe wejście i wyjście, więc można odpytać go ręcznie: uruchomić plik wykonywalny, wysłać mu na wejście trzy linie i odczytać odpowiedzi.
initialize— uzgodnienie wersji protokołu;notifications/initialized— potwierdzenie;tools/list— lista narzędzi.
Jeśli w odpowiedzi przyszła lista trzech narzędzi, serwer i dane dostępowe są w porządku — dalej można wołać tools/call z prawdziwym zapytaniem. Ten test oszczędza godziny, bo od razu dzieli problem na „serwer nie odpowiada” i „klient go nie widzi”.
Gdzie wszystko stanęło: odmowa 403 od Google
Protokół ożył, narzędzia na miejscu, a pierwsze prawdziwe zapytanie wróciło z odmową:
PERMISSION_DENIED ACTION_NOT_PERMITTED The Google Cloud project is only approved for use with test accounts.
Komunikat jest uczciwy: projekt ma poziom Test, żywego konta reklamowego mu nie udostępnią. Z doborem słów, frazami wyjściowymi i regionami nie ma to nic wspólnego.
I tu pułapka, w którą jednak wpadłem: po odmowie pierwszym odruchem jest przeformułowanie zapytania — zmienić język, usunąć część fraz, spróbować innego kraju. Bez sensu. Błąd dotyczy poziomu dostępu całego projektu, a nie konkretnego wywołania. Lekarstwo jest jedno: weryfikacja marki i wniosek o Basic.
Jeszcze drobiazg dla tych, którzy będą szukać treści błędu: w starszych wersjach API odmowa przychodzi jako ACTION_NOT_PERMITTED, w najnowszej — pod innym kodem. Ta sama przyczyna wygląda inaczej i potrafi zmylić.
Ile to zajęło czasu
Część techniczna to około godziny: pobrać plik, utworzyć klienta OAuth, zdobyć token odświeżania, zarejestrować serwer, sprawdzić protokół. Całą resztę pochłonęła strona administracyjna Google: najpierw droga według nieaktualnego poradnika z kontem menedżera, potem rozbiór nowego schematu, potem weryfikacja marki, która wymaga potwierdzonej domeny i wypełnionego ekranu zgody.
Jeśli planujesz taką integrację — zarezerwuj dzień na formalności i godzinę na instalację, a nie odwrotnie.
Bezpieczeństwo: co zrobiłbym inaczej
- Sekrety nie w skryptach. U mnie na czas debugowania leżały wprost w pliku testowym i to zła nawyczka: ich miejsce jest w zmiennych środowiskowych albo w magazynie sekretów, a sam plik — w wykluczeniach repozytorium.
- Mniej narzędzi, mniejsza powierzchnia. Trzy funkcje odczytu nie utworzą kampanii ani nie zmienią stawki. Serwer, który to potrafi, wymaga zupełnie innego poziomu zaufania.
- Osobny projekt Cloud na integrację. Łatwiej odciąć dostęp w całości, nie ruszając pozostałych usług.
- Kod przeczytać przed uruchomieniem. Dwadzieścia osiem megabajtów to zbudowany plik binarny, ale źródła są otwarte: pół godziny czytania jest tańsze niż jeden incydent.
Co to daje w pracy
Gdy dostęp jest otwarty, scenariusz wygląda tak: piszesz tekst strony i pytasz, ilu ludzi w Polsce szuka danej frazy i które sformułowania są popularniejsze — liczby przychodzą w tym samym oknie, bez eksportów. Tą samą drogą sprawdza się pomysły na nowe usługi, listę słów wykluczających i sezonowość popytu.
Uczciwie o moim statusie w dniu publikacji: projekt wciąż jest na poziomie Test, wniosek o Basic czeka w kolejce. Dlatego w tym tekście nie ma liczb z żywego konta — jest działający schemat i grabie, na które nadepnąłem. Gdy dostęp zostanie otwarty, wrócę i uzupełnię artykuł o prawdziwe pomiary.
Czy warto powtarzać
Jeśli regularnie piszesz teksty, prowadzisz reklamy albo odpowiadasz za stronę, na której decyzje zapadają na podstawie popytu — tak. Integracja zdejmuje przełączanie kontekstu, a to największa strata czasu w takiej pracy. Jeśli planer otwierasz raz na kwartał, prościej wejść do panelu ręcznie.
I na koniec: wrześniowa reforma dostępu oznacza, że większość poradników o Google Ads API jest dziś nieaktualna. Zanim powtórzysz cudzy przewodnik, sprawdź oficjalną dokumentację — jej data znaczy więcej niż liczba gwiazdek repozytorium.
Podłączymy Keyword Planner do asystenta AI za Ciebie — na Twoim komputerze albo w Twojej chmurze, razem z załatwieniem dostępu w Google.