01 / TL;DR Najważniejsze wnioski z testu.
Meta Ads MCP wystartował 29 kwietnia 2026 i jest dostępny pod adresem mcp.facebook.com/ads.
Podłączenie zajmuje kilka minut, działa przez standardowe logowanie Meta Business i nie wymaga rejestracji
aplikacji w Meta for Developers ani przechodzenia App Review.
MCP świetnie nadaje się do analizy i monitoringu kampanii, ponieważ pobieranie metryk performance, przeglądanie katalogu produktów i sprawdzanie konfiguracji piksela działa bez zarzutu. Tworzenie kampanii i ad setów też działa. Tworzenie reklam również, ale wyłącznie z gotowych źródeł kreacji - image hash z biblioteki mediów, zestaw produktów z katalogu, zaciąganie zdjęć i danych produktów wprost z katalogu produktów na Facebooku albo publiczny URL grafiki dostępny dla Mety bez logowania. Już na tym etapie widać, że MCP w obecnej formie zatrzymuje się znacznie wcześniej niż codzienna praca operatora. Każda kampania, w której nie masz wszystkich elementów gotowych zawczasu, wymaga powrotu do Ads Managera albo ręcznego klikania w menedżerze sprzedaży, podczas gdy agent zbudowany na Anthropic Agent SDK z bezpośrednią integracją Meta Marketing API po prostu sam sobie te elementy przygotowuje od zera.
Lista rzeczy, których MCP nie obsługuje, jest dłuższa niż lista tych, w których wystarcza. Nie wgra plików graficznych z dysku ani z czatu, nie pozwala przeglądać biblioteki mediów, nie umożliwia tworzenia nowych zestawów produktów w katalogu i nie potrafi duplikować kampanii. To realna przepaść funkcjonalna między tym, co dziś dostajesz w MCP, a tym, co potrafi agent zbudowany na Anthropic Agent SDK z bezpośrednią integracją Meta Marketing API. Agent w tej drugiej architekturze sam wgrywa grafiki i wideo, sam tworzy zestawy produktów, sam duplikuje kampanie, sam pobiera dane z innych systemów (GA4, CRM) i podejmuje na ich podstawie decyzje budżetowe. Cena tej swobody to setup po stronie Meta for Developers oraz plik instrukcji compliance, który pilnuje, żeby agent działający autonomicznie nie naruszył regulaminu Mety.
Korzystanie z oficjalnego MCP jest w pełni zgodne z regulaminem Mety, ponieważ cała integracja idzie przez oficjalny Marketing API i każde zapytanie jest autoryzowane Twoim tokenem OAuth.
02 / Definicja Czym właściwie jest Meta Ads MCP.
MCP (Model Context Protocol) to standard, który Anthropic opublikował w listopadzie 2024 roku i który pozwala asystentom AI typu Claude rozmawiać z zewnętrznymi systemami przez ujednolicony interfejs. Wcześniej każdy producent narzędzia musiał pisać własną wtyczkę osobno do każdego modelu AI, a MCP standaryzuje cały protokół, dzięki czemu jedna integracja działa wszędzie.
W praktyce wygląda to tak, że Meta hostuje endpoint pod adresem mcp.facebook.com/ads,
a Claude przez OAuth (standardowy protokół autoryzacji, który znasz np. z logowania „przez Google")
dostaje uprawnienia do wykonywania na nim operacji. Cały setup robi się z poziomu ustawień Claude
(Customize → Connectors → ikona plusa → Add custom connector), gdzie wpisuje się nazwę i adres
serwera, a po kliknięciu Add aplikacja przekierowuje na Facebooka. Tam można wybrać konkretne
portfolio biznesowe (lub wszystkie) i nadać Claude uprawnienia do pracy na kontach reklamowych.
Cały setup trwa kilka minut i nie wymaga ingerencji programistycznej, ponieważ Meta zdjęła z użytkownika obowiązek rejestracji aplikacji w Meta for Developers, przejścia App Review (procedury weryfikacji aplikacji przez Metę) ani generowania System User Tokenów.
03 / Pierwsze testy Co powiedziałem Claude'owi i co się stało.
Pierwsze zadanie było banalne, bo poprosiłem o top 5 kampanii z jednego z moich kont reklamowych z ostatnich 30 dni z metrykami spend, impressions, CTR i CPA. Tutaj od razu zderzyłem się z pierwszym ograniczeniem rolloutu Mety, ponieważ akurat to konto nie zostało jeszcze włączone do programu MCP po stronie Mety. Claude widział je na liście, ale nie mógł na nim nic zrobić.
To istotne, bo łatwo pomylić to ze swoimi uprawnieniami. Ja jako użytkownik dałem Claude'owi pełny dostęp przez OAuth, ale po stronie Mety jest osobna warstwa decyzyjna, która kontroluje, które konto może być obsłużone przez MCP. Rollout jest stopniowy i nie ma żadnego przycisku ani wniosku, żeby to przyspieszyć, ponieważ Meta sama decyduje, kiedy które konto dostaje dostęp.
Z kont, do których miałem uprawnienia, MCP było aktywne tylko na trzech, więc testy przeprowadziłem na jednym z nich.
Drugie zadanie poszło już bez problemu, bo Claude pobrał top 5 kampanii za 30 dni z konta z włączonym MCP, ułożył je w tabelę i od razu opatrzył komentarzem analitycznym. Wskazał, która kampania remarketingowa ma na koncie najniższy CPA, która kampania ADV+ z największym wydatkiem ma akceptowalny ale wyższy CPA, oraz co warto dalej zweryfikować pod kątem optymalizacji budżetu. Tu nie ma czarów, ponieważ to po prostu szybsza wersja tego, co i tak robisz w Ads Managerze, z komentarzem analitycznym dorzuconym od razu w tabeli.
Ciekawie zaczęło się robić, gdy poprosiłem o stworzenie nowej kampanii.
04 / Tworzenie kampanii Dokąd MCP dochodzi i gdzie się zatrzymuje.
Poprosiłem Claude'a o utworzenie kampanii Advantage+ Shopping (typ kampanii Mety, w którym algorytm sam dobiera odbiorców i optymalizacje pod sprzedaż) z budżetem 70 zł dziennie i karuzelą produktową dla trzech produktów kosmetycznych, które są w katalogu produktów na koncie.
Claude zaczął logicznie i sprawdził, czy katalog produktowy jest podpięty do konta. Po znalezieniu katalogu wyszukał trzy produkty po nazwie i zwrócił mi ich identyfikatory. Pokazał plan kampanii do akceptacji wraz z propozycją tekstów, które sam wymyślił - tekst główny z opisem serii, nagłówki z nazwami produktów, ceny w opisach poszczególnych kart, CTA „Kup teraz". Pokazał też kompletną strukturę kampanii: nazwa, cel (OUTCOME_SALES), typ Advantage+ Shopping, budżet 70 zł dziennie, targetowanie automatyczne, optymalizacja na zakup.
Brakowało mu jednej rzeczy, czyli identyfikatora piksela Mety, którego nie potrafił wyciągnąć z istniejących na koncie kampanii.
Tu pojawia się pierwsze realne ograniczenie. MCP udostępnia ogólne narzędzie do pobierania encji
reklamowych (ads_get_ad_entities), ale w praktyce nie potrafiło ono wyciągnąć z istniejących
na koncie reklam tych konkretów, których Claude potrzebował do utworzenia nowej kampanii - identyfikatora
piksela, Page ID czy referencji do mediów. Mimo wielu prób Claude nie znalazł sposobu, żeby z działających
już kampanii pobrać te dane. W efekcie trzeba mu je było podać ręcznie.
Podałem identyfikator piksela. Claude utworzył kampanię i ad set, a następnie zaczął tworzyć reklamę
karuzelową. Tu wpadł w kolejną ścianę, ponieważ reklama wymaga Page ID strony na Facebooku, którego
znowu nie potrafił wyciągnąć z istniejących na tym samym koncie reklam. Próbował przez
ads_get_pages_for_business, próbował przez bezpośrednie pobranie zawartości strony Facebooka
(Facebook blokuje tego typu automatyczne pobieranie), próbował przez wyszukiwanie w sieci. Po kilku
turach przyznał, że nie ma narzędzia, żeby tego dokonać i poprosił mnie o Page ID ręcznie. Podałem
i reklama została utworzona w statusie PAUSED.
05 / Pierwsze niepowodzenie Karuzela złożona „ręcznie" zamiast prawdziwej reklamy katalogowej.
Tutaj zwróciłem mu uwagę na coś, co było dla mnie oczywiste, a dla niego nie. Poprosiłem o „karuzelę produktową z katalogu", a Claude zbudował to jako statyczną karuzelę, w której zaciągnął z katalogu zdjęcia, nazwy i linki produktów, po czym ręcznie poskładał je w trzy karty z tymi danymi wpisanymi na stałe. Wpisanie danych na stałe oznacza, że jeśli za tydzień zmienisz cenę produktu w katalogu, ta reklama nadal będzie pokazywać starą cenę z momentu utworzenia kreacji. To zupełnie coś innego niż prawdziwa reklama katalogowa Advantage+, w której Meta sama dynamicznie pobiera dane z feedu na bieżąco.
Różnica jest istotna w praktyce, ponieważ statyczna karuzela się nie aktualizuje, gdy produkt zniknie ze stanu albo zmieni cenę. Reklama katalogowa pobiera dane na bieżąco z feedu i sama wycofuje produkty, których nie ma w magazynie.
Powiedziałem mu, żeby przerobił to poprawnie. Tu napotkał kolejną twardą ścianę MCP, ponieważ reklamy
katalogowe wymagają w kreacji product_set_id, czyli identyfikatora konkretnego zestawu
produktów z katalogu, a MCP nie ma narzędzia do tworzenia takich zestawów. Jest tylko odczyt
(ads_catalog_get_product_sets), nie ma create_product_set.
Tym razem dało się obejść problem, ponieważ w katalogu już istniał wcześniej utworzony zestaw produktów z dokładnie tymi produktami, które wskazałem. Claude go znalazł, wymienił kreację w istniejącej reklamie, podpiął zestaw produktów i reklama zadziałała poprawnie jako prawdziwa reklama katalogowa Advantage+. Gdyby tego zestawu wcześniej nie było, Claude byłby zablokowany i musiałbym go stworzyć ręcznie w menedżerze sprzedaży, dopiero potem podając mu nazwę gotowego zestawu produktów.
06 / Druga ściana Upload obrazów po prostu nie istnieje.
Kolejnym zadaniem było dodanie do tego ad seta drugiej reklamy, tym razem statycznej z grafiką, którą wgrałem właśnie na czacie. Wymiary 1200×1200 do feedu i pion 9:16 do Stories.
Tu MCP się zatrzymał całkowicie. Claude próbował pobrać plik z mojego środowiska i wysłać go do Mety
przez API, lecz okazało się, że MCP nie ma żadnego narzędzia do uploadowania plików binarnych.
Brakuje create_ad_image, brakuje create_ad_video, brakuje jakiejkolwiek
formy wgrania pliku.
Próbował obejścia przez image_url, czyli podanie publicznego URL-a, z którego Meta sama
zaciągnie grafikę. To akurat działa, kiedy grafika jest hostowana publicznie, lecz w moim przypadku
plik leżał w bibliotece mediów konta reklamowego i nie miał publicznego URL-a.
Zapytałem Claude'a, czy może przeszukać bibliotekę mediów konta i znaleźć tam grafikę produktową po nazwie. Odpowiedź negatywna, ponieważ MCP nie udostępnia żadnego endpointu do przeglądania zasobów medialnych konta reklamowego ani do pobierania image hashów (czyli 32-znakowych identyfikatorów, których Marketing API wymaga przy tworzeniu reklam z obrazami).
Wkleiłem mu URL z CDN Facebooka (CDN to Content Delivery Network, sieć serwerów, które rozsyłają pliki użytkownikom z najbliższego punktu geograficznego), żeby spróbował wyciągnąć z niego identyfikator obrazka. Claude wyciągnął ID z parametru URL-a i utworzył reklamę, ale po sprawdzeniu w Ads Managerze okazało się, że to nie była ta grafika. URL z CDN to coś innego niż image hash z biblioteki, ponieważ są to dwa zupełnie różne identyfikatory w systemie Mety.
Skończyło się tak, że musiałem wejść do Ads Managera, otworzyć grafikę w bibliotece mediów, znaleźć
tam jej image hash (32 znaki, np. b84d0fa17b3c8f2a9e4dca5b1c69e7d2) i ręcznie podać go
Claude'owi. Wtedy reklama poszła bez problemu.
07 / Co działa Wgranie grafiki przez publiczny URL ze sklepu.
Po wcześniejszych nieudanych próbach z biblioteką mediów wpadłem na inny sposób. Skopiowałem bezpośredni link do grafiki produktowej ze strony sklepu (czyli URL pliku JPG hostowanego na serwerze sklepu, dostępny publicznie dla każdego) i podałem go Claude'owi z prośbą o utworzenie kolejnej kreacji w tym samym ad secie.
To zadziałało od pierwszego strzału. Claude wziął ten URL, przekazał go do Mety jako parametr
image_url przy tworzeniu reklamy, Meta zaciągnęła grafikę z serwera sklepu i przerobiła
ją na własny zasób reklamowy. Reklama została utworzona w statusie PAUSED z tą grafiką, podpiętym
linkiem do strony głównej i CTA „Kup teraz".
image_url, Meta sama zaciąga grafikę z serwera sklepu i tworzy zasób reklamowy. Reklama wraca jako Gotowe ✅ z ID i przypisaniem do ad seta.
Warto to zapamiętać, ponieważ jeśli grafika, którą chcesz dodać do reklamy, jest już opublikowana gdzieś publicznie (np. na stronie produktu w Twoim sklepie), MCP poradzi sobie z dodaniem jej do kreacji bez potrzeby uploadowania pliku. Problem zaczyna się dopiero wtedy, gdy grafika jest tylko lokalnie u Ciebie albo wyłącznie w bibliotece mediów konta reklamowego.
08 / Trzecia ściana Duplikowanie i pełna kontrola nad kreacją katalogową.
Stworzyłem drugą kampanię, tym razem z celem Sprzedaż / Witryna internetowa, budżetem 50 zł, też karuzelą z katalogu. Wszystko poszło, kampania ruszyła w PAUSED. Po sprawdzeniu w Ads Managerze zauważyłem, że pomimo wyraźnego polecenia „nie włączaj żadnych ulepszeń kreacji", ulepszenia były włączone, kolekcja też. Brakowało też ceny w opisie pod każdym produktem, ponieważ Claude na czacie napisał, że wstawi w polu opisu zmienną dynamiczną pobierającą cenę z katalogu, ale w rzeczywistości na poziomie kreacji w Ads Managerze nie dodał w ogóle żadnego opisu.
Claude przyznał uczciwie, że ma tu ograniczoną kontrolę. Próbował przesłać do API parametr wyłączający ulepszenia kreacji, ale Meta najwyraźniej go ignoruje przy reklamach katalogowych. Kolekcja przy tego typu kampaniach jest włączana automatycznie i przez MCP nie da się jej pewnie wyłączyć. Są to decyzje produktowe Mety, ponieważ MCP daje takie możliwości, jakie Meta zdecydowała się dać.
Następnie poprosiłem o duplikat tej kampanii z dopiskiem „KOPIA" w nazwie. Claude od razu odpowiedział,
że MCP nie obsługuje duplikowania na żadnym poziomie struktury, ponieważ brakuje narzędzia
duplicate i copy dla kampanii, ad seta i reklamy. Zaproponował jednak,
że odtworzy ją ręcznie krok po kroku z identycznymi ustawieniami. Działa, choć jest to obejście,
a nie funkcja.
duplicate, Claude buduje strukturę od nowa: kampania, ad set, dwie kreacje.09 / Pozytywne zaskoczenie Tworzenie katalogu produktów.
Przy okazji testów chciałem sprawdzić, jak wygląda praca z katalogami od strony tworzenia, a nie tylko odczytu. Poprosiłem Claude'a o utworzenie nowego katalogu produktów w jednym z moich portfolio biznesowych.
Tu wpadł w pierwszą trudność, ponieważ narzędzie ads_catalog_create w MCP wymaga, żeby
przy tworzeniu katalogu od razu podać URL feedu jako źródło danych. Pusty katalog z opcją podpięcia
feedu w drugim kroku nie jest tu obsługiwany przez MCP.
ads_catalog_create nie pozwala stworzyć pustego katalogu i musi dostać feed_url, plik CSV albo przynajmniej jeden produkt w items.
Podałem mu URL feedu produktowego z testowymi produktami. Claude wywołał ads_catalog_create
z tym feedem i ustawił dzienny harmonogram importu. Sprawdziłem w menedżerze sprzedaży - katalog
rzeczywiście był na miejscu, pierwszy import już szedł.
MCP potrafi więc tworzyć katalogi produktów z podpiętym feedem URL, mimo że tworzenia zestawów produktów wewnątrz katalogu nie obsługuje. Asymetria jest dziwna z perspektywy operatora, ponieważ z biznesowego punktu widzenia tworzenie zestawów jest częstszą operacją niż tworzenie nowych katalogów. Tak właśnie wygląda obecny zakres narzędzi.
10 / Czwarta ściana Tworzenie zestawu produktów to wciąż blokada.
Po sukcesie z katalogiem chciałem sprawdzić, czy może coś się ruszyło z tworzeniem zestawów. W jednym z moich kont reklamowych poprosiłem Claude'a o utworzenie nowego zestawu w istniejącym katalogu z trzech produktów kosmetycznych podanych po nazwach.
Claude zadziałał ambitnie. Najpierw odnalazł wszystkie trzy produkty w katalogu, sprawdzając kolejne
strony i filtry, aż wyciągnął ich identyfikatory. Potem spróbował obejścia przez
ads_catalog_create przekazując produkty w jednym wywołaniu, podejrzewając, że może uda się
tą ścieżką tworzyć też zestawy. Nie udało się, ponieważ API odrzuciło wywołanie.
Wniosek dokładnie ten sam co przy pierwszym podejściu, czyli MCP udostępnia
ads_catalog_get_product_sets (odczyt zestawów), ale nie ma create_product_set.
Jedyne wyjście to ręczne stworzenie zestawu w menedżerze sprzedaży. Po jego utworzeniu Claude potrafi
go znaleźć po nazwie i od razu wykorzystać w kreacji reklamowej, więc dalsza praca z gotowym zestawem
wraca pod kontrolę MCP.
Jest to kolejne miejsce, gdzie MCP wymusza powrót do klikania, mimo że cały proces dałoby się zaadresować jednym wywołaniem API gdyby tylko Meta dodała odpowiednie narzędzie.
11 / Piąta ściana Dodawanie istniejącego posta z Page jako kreacji reklamowej.
Następnie poprosiłem Claude'a, żeby do jednej z kampanii dodał kolejną reklamę, w której kreacją będzie najnowszy post ze strony Facebookowej marki, dla której prowadzę kampanię.
Pierwszą trudnością okazało się samo zdobycie identyfikatora posta. MCP nie ma narzędzia do listowania postów ze strony Facebookowej, więc Claude poprosił mnie o ID. Podałem mu link do posta. Claude próbował go zdekodować do numerycznego ID i znaleźć w inny sposób przez dostępne narzędzia, ale żadna z prób nie przyniosła rezultatu.
Po kilku turach przekazałem mu numeryczne ID posta z Meta Business Suite. Tu napotkałem serię błędów Mety. Pierwszy post miał flagę „can't be boosted", drugi okazał się reelem do którego MCP nie ma uprawnień, trzeci znów zwrócił błąd o nieprzynależności posta do strony reklamowej, mimo że wszystkie te posty były normalnie dostępne w kreatorze reklam w Ads Managerze i mogłem je tam dodać ręcznie bez problemu.
Po kilkunastu próbach z różnymi formatami ID i różnymi postami doszedłem do wniosku, że to kolejne ograniczenie MCP. Użycie istniejących postów z Page jako kreacji reklamowych przez ten interfejs wymaga prawdopodobnie innych uprawnień albo innego endpointu niż ten, który MCP udostępnia. W Ads Managerze ten sam post dodaje się jednym kliknięciem, a przez MCP nie udało się go dodać w żadnym wariancie. Wniosek - nawet jeśli teoretycznie kreację dla nowej reklamy można zbudować z istniejącego posta podając post ID, w praktyce ta ścieżka jest na tyle zawodna, że trudno na nią liczyć w codziennej pracy.
object_story_id nie przechodzi przez API tej wersji MCP i odsyła do ręcznego dodania w Ads Managerze. Ten sam post w kreatorze reklam Mety dodaje się jednym kliknięciem.12 / Szósta ściana Google Drive jako źródło grafiki.
Skoro upload plików z czatu nie działa, a publiczny URL ze sklepu zadziałał, sprawdziłem pośrednią drogę. Wrzuciłem grafikę do folderu na Google Drive, ustawiłem udostępnianie „każdy z linkiem", podałem Claude'owi link.
Claude próbował kilku wariantów linku Google Drive. Meta odrzuciła wszystkie. Powód jest taki, że Google Drive nie udostępnia plików zewnętrznym serwisom przez bezpośredni URL bez interakcji w przeglądarce - odpowiedź jaką dostaje crawler Mety to strona HTML z podglądem albo intersticjalnym ostrzeżeniem, a nie surowy plik graficzny.
image/jpeg lub image/png), którego wymaga Meta API.Wniosek praktyczny dla każdego, kto chce wykorzystać MCP do pracy z grafikami. Google Drive nie zadziała jako źródło, nawet jeśli ustawisz publiczne udostępnianie. Sprawdzonym rozwiązaniem jest publiczny URL z serwera, który zwraca surowy plik graficzny bezpośrednio bez warstwy interfejsu - w moim teście zadziałał link do grafiki bezpośrednio ze sklepu (URL pliku JPG hostowanego na serwerze sklepu, dostępny publicznie dla każdego).
13 / Pełna lista Co MCP rzeczywiście potrafi - na podstawie testów.
Po kilku godzinach pracy z tym narzędziem zrobiłem konkretną listę bazującą na tym, co realnie zadziałało i co realnie nie zadziałało na moim koncie. Zaznaczam wyraźnie, że jest to lista oparta wyłącznie na moich testach przeprowadzonych w dwa dni na początku maja 2026 - u kogoś innego, na innym koncie reklamowym i z innymi konfiguracjami biznesowymi, niektóre z tych obserwacji mogą wyglądać inaczej.
Odczyt - działa bez zarzutu:
- Listowanie kont reklamowych z informacją, które są w programie MCP, a które nie
- Pobieranie kampanii, ad setów i reklam z metrykami performance (spend, impressions, CTR, CPA, ROAS) dla dowolnych okresów
- Przeglądanie katalogu produktów - lista, filtrowanie, szczegóły pojedynczego produktu
- Listowanie zestawów produktów (samo tworzenie nie wchodzi)
- Sprawdzanie jakości piksela i jego konfiguracji
- Pobieranie błędów dostarczania kampanii i reklam
Tworzenie i edycja - działa, ale z ograniczeniami:
- Tworzenie kampanii z celami sprzedażowymi (Advantage+ Shopping i klasyczne Sprzedaż / Witryna - oba sprawdzone w teście)
- Tworzenie ad setów z pełną konfiguracją (budżet, targetowanie, optymalizacja, piksel, harmonogram)
- Tworzenie reklam, ale wyłącznie z gotowych źródeł kreacji: image hash (jeśli go znasz), zestaw produktów z katalogu (jeśli już istnieje) albo publiczny URL grafiki dostępny dla Mety
- Tworzenie nowego katalogu produktów w portfolio biznesowym z podpiętym URL-em feedu
- Aktualizacja nazwy, statusu, targetowania, optymalizacji
- Zmiana budżetów reklamowych (zwiększanie i zmniejszanie budżetów dziennych oraz całkowitych na poziomie kampanii i ad seta)
- Wymiana kreacji w istniejącej reklamie
- Aktywowanie i pauzowanie kampanii / ad setów / reklam
Czego MCP nie potrafi - sprawdzone na żywym koncie:
- Upload grafik i wideo bezpośrednio z czatu czy z dysku (brak endpointu, brak obejścia)
- Przeglądanie biblioteki mediów konta reklamowego i pobieranie image hashów
- Listowanie postów ze strony Facebookowej
- Dodawanie istniejącego posta z Page jako kreacji reklamowej (w moim teście żaden z testowanych postów nie został zaakceptowany, mimo że ten sam post dodaje się ręcznie w Ads Managerze bez problemu)
- Pobieranie grafik z Google Drive (Drive blokuje zewnętrzne pobieranie, Meta nie potrafi zaciągnąć pliku)
- Tworzenie nowych zestawów produktów w katalogu (jest tylko odczyt)
- Duplikowanie kampanii, ad setów ani reklam
- Odczyt szczegółów kreacji z istniejących reklam w sposób, który pozwoliłby zrekonstruować ich strukturę (Claude w teście nie potrafił przez
ads_get_ad_entitieswyciągnąć identyfikatora piksela ani Page ID z działających kampanii, choć narzędzie udostępnia podstawowe pola encji reklamowych) - Kontrola nad włączaniem i wyłączaniem ulepszeń kreacji reklamowej
To są realne luki, które dzisiaj uniemożliwiają zbudowanie pełnej kampanii od zera bez wychodzenia do Ads Managera. Mówię to po dwóch dniach prób.
14 / Bezpieczeństwo Czy korzystanie z MCP nie naraża konta na bana.
Czytając fora i grupy branżowe można trafić na ostrzeżenia, że Meta banuje konta za zbyt dużą liczbę zapytań do API. Warto to rozjaśnić.
Korzystanie z oficjalnego MCP jest w pełni zgodne z regulaminem Mety, ponieważ cała integracja idzie przez oficjalny Marketing API, każde zapytanie jest autoryzowane Twoim tokenem OAuth, a sam serwer MCP jest dostarczany przez Metę bezpośrednio. To, co czytałeś o banach, dotyczy zupełnie innego scenariusza, czyli scrapeowania Facebooka przez nieoficjalne narzędzia albo masowego spamu zapytaniami z fałszywych aplikacji.
15 / Porównanie Z własnym agentem AI na Anthropic Agent SDK + Meta Marketing API.
Tu dochodzimy do drugiej części tego eksperymentu, ponieważ równolegle zastanawiałem się, ile z tego,
co MCP nie potrafi, dałoby się załatwić bezpośrednio przez własnego agenta AI na Anthropic Agent SDK, podłączonego
do Marketing API przez oficjalny Python SDK Mety (facebook-business).
Architektonicznie są to dwie różne rzeczy. MCP jest gotową warstwą pośrednią między Claude a Marketing API, w której Meta sama zdecydowała, jakie narzędzia tam wystawić, jakie pola zwracać i jakiej wersji API używać, więc nie masz nad tym żadnej kontroli. Własny agent na Anthropic Agent SDK z bezpośrednią integracją Marketing API to natomiast pełny dostęp do całego Marketing API, czyli wszystkich endpointów, wszystkich pól i wszystkich wersji. Ty piszesz kod, który wywołuje API, a Claude działa jako agent wykonujący ten kod.
Co konkretnie zmienia się w praktyce. Największa różnica dotyczy pracy z kreacjami. Mając grafiki na dysku w dwóch wymiarach (1080×1080 do feedu i 1080×1920 do Stories), w architekturze własnego agenta na Anthropic Agent SDK z Marketing API agent może zostać zaprogramowany tak, żeby sam zaciągnął pliki z folderu, sprawdził ich wymiary, wgrał każdy z nich osobno do biblioteki mediów Mety i zbudował kreację z odpowiednim przypisaniem grafiki do umiejscowienia. 1080×1080 do feedu na Facebooku i Instagramie, a 1080×1920 do Stories i Reels. Wszystko bez ręcznego wgrywania, bez kopiowania image hashów, bez ingerencji w bibliotekę mediów. Cała struktura kampanii powstaje od pliku na dysku do gotowej reklamy w jednym ciągu, w którym agent wykonuje kolejne kroki SDK zgodnie z logiką, którą mu wcześniej zaprojektujesz.
Druga różnica to operacje, których w MCP nie ma w ogóle. Tworzenie zestawów produktów to jedno wywołanie. Duplikowanie kampanii można rozwiązać własną funkcją, która kopiuje strukturę i zmienia, co trzeba zmienić. Pełna kontrola nad parametrami kreacji katalogowej również wraca w Twoje ręce.
Trzeci obszar, gdzie SDK daje znacznie więcej, to ogólnie kontrola nad procesem. Agent na Anthropic Agent SDK może rano automatycznie zaciągnąć dane z konta reklamowego, zidentyfikować ad sety, których ROAS spadł poniżej progu, zapauzować je albo zmniejszyć budżet, a wynik tej pracy zapisać w wybranym miejscu. Taka praca wymaga pełnego API plus własnej logiki decyzyjnej, czego MCP w obecnym kształcie nie obsługuje.
Cena tej elastyczności to setup. Trzeba założyć aplikację typu Business w developers.facebook.com,
dodać produkt Marketing API, przejść App Review dla uprawnień ads_management
i ads_read, wygenerować System User Token w Business Managerze. Plus utrzymanie kodu,
obsługa rate limitów, łapanie błędów. MCP tego nie wymaga, ponieważ Meta robi to za Ciebie.
Jest jeszcze jeden element, który przy bezpośredniej integracji jest absolutnie krytyczny i o którym
warto powiedzieć osobno. Agent działający autonomicznie na koncie reklamowym z pełnym dostępem do API
może zrobić wiele rzeczy, w tym takie, które naruszają politykę Mety i kończą się blokadą konta.
Dlatego przy konfiguracji własnego agenta na Anthropic Agent SDK z Marketing API trzeba przygotować szczegółowy plik instrukcji
compliance (np. meta-compliance.md w katalogu projektu), który definiuje, czego agent
nie może robić: od limitów liczby zmian budżetowych w godzinę, przez zakaz tworzenia kampanii
bez zatwierdzenia, po reguły dotyczące copy reklamowego i targetowania. Bez tego ryzykujesz, że agent
w dobrej wierze zrobi serię operacji, które Meta zinterpretuje jako automatyzację naruszającą regulamin.
Jest to standardowy element architektury każdego agenta, który ma uprawnienia write na żywym koncie
reklamowym, ponieważ konsekwencją błędu może być zablokowanie konta na poziomie biznesu.
W praktyce te dwie ścieżki się uzupełniają. MCP do szybkich interaktywnych sesji, w których chcę pogadać z kontem reklamowym po polsku i zrobić podstawowe rzeczy. Własny agent z Anthropic Agent SDK do automatyzacji, która ma działać codziennie w tle, do skomplikowanych procesów i do wszystkiego, co wymaga uploadu plików z dysku.
16 / Dla kogo Kto powinien wziąć to dziś na swoje konto.
Jeśli prowadzisz kampanie operacyjnie i Twoja praca wygląda tak, że codziennie rano logujesz się do Ads Managera, sprawdzasz performance, rzucasz okiem na kreacje, robisz drobne korekty budżetów, MCP w obecnym kształcie zaoszczędzi Ci sporo kliknięć. Naturalna rozmowa po polsku z analizą kontekstową od razu w tabeli to inna jakość niż przeklikiwanie się przez interfejs.
Tworzenie samych kampanii i ad setów działa bez problemu - to obszar, w którym MCP jest realnie użyteczny. Trzeba jednak wiedzieć, że praca z istniejącymi assetami nie jest tak bezproblemowa, jak mogłoby się wydawać:
- Kreacje z biblioteki mediów wymagają, żebyś znał ich 32-znakowy image hash. Żeby go zdobyć, i tak musisz wejść do Ads Managera i skopiować ręcznie.
- Z istniejącymi zestawami produktów MCP zrobi prawdziwą reklamę katalogową - czyli karuzelę zaciągającą dane (zdjęcia, ceny, dostępność) z feedu produktowego - ale tylko jeśli wyraźnie mu to polecisz. Domyślnie zbuduje statyczną karuzelę: zaciągnie zdjęcia, nazwy produktów i linki bezpośrednio z katalogu produktów na Facebooku, ale wpisze te dane na stałe - to nie będzie karuzela dynamiczna.
- Publiczne URL-e grafik (np. ze sklepu) działają bez zastrzeżeń - to jest najbardziej bezbolesna ścieżka pracy z grafikami w MCP.
Jeśli natomiast Twoja codzienna praca to tworzenie kampanii od zera, gdzie sam uploadujesz nowe grafiki i wideo z dysku, MCP nie zastąpi Ci dziś ani Ads Managera, ani bezpośredniej integracji przez SDK. Zbyt dużo rzeczy musi przejść przez ręczny krok w Ads Managerze.
Moja praktyczna rekomendacja po tych testach jest taka, że warto podłączyć oficjalny MCP od razu, ponieważ do analizy i monitoringu jest świetny i nic nie kosztuje na becie. Jeśli planujesz głębszą automatyzację albo masz proces, który wymaga wgrywania kreacji, równolegle zacznij myśleć o setupie po stronie Meta for Developers, ponieważ na poważne agentowe rozwiązania MCP w tej formie nie wystarczy.
Trzeba sobie powiedzieć wprost - dziś, w maju 2026, jest wyraźna przepaść między tym, co potrafi MCP, a tym, co potrafi agent na Anthropic Agent SDK z bezpośrednią integracją Marketing API, i ta przepaść jest zdecydowanie na korzyść agenta. MCP daje Ci wygodny czat z kontem reklamowym, dostęp do metryk i tworzenie kampanii z elementów, które już istnieją w Twoim koncie. Agent daje Ci pełną autonomię nad każdym etapem pracy z kontem reklamowym - od wgrywania nowych grafik i wideo z dysku, przez tworzenie zestawów produktów, aż po podejmowanie decyzji budżetowych na podstawie danych zaciąganych z GA4 czy CRM. Wszystko to dzieje się autonomicznie, bez ręcznego kroku w Ads Managerze. To różnica klasy narzędzia, a nie różnica wersji.
Sam idę dalej w stronę własnych agentów z Anthropic Agent SDK dla klientów, gdzie potrzeba pełnej autonomii, a MCP zostawiam sobie do operacyjnych konsultacji w trakcie dnia. Są to narzędzia do innego rodzaju pracy.
17 / FAQ Najczęstsze pytania o Meta Ads MCP.
Jak podłączyć Meta Ads MCP do Claude?
Otwierasz Customize, przechodzisz do Connectors, klikasz ikonę plusa i wybierasz Add custom connector.
Wpisujesz nazwę (np. „Meta Ads") i wklejasz adres serwera https://mcp.facebook.com/ads,
klikasz Add. Zostaniesz przekierowany na Facebooka, gdzie wybierasz konkretne portfolio biznesowe
(lub wszystkie) i nadajesz Claude uprawnienia. Setup zajmuje kilka minut i nie wymaga zakładania
aplikacji w Meta for Developers ani przechodzenia App Review.
Czy Meta Ads MCP pozwala uploadować obrazy do reklam?
Nie. To jedna z najważniejszych luk MCP w obecnej formie - brakuje narzędzia do wgrywania plików binarnych. Można to obejść dwoma sposobami: podać image hash już istniejącej grafiki w bibliotece mediów albo wskazać publiczny URL grafiki (np. ze swojego sklepu), z którego Meta sama zaciągnie plik. Co ważne, link do Google Drive nie zadziała, ponieważ Drive blokuje pobieranie przez zewnętrzne serwisy. Pełny upload plików z dysku rozwiązuje dopiero bezpośrednia integracja z Marketing API przez SDK.
Czy korzystanie z Meta Ads MCP jest bezpieczne dla konta reklamowego?
Tak, ponieważ MCP to oficjalny produkt Mety. Cała integracja idzie przez Marketing API, każde zapytanie jest autoryzowane Twoim tokenem OAuth, a sam serwer hostuje Meta. Ostrzeżenia o banach dotyczące „automatyzacji przez AI" odnoszą się do scrapeowania Facebooka przez nieoficjalne narzędzia albo masowego spamu zapytaniami z fałszywych aplikacji, a nie do oficjalnego MCP.
Czym Meta Ads MCP różni się od własnego agenta AI z Anthropic Agent SDK podłączonego do Marketing API?
MCP to gotowa warstwa pośrednia, w której Meta sama zdecydowała, jakie narzędzia wystawić - jest tu 29 narzędzi pokrywających podstawową pracę z kampaniami, ale nie więcej. Własny agent z Anthropic Agent SDK daje pełny dostęp do całego Marketing API, czyli wszystkich endpointów i wszystkich pól, w tym uploadu plików, tworzenia zestawów produktów, duplikowania kampanii. Wymaga jednak własnego setupu w Meta for Developers, utrzymania kodu i przygotowania reguł compliance dla agenta.
Dlaczego nie wszystkie moje konta reklamowe są dostępne w Meta Ads MCP?
Meta rolloutuje MCP stopniowo, każde konto reklamowe musi zostać włączone do programu po stronie Mety. Nawet jeśli dałeś Claude'owi pełne uprawnienia OAuth, część Twoich kont może być jeszcze niedostępna w MCP. Decyzja należy do Mety i nie ma mechanizmu, który pozwoliłby to przyspieszyć po stronie użytkownika.
Testy przeprowadzone w dwa dni na początku maja 2026 na modelu Claude Sonnet 4.6. Stan funkcjonalności MCP może się szybko zmieniać, ponieważ Meta jest na otwartej becie i regularnie dodaje nowe narzędzia. Jeśli czytasz ten tekst kilka miesięcy później, niektóre z opisanych ograniczeń mogły zostać już naprawione. Sprawdzaj aktualną listę narzędzi w dokumentacji Mety.
W razie pytań o wdrożenie MCP albo agentowej integracji z Meta Marketing API w Twojej firmie - jestem do dyspozycji.
Wdrożę u Ciebie AI Ads Agenta.
Jeśli MCP Ci nie wystarczy i chcesz pełnej autonomii - własny agent AI na Anthropic Agent SDK z bezpośrednią integracją Meta Marketing API. Wdrożenia od Observer (read-only) po Full Ads Ops. Zacznij od bezpłatnej 30-minutowej rozmowy.