Meta App und System-User-Token einrichten
Schritt für Schritt: vom leeren Meta-Developer-Dashboard bis zum funktionierenden System-User-Token im connector .env. Etwa 20 Minuten, wenn du schon ein Business Portfolio hast — sonst ~40.
Dieser Guide ist die offizielle Begleit-Anleitung zum claude-meta-mcp v0.4 Connector. System-User-Tokens sind gegenüber regulären User-Access-Tokens vorzuziehen, weil sie nicht ablaufen und für Server-zu-Server-Setups gemacht sind. UI-Beschriftungen unten gehen von einem englischen Meta-Account aus — bei deutscher Oberfläche heißen die Menüpunkte sinngemäß identisch.
- Meta Developer App anlegen und fünf Use Cases auswählen
- App ans Meta Business Portfolio koppeln
- System-User im Business Portfolio erstellen
- Assets (App, Ad Account, Page, Catalog) dem System-User zuweisen
- System-User-Token generieren
- Token validieren und in .env eintragen
Meta Developer App anlegen
- Auf developers.facebook.com/apps anmelden und auf »Create app« klicken.
- Vergib einen Namen (z. B. claude-meta-mcp) und eine Kontakt-E-Mail. Die Business-Portfolio-Zuordnung kannst du jetzt überspringen — die machen wir in Schritt 3.
- Nach dem Anlegen landest du im App-Dashboard.
Fünf Use Cases auswählen
Meta hat 2024–2025 das alte »Berechtigungen einzeln auswählen« durch einen Use-Case-Wizard ersetzt.
Im App-Dashboard auf »Use cases → Add use case« und folgende fünf Cases anlegen — zusammen decken sie das komplette v0.4-Toolset (47 Tools) ab:
- »Measure ad performance with Marketing API« → liefert ads_read, business_management, read_insights
- »Create and manage ads with Marketing API« → liefert ads_management, business_management
- »Manage everything on your Page« → liefert pages_show_list, pages_manage_posts, pages_manage_metadata, pages_read_engagement
- »Manage messaging and content on Instagram« → liefert instagram_basic, instagram_content_publish, instagram_manage_comments, instagram_manage_insights
- »Manage products with Catalog API« → liefert catalog_management (für Product-Catalog-Inspektion: Businesses, Catalogs, Feeds, Produkte, Diagnostics)
Nach Auswahl dieser Use Cases zeigt der App-Tab »Permissions and Features« jede Berechtigung als »Standard Access (granted by default)« — für eigene Assets musst du nichts beim App Review einreichen.
App ans Business Portfolio koppeln
Das ist der Schritt, den die meisten übersehen — ohne ihn schlagen System-User-Tokens mit »could not be decrypted« fehl.
- Im Meta-Developer-Dashboard auf »App settings → Basic«.
- Ganz nach unten zu »Business Portfolio« scrollen.
- Existierendes Portfolio auswählen oder »Create new«, falls du noch keines hast.
- Unten »Save changes« klicken.
Verifiziere unter business.facebook.com → Settings → Accounts → Apps, dass die App jetzt in der Liste auftaucht.
System-User anlegen
- In business.facebook.com → Settings (unten links) → Users → System Users.
- »Add« → Name z. B. claude-mcp → Rolle: Admin (System Admin).
- Den neuen System-User anklicken, um den Detail-Panel zu öffnen.
Assets dem System-User zuweisen
Der System-User braucht expliziten Zugriff auf die App, das Ad Account, die Page und (für v0.4-Catalog-Tools) den Catalog.
Im System-User-Detail-Panel jeweils »Add Assets« klicken:
- Tab Apps → claude-meta-mcp anhaken → Rolle »Develop app« oder »Manage app«.
- Tab Ad Accounts → dein Ad Account anhaken, Permissions: »Manage campaigns« + »View performance«.
- Tab Pages → die Page anhaken, Permissions: »Create content« + »Manage Page posts« + »View Page insights«.
- Tab Catalogs → den Product Catalog anhaken (Permission: »View catalog«). Nur nötig, wenn du die v0.4-Product-Catalog-Tools nutzen willst.
Der Instagram-Business-Account wird automatisch über die zugehörige Facebook-Page erreichbar — separate Zuweisung nicht nötig.
System-User-Token generieren
- Im System-User-Detail-Panel auf den Tab »Tokens« → »Generate New Token«.
- »Select App«: claude-meta-mcp wählen — bindet das Token an deine App-Signing-Keys.
- »Token expiration«: »Never« — genau das ist der Sinn eines System-User-Tokens.
- Permissions: alle für das v0.4-Toolset benötigten Scopes (siehe Liste unten) anhaken.
- »Generate Token« → der Token erscheint einmalig. Auf den Copy-Button klicken — nicht den dargestellten String per Maus markieren, Meta verschleiert ihn visuell bis zum Klick.
Volle Scope-Liste für v0.4 (47 Tools):
- ads_read, ads_management, business_management
- pages_show_list, pages_manage_posts, pages_manage_metadata, pages_read_engagement
- instagram_basic, instagram_content_publish, instagram_manage_comments, instagram_manage_insights
- catalog_management (für die v0.4 Product-Catalog-Tools — Catalogs, Feeds, Produkte, Diagnostics)
- optional: read_insights
Token validieren
Bevor du den Token in .env packst, prüfe ihn mit Meta's eigenem Debugger.
Auf developers.facebook.com/tools/debug/accesstoken/ den Token einfügen. Du solltest sehen:
- Type: System User
- App ID: deine App-ID
- Expires: Never
- Scopes: die 12+ ausgewählten Permissions
Token in .env eintragen und reload
# am Server, NICHT durch Drittanbieter:
nano /var/www/connector/.env
# Zeile setzen:
META_ACCESS_TOKEN=EAA...
# Connector neuladen:
pm2 reload claude-meta-mcp --update-env
# oder
systemctl restart claude-meta-mcpSchnell-Check, dass alles greift:
TOKEN=$(grep ^META_ACCESS_TOKEN /var/www/connector/.env | cut -d= -f2-)
curl -s "https://graph.facebook.com/v22.0/me?access_token=$TOKEN" | jq
# → {"name":"<dein system user name>","id":"..."}
curl -s "https://graph.facebook.com/v22.0/me/adaccounts?fields=id,name&access_token=$TOKEN" | jq
# → Liste der zugewiesenen Ad Accounts
curl -s "https://graph.facebook.com/v22.0/me/accounts?fields=id,name&access_token=$TOKEN" | jq
# → Liste der zugewiesenen PagesToken-Rotation
System-User-Tokens mit »Never« laufen nicht automatisch ab. Trotzdem solltest du sie regelmäßig rotieren:
- business.facebook.com → System Users → Tokens → »Revoke Token«
- Neuen Token mit denselben Scopes generieren (Schritt 6).
- .env am Server aktualisieren.
- pm2 reload claude-meta-mcp --update-env
Standard Access vs Advanced Access
Standardmäßig läuft deine App im Development Mode mit Standard Access:
- ✅ funktioniert mit deinen eigenen Ad Accounts und Pages
- ✅ funktioniert mit bis zu ~5 explizit hinzugefügten Test-Usern
- ❌ funktioniert NICHT für beliebige Public-User
Für ein self-hosted Single-Tenant-Setup ist genau das richtig. Multi-Tenant-Betrieb (Connector öffentlich anbieten) bräuchte Advanced Access mit Business Verification, App Review und Datenlöschungs-Callback — geplant für eine spätere Connector-Version.
(#100) Tried accessing nonexisting field
Die App hat die geforderte Permission nicht. Prüfe Schritt 2 (Use Cases attached) und Schritt 5 (Asset-Assignment am System-User).
Invalid OAuth access token signature
Token aus einer anderen App oder einem anderen Business Portfolio. Token in Schritt 6 mit der richtigen App im Dropdown neu generieren.
(#10) Application does not have permission for this action
Das Asset (Page oder Ad Account) ist dem System-User nicht zugewiesen, oder die Rolle reicht für die Aktion nicht. Schritt 5 prüfen.
Error validating access token: Session has expired
Tritt nur bei User-Tokens auf, nicht bei System-User-Tokens. Du hast versehentlich einen User-Token (z. B. via Graph API Explorer) generiert — Schritt 6 mit dem System-User-Tab nochmal durchgehen.
The access token could not be decrypted
Siehe Hinweis in Schritt 7 — fast immer ein Business-Portfolio- oder App-Assignment-Thema.
Was kommt jetzt?
Mit dem Token im .env und einem reload kann der Connector loslegen. Nächster sinnvoller Schritt: in Claude den Connector verbinden und mit get_ad_account einen Trockenlauf machen — z. B. Balance, Currency und Account-Status prüfen, bevor du die ersten Test-Kampagnen mit status=PAUSED anlegst.
← Zurück zu claude-meta-mcp