← Zurück zu claude-meta-mcp
Setup-Guide · ~20 Min

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.

Überblick
  1. Meta Developer App anlegen und fünf Use Cases auswählen
  2. App ans Meta Business Portfolio koppeln
  3. System-User im Business Portfolio erstellen
  4. Assets (App, Ad Account, Page, Catalog) dem System-User zuweisen
  5. System-User-Token generieren
  6. Token validieren und in .env eintragen
Schritt 01

Meta Developer App anlegen

  1. Auf developers.facebook.com/apps anmelden und auf »Create app« klicken.
  2. 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.
  3. Nach dem Anlegen landest du im App-Dashboard.
Schritt 02

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)
Hinweisinstagram_manage_messages (DM-Zugriff) ist bewusst NICHT enthalten. Auch für eigene Accounts verlangt Meta für diesen Scope ein App Review. Der Connector exposed aktuell kein DM-Tool.

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.

Schritt 03

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.

  1. Im Meta-Developer-Dashboard auf »App settings → Basic«.
  2. Ganz nach unten zu »Business Portfolio« scrollen.
  3. Existierendes Portfolio auswählen oder »Create new«, falls du noch keines hast.
  4. Unten »Save changes« klicken.

Verifiziere unter business.facebook.com → Settings → Accounts → Apps, dass die App jetzt in der Liste auftaucht.

Schritt 04

System-User anlegen

  1. In business.facebook.com → Settings (unten links) → Users → System Users.
  2. »Add« → Name z. B. claude-mcp → Rolle: Admin (System Admin).
  3. Den neuen System-User anklicken, um den Detail-Panel zu öffnen.
Schritt 05

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.
HinweisFalls Ad Account, Page oder Catalog nicht in der Liste auftauchen: vorher unter Settings → Accounts → Ad Accounts / Pages / Catalogs → Add hinzufügen. Bei der Page musst du Page-Admin sein.

Der Instagram-Business-Account wird automatisch über die zugehörige Facebook-Page erreichbar — separate Zuweisung nicht nötig.

Schritt 06

System-User-Token generieren

  1. Im System-User-Detail-Panel auf den Tab »Tokens« → »Generate New Token«.
  2. »Select App«: claude-meta-mcp wählen — bindet das Token an deine App-Signing-Keys.
  3. »Token expiration«: »Never« — genau das ist der Sinn eines System-User-Tokens.
  4. Permissions: alle für das v0.4-Toolset benötigten Scopes (siehe Liste unten) anhaken.
  5. »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
HinweisDu kannst Scopes weglassen — die zugehörigen Tools liefern dann zur Laufzeit 403 zurück. Beispiel: nur ads_read + business_management = read-only Ads, keine CRUD-Tools, kein Instagram, keine Pages-Writes.
Schritt 07

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
AchtungFalls »The access token could not be decrypted« erscheint: meistens ist die App nicht ans Business Portfolio gekoppelt (Schritt 3), die falsche App im Generate-Dropdown gewählt (Schritt 6.2), oder das App-Secret wurde nach System-User-Anlage zurückgesetzt — in dem Fall einfach Token neu generieren.
Schritt 08

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-mcp

Schnell-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 Pages

Token-Rotation

System-User-Tokens mit »Never« laufen nicht automatisch ab. Trotzdem solltest du sie regelmäßig rotieren:

  1. business.facebook.com → System Users → Tokens → »Revoke Token«
  2. Neuen Token mit denselben Scopes generieren (Schritt 6).
  3. .env am Server aktualisieren.
  4. pm2 reload claude-meta-mcp --update-env
HinweisBei Verdacht auf Token-Leak zuerst revoken, dann neu erstellen — Revoke wirkt sofort.

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.

Troubleshooting
(#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