MELLOW HUB · PRAXISNOTIZEN

Instagram MCP: Fotos, Karussells und Reels veröffentlichen

Ein Instagram-MCP-Leitfaden für Mellow Hub: Kontovoraussetzungen, Anmeldung über Instagram oder Facebook, getestete Beitragseingaben, Planung und Lösungen für häufige Validierungsfehler.

Von Mellow · Aktualisiert am

Kann ein KI-Assistent über MCP auf Instagram veröffentlichen?

Ja, wenn der Assistent ein autorisiertes Veröffentlichungs-Tool und ein verbundenes Instagram-Konto hat, das die Voraussetzungen erfüllt. Mellow Hub stellt diese Tools unter https://www.mellow.world/mcp bereit. Ein kompatibler Remote-MCP-Client kann einen Beitrag validieren, ihn im Rahmen der Delegation des Inhabers planen und das Endergebnis am Ziel lesen.

Beginne mit dem Konto und einem echten Entwurf. MCP ist die Tool-Verbindung; ob Konto, Berechtigungen und Medien veröffentlichen dürfen, entscheidet weiterhin Instagram. Dieser Leitfaden behandelt Mellow Hub. Für die Planung deiner eigenen Instagram-Inhalte auf dem iPhone oder im Web gibt es den separaten Planungsleitfaden von Mellow.

Welches Instagram-Konto brauche ich?

Verwende ein professionelles Instagram-Konto: Business oder Creator. Ein privates Konto ist für diesen Ablauf der Publishing-API nicht zugelassen. Öffne in Hub den Bereich Konten, wähle Instagram und schließe die Kontoverbindung selbst ab.

AnmeldewegWas du vorbereiten musst
Anmeldung über InstagramDer direkte Anmeldeweg. Metas Instagram-Login-API verlangt keine verknüpfte Facebook-Seite.
Anmeldung über FacebookDas professionelle Instagram-Konto, verknüpft mit einer Facebook-Seite und mit dem passenden Seitenzugriff.

Das sind unterschiedliche Autorisierungswege. Wähle den Weg, der zu deiner Kontoeinrichtung passt; einen abzuschließen erteilt nicht alle Berechtigungen des anderen. Metas offizielle Instagram-API-Sammlung dokumentiert den Unterschied. Die von Hub genutzte verwaltete Verbindung wird in den Kontoanforderungen von Post for Me beschrieben.

Stories brauchen eine zusätzliche Prüfung der Voraussetzungen: Metas Dokumentation zum Facebook-Login beschränkt das Veröffentlichen von Stories auf Business-Konten. Dass ein Format in den Eingaberegeln von Hub auftaucht, belegt nicht, dass dein Konto es veröffentlichen kann. Bestätige das verbundene Konto und sein Zustellergebnis, bevor du dich auf dieses Format verlässt.

Verbinde den Assistenten und prüfe seine Befugnisse

  1. Verbinde dein Instagram-Konto in Hub. Die zurückgegebene Kanal-ID identifiziert diese Verbindung; ein Instagram-Benutzername ersetzt sie nicht.
  2. Füge den Endpunkt von Hub in einem Client hinzu, der Remote-MCP über Streamable HTTP unterstützt. Folge seinem OAuth-Flow, oder verwende einen vom Inhaber erstellten Hub-Schlüssel, wenn der Client das unterstützt. Einrichtung und Verfügbarkeit hängen vom Client ab. Bewahre Zugangsdaten in seiner sicheren Konfiguration auf.
  3. Auf dem OAuth-Zustimmungsbildschirm von Hub wählst du Berechtigungen, Kanäle, Modus, Tageslimit und Laufzeit. Der Freigabemodus bereitet die Arbeit für die Genehmigung durch eine Person vor. Der Autopilot erlaubt das Veröffentlichen innerhalb der Delegation. Den erteilten Zugriff siehst du in Agenten ein oder widerrufst ihn dort.
  4. Rufe whoami und list_channels auf. Prüfe den tatsächlichen Modus und verwende die zurückgegebene Instagram-Kanal-ID. Lies list_platforms für die aktuellen Regeln.
  5. Bereite erreichbare Medien vor. Verwende register_media, um eine bestehende öffentliche URL zu prüfen, oder request_upload_url, um eine lokale Datei hochzuladen. Halte die resultierende URL bis zum geplanten Veröffentlichungszeitpunkt erreichbar.

Die vollständige Verbindungsabfolge und den Ergebnisvertrag findest du im Leitfaden zum MCP-Workflow. Einen Konnektor hinzuzufügen oder einen Prompt einzufügen autorisiert für sich allein kein Instagram-Konto.

Verbinde Mellow Hub in Claude zuerst mit reinem Lesezugriff

In einem Claude-Konto, in dem benutzerdefinierte Konnektoren verfügbar sind, öffnest du Anpassen → Konnektoren → Benutzerdefinierten Konnektor hinzufügen. Verwende den Namen Mellow Hub und die Remote-MCP-Server-URL https://www.mellow.world/mcp. Wenn du ihn schon hinzugefügt hast, verwende diesen bestehenden Konnektor. Claude kann die Authentifizierungseinstellungen von dieser Adresse aus ermitteln.

VerbindungseinstellungWert
TransportStreamable HTTP
AuthentifizierungImmer erforderlich
OAuth-ClientWird automatisch per DCR registriert; kein Client-Secret zum Kopieren.
  1. Öffne den Konnektor und wähle Verbinden. Melde dich bei Mellow an, wenn du dazu aufgefordert wirst. Der Zustimmungsbildschirm sollte Claude als anfragende Anwendung ausweisen.
  2. Lass für eine erste Prüfung nur channels:read und posts:read ausgewählt. Sie erlauben, die Verbindung zu lesen und eine Eingabe zu validieren. Sie erlauben weder das Hochladen von Medien noch das Erstellen von Beiträgen oder das Veröffentlichen.
  3. Wähle deinen konkreten Instagram-Kanal und den Freigabemodus. Lege eine kurze Laufzeit fest, etwa einen Tag, und ein Tageslimit. Eine leere Kanalauswahl wird abgelehnt; der Zugriff auf künftige Kanäle erfordert eine ausdrückliche Entscheidung.
  4. Prüfe und genehmige diese Delegation selbst. Zurück in Claude bestätigst du, dass der Konnektor verbunden ist. Bitte Claude, whoami und dann list_channels aufzurufen, um die erlaubte Kanal-ID zu erhalten. Prüfe die erteilten Berechtigungen, Kanäle und die Laufzeit in der Zugriffsliste von Hub: Ein Client zeigt womöglich nur die Textzusammenfassung des Tools an, die nicht jedes strukturierte Feld enthält.
Verwende nur Mellow Hub. Rufe whoami auf, dann list_channels.
Verwende den einen Instagram-Kanal, den ich autorisiert habe. Rufe validate_post zweimal auf, mit
caption "Mellow test - example only": zuerst mit media [], dann mit
media ["https://example.com/test.jpg"]. Das sind Beispieleingaben.
Rufe die URL nicht ab und lies keine bestehenden Beiträge. Berichte jedes Validierungsergebnis.
Erstelle, plane, storniere oder veröffentliche nichts.

Wenn Claude ein Tool verwenden möchte, prüfe seinen Namen und seine Eingabe, bevor du den Aufruf erlaubst. Erlaube für diese Prüfung jeden Aufruf einmal. Die Beispiel-URL testet nur die Eingaberegeln; sie ist kein echtes Bild zum Veröffentlichen. Die Validierung lädt die Medien nicht herunter und beweist keine Zustellung an Instagram.

Was die echte Verbindungsprüfung ergeben hat

Am 9. September 2026 hat eine echte Claude-Web-Verbindung OAuth mit nur channels:read posts:read, einem Instagram-Kanal, Freigabemodus und einer Laufzeit von einem Tag abgeschlossen. Claude hat whoami, list_channels und zweimal validate_post aufgerufen. Wir haben die Tool-Antworten und die Zusammenfassung des Assistenten geprüft.

EingabeBeobachtetes Ergebnis
Beitragstext ohne MedienAbgelehnt: Instagram braucht mindestens ein Medienelement.
Derselbe Beitragstext mit der Beispiel-Bild-URLHat die Eingabeprüfung für einen Kanal bestanden.

Bei dieser Prüfung wurde kein Beitrag erstellt oder veröffentlicht. Anschließend haben wir den Testzugriff unter Agenten widerrufen und verifiziert, dass sowohl sein Access-Token als auch sein Refresh-Token widerrufen wurden. Das belegt diesen konkreten Verbindungs- und Validierungsablauf, nicht die Veröffentlichung auf Instagram oder die Kompatibilität mit jeder Client-Konfiguration.

Für deinen eigenen Entwurf gibst du einen echten Beitragstext und erreichbare Medien an. Braucht eine spätere Aufgabe Schreibzugriff, genehmige eine neue Delegation mit den nötigen Berechtigungen. Das Erneuern eines Tokens verlängert die gewählte Zugriffslaufzeit nicht.

Wähle das Format, bevor du validierst

Hub setzt für Instagram derzeit ein Limit von 2.200 Zeichen für den Beitragstext und einen Gesamtbereich von 110 Medienelementen durch. Platzierungen engen diesen Bereich ein. Das sind die Eingaberegeln, die Hub durchsetzt; sie können konservativer sein als Instagrams eigener Editor.

BeitragPlatzierung in HubVorzubereitende Eingabe
Foto im FeedtimelineEin Bild.
Foto-KarusselltimelineZwei bis 10 Bilder in der gewünschten Reihenfolge.
ReelreelsGenau ein Video. shareToFeed steuert, ob es auch im Haupt-Feed geteilt wird.
StorystoriesGenau ein Bild oder Video, sofern das Konto dafür berechtigt ist.

Hub lehnt derzeit eine Mischung aus erkannten Bild- und Video-URLs in einem Beitrag ab. Verwende für die Karussell-Eingabe nur einen Medientyp. Das ist eine Einschränkung von Hub, keine Behauptung, dass Instagram selbst nie gemischte Karussells unterstützt.

Das Verhalten der Platzierungen dokumentiert Post for Me. Dateigröße, Codecs, Seitenverhältnis und Dauer müssen weiterhin die Anforderungen von Instagram erfüllen. Der Eingabe-Validator von Hub lädt die Datei nicht herunter und misst sie nicht, und bei einer URL ohne erkennbare Dateiendung kann der Medientyp unbestimmt bleiben.

Drei Beitragseingaben, die du anpassen kannst

Übergib eines dieser Objekte als Argumente an validate_post. Ersetze die Beispiel-Kanal-ID, die Medien-URLs, den Beitragstext und den Zeitstempel aus 2030 durch deine eigenen Werte. Das Datum ist bewusst nur ein Beispiel; verwende ein explizites UTC-Z oder einen Zeitzonen-Offset. Diese Payloads werden mit einem synthetischen Kanal gegen den Parser und den Validator von Hub geprüft. Es sind keine echten Veröffentlichungsbelege von Instagram.

One feed photo

{
  "channels": [
    "spc_your_instagram_channel"
  ],
  "scheduledAt": "2030-01-15T10:00:00Z",
  "caption": "A closer look at the glaze on this cup.",
  "media": [
    "https://cdn.example.com/your-cup.jpg"
  ],
  "options": {
    "instagram": {
      "placement": "timeline"
    }
  }
}

An ordered photo carousel

{
  "channels": [
    "spc_your_instagram_channel"
  ],
  "scheduledAt": "2030-01-15T10:00:00Z",
  "caption": "From clay to finished cup, in three stages.",
  "media": [
    "https://cdn.example.com/your-clay.jpg",
    "https://cdn.example.com/your-process.jpg",
    "https://cdn.example.com/your-cup.jpg"
  ],
  "options": {
    "instagram": {
      "placement": "timeline"
    }
  }
}

One Reel

{
  "channels": [
    "spc_your_instagram_channel"
  ],
  "scheduledAt": "2030-01-15T10:00:00Z",
  "caption": "How this handle is attached.",
  "media": [
    "https://cdn.example.com/your-process.mp4"
  ],
  "options": {
    "instagram": {
      "placement": "reels",
      "shareToFeed": true
    }
  }
}

Eine echte Medien-URL muss für den Veröffentlichungsdienst erreichbar sein, wenn er sie abruft. Meta beschreibt diese Anforderung in seiner Referenz zur Inhaltsveröffentlichung. Ein lokaler Pfad, ein Link zu einem privaten Cloud-Speicher oder eine abgelaufene signierte URL sind kein brauchbarer Ersatz.

Behebe das gemeldete Problem, bevor du den Beitrag erstellst

Lies ok, issues und notes im Validierungsergebnis. Eine erfolgreiche HTTP-Anfrage kann trotzdem ok: false enthalten. Das Problem benennt den betroffenen Kanal und das betroffene Feld.

ProblemcodeWas zu ändern ist
channel_not_connectedSchließe die Verbindung des Kontos ab und verwende die zurückgegebene Kanal-ID.
media_requiredFüge Medien hinzu; Instagram kann über diesen Ablauf keinen reinen Textbeitrag veröffentlichen.
media_too_manyReduziere die Auswahl auf das aktuelle Maximum von Hub, 10; für ein Reel oder eine Story gilt ein kleineres Limit.
reel_media_countVerwende ein Video pro Reel. Für mehrere Reels bereitest du separate Beiträge vor.
reel_needs_videoLiefere für ein Reel ein Video, oder wähle für Fotos die Feed-Platzierung.
story_media_countVerwende ein Element pro Story-Anfrage.
media_kinds_mixedHalte erkannte Bilder und Videos in getrennten Hub-Beiträgen.
caption_too_longKürze den Beitragstext auf höchstens 2.200 Zeichen.

Probiere den kostenlosen Beitrags-Check aus, bevor du ein Konto verbindest. Er verwendet dieselben Eingaberegeln mit Beispielzielen. Die authentifizierte Validierung prüft tatsächlich verbundene Kanäle; keines der beiden Ergebnisse garantiert die spätere Zustellung durch den Anbieter.

Plane einmal und prüfe das Ergebnis auf Instagram

Nach einer erfolgreichen Prüfung rufst du create_post mit demselben vorgesehenen Beitrag und einem stabilen idempotencyKey auf, zum Beispiel ceramics-instagram-reel-slot-001. Das Erstellen ist der Schritt, der die eigentliche Veröffentlichung vorbereitet oder plant. Im Freigabemodus wartet sie auf die Genehmigung; im Autopilot kann sie zur gewählten Zeit weiterlaufen. Prüfe zuerst das aktuelle Kontingent deines Tarifs.

Bewahre die zurückgegebene Beitrags-ID auf. Geht die Antwort auf das Erstellen verloren, wiederhole dieselbe Anfrage mit demselben Schlüssel. Erzeuge keinen neuen Schlüssel nur wegen eines Timeouts. Ein geänderter Beitrag braucht einen neuen Schlüssel.

Rufe get_post auf und sieh dir den Instagram-Eintrag in targets an. Lies seinen endgültigen Status, die öffentliche URL oder den Fehler. Dass Hub einen Beitrag annimmt, beweist nicht, dass Instagram ihn veröffentlicht hat. Bei einer Anfrage an mehrere Netzwerke kann ein anderes Ziel erfolgreich sein, während Instagram fehlschlägt.

Für Server-Integrationen, die HTTP direkt verwenden, liefert das REST-Rezept zum Planen die entsprechenden Anfragen und den Idempotenz-Header. Für die erste Einrichtung verbinde deinen Instagram-Kanal und validiere einen Entwurf, bevor du einen wiederkehrenden Zeitplan vorbereitest.