Authentifizierung
Jede Anfrage an https://mcp.postnext.io/api benötigt einen Authorization-Header mit einem Bearer-Token. Du hast zwei Wege, eines zu erhalten.
OAuth (empfohlen für KI-Clients)
KI-Clients führen beim ersten Verbinden Dynamic Client Registration durch und leiten den Nutzer durch einen OAuth-Zustimmungsbildschirm. Die Seite /mcp/connect erledigt das automatisch. Dein Client erhält ein 30-Tage-Access-Token.
API-Schlüssel
Für Skripte und CI generierst du einen persönlichen API-Schlüssel in der PostNext-App unter Account → API-Schlüssel. Der Schlüssel beginnt mit apikey_ und wird wie jeder Bearer-Token präsentiert.
Endpoint
Alle Tool-Aufrufe gehen an einen einzigen JSON-RPC-2.0-Endpoint per HTTPS POST.
Tools
list_scheduled_posts
Listet deine geplanten Beiträge auf (zur Veröffentlichung vorgemerkt, aber noch nicht gesendet).
Argumente
limitfromRückgabewert
Ein Objekt mit posts: [{id, platform, content, scheduledAt, status}]. Bis zu limit Einträge.
Beispiel
curl -X POST https://mcp.postnext.io/api \
-H "Authorization: Bearer apikey_xxx" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/call","id":1,
"params":{"name":"list_scheduled_posts",
"arguments":{"limit":5}}}'
list_drafts
Listet deine Entwürfe auf (noch nicht geplant).
Argumente
limitRückgabewert
Ein Objekt mit drafts: [{id, platform, content, updatedAt}]. Bis zu limit Einträge.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":2,
"params":{"name":"list_drafts","arguments":{"limit":10}}}
list_connected_accounts
Listet die mit deinem Team verbundenen Social-Accounts auf.
Argumente
Keine Argumente.
Rückgabewert
Ein Objekt mit accounts: [{platform, handle, connected, lastSyncAt}].
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":3,
"params":{"name":"list_connected_accounts","arguments":{}}}
get_account_healthBezahlpaket
Ruft eine Gesundheitszusammenfassung über alle verbundenen Plattformen ab.
Argumente
platformwindowDaysRückgabewert
Ein Objekt mit windowDays, postsScheduled, postsPublished, postsFailed, einer byPlatform-Aufschlüsselung und topErrors[].
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":4,
"params":{"name":"get_account_health",
"arguments":{"windowDays":30}}}
create_post_draft
Erstellt einen neuen Entwurf. Entwürfe werden nicht automatisch veröffentlicht.
Argumente
platformcontentmediaUrlsclientRequestIdRückgabewert
Ein Objekt mit dem neuen Entwurf: {id, platform, content, status: "DRAFT", createdAt}.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":5,
"params":{"name":"create_post_draft",
"arguments":{"platform":"twitter",
"content":"Hello from MCP"}}}
update_post_draft
Aktualisiert einen bestehenden Entwurf. Mindestens eines von content oder mediaUrls muss angegeben werden.
Argumente
postIdcontentmediaUrlsclientRequestIdRückgabewert
Ein Objekt mit dem aktualisierten Entwurf: {id, platform, content, mediaUrls, status, updatedAt}.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":6,
"params":{"name":"update_post_draft",
"arguments":{"postId":"",
"content":"Updated copy"}}}
connect_channel
Generiert eine Einmal-URL, die der Nutzer öffnen kann, um eine neue Plattformverbindung zu autorisieren.
Argumente
platformRückgabewert
Ein Objekt mit authUrl (einmaliger Link, den der Nutzer zur Autorisierung öffnet), expiresAt und platform.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":7,
"params":{"name":"connect_channel",
"arguments":{"platform":"linkedin"}}}
schedule_post
Verschiebt einen Entwurf (Status DRAFT) zu einem zukünftigen Zeitpunkt in die BullMQ-Veröffentlichungs-Queue. Idempotent innerhalb von ±60s Drift; lehnt Re-Scheduling-Versuche zu anderer Zeit ohne explizites Cancel ab.
Argumente
postIdscheduledAtRückgabewert
Ein Objekt mit postId, scheduledAt (ISO), status: SCHEDULED.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":8,
"params":{"name":"schedule_post",
"arguments":{"postId":"",
"scheduledAt":"2026-05-10T09:00:00Z"}}}
cancel_scheduled_post
Storniert einen geplanten Beitrag und entfernt ihn aus der Queue. Der zugrundeliegende Entwurf bleibt erhalten.
Argumente
postIdRückgabewert
Ein Objekt mit postId und status: CANCELLED.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":9,
"params":{"name":"cancel_scheduled_post",
"arguments":{"postId":""}}}
delete_draft
Löscht einen Entwurf dauerhaft. Lehnt Nicht-DRAFT-Beiträge ab (für SCHEDULED nutze cancel_scheduled_post).
Argumente
postIdRückgabewert
Ein Objekt mit postId und deleted: true.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":10,
"params":{"name":"delete_draft",
"arguments":{"postId":""}}}
get_post
Liefert die vollständige PostGroup für eine postId mit Provider-Inhalten je Plattform + Status + Zeitstempeln.
Argumente
postIdRückgabewert
Ein Objekt mit postId, status, scheduledAt, createdAt, updatedAt und providers (Map: Plattform → Inhalt).
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":11,
"params":{"name":"get_post",
"arguments":{"postId":""}}}
search_posts
Substring-Suche (case-insensitive) über Beitragsinhalte des aktiven Teams. Filter: status, platform, limit (1-100, Standard 20).
Argumente
querystatusplatformlimitRückgabewert
Ein Objekt mit posts: [{postId, status, platforms, snippet, scheduledAt, updatedAt}]. Snippet enthält den passenden Kontext mit Auslassungspunkten beidseitig.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":12,
"params":{"name":"search_posts",
"arguments":{"query":"launch","limit":10}}}
list_teams
Gibt die Teams zurück, deren Eigentümer oder Admin der angemeldete Nutzer ist, mit Markierung des aktiven Teams.
Argumente
Keine Argumente.
Rückgabewert
Ein Objekt mit currentTeamId und teams: [{teamId, teamName, isCurrent}].
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":13,
"params":{"name":"list_teams","arguments":{}}}
set_current_team
Wechselt das aktive Team für diesen Bearer-Token. Der Nutzer muss Mitglied sein. Persistent auf dem OAuth-Token-Dokument; In-Session-Mutation macht es sofort für nachfolgende Tools im selben Gespräch wirksam.
Argumente
teamIdRückgabewert
Ein Objekt mit teamId, teamName, persisted (true bei OAuth, false bei API-Key) und optionalem note.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":14,
"params":{"name":"set_current_team",
"arguments":{"teamId":"team_xxxxx"}}}
get_plan_limits
Liest den aktuellen Subscription-Tier des Nutzers und die Quotas pro Tier (Kanäle, Speicher, KI-Credits, Posten). Auf jedem Plan verfügbar. Nützlich vor mutierenden Tools, um vorherzusagen, ob der Aufruf blockiert wird.
Argumente
Keine Argumente.
Rückgabewert
Ein Objekt mit tier, tierDisplayName, isPaid, isTrial, upgradeUrl, limits (channels/storage/aiCalls/posts jeweils als {limit, current, exceeded} oder {limit, allowed}) und creditsAvailable ({total, subscriptionRemaining, purchasedBalance} oder null).
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":15,
"params":{"name":"get_plan_limits","arguments":{}}}
get_post_metrics
Holt Engagement-Metriken für einen veröffentlichten Beitrag über alle Plattformen, auf denen er erschienen ist. Twitter und Instagram liefern populierte Metriken (Likes, Retweets/Shares, Kommentare/Antworten, Impressions); LinkedIn, Threads und TikTok liefern nur Veröffentlichungsstatus und URL (Engagement-Erfassung folgt in einem späteren Release). Eine normalisierte totals-Zusammenfassung addiert Likes/Kommentare/Shares/Impressions über alle Plattformen, die Werte gemeldet haben.
Argumente
postId PostNext-Post-ID aus einem Listenaufruf.
Rückgabewert
Ein Objekt mit postId, status, providers: [{platform, publishedPostId, publishedUrl, publishedAt, status, metrics}] und totals: {likes, comments, shares, impressions}. metrics ist ein Objekt mit numerischen Zählern pro Plattform oder null, wenn die Plattform noch keine Engagement-Daten erfasst.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":16,
"params":{"name":"get_post_metrics",
"arguments":{"postId":""}}}
get_publish_status
Diagnostiziert einen geplanten Beitrag: Queue-Status, Erfolg/Fehler pro Plattform, Verarbeitungszeit und Worker-Job-ID. Gibt isScheduled=false zurück für Beiträge, die als Entwurf existieren, aber nicht in die Veröffentlichungsqueue verschoben wurden, mit einem Hinweis auf schedule_post.
Argumente
postId PostNext-Post-ID aus einem Listenaufruf.
Rückgabewert
Ein Objekt mit postId, isScheduled, status, scheduledAt, publishedAt, platforms, processingTimeMs, jobId, topLevelError und results: [{platform, success, publishedPostId, publishedAt, error}]. Enthält hint, wenn isScheduled false ist.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":17,
"params":{"name":"get_publish_status",
"arguments":{"postId":""}}}
update_brand_profile
Aktualisiert das aktive Markenprofil des Nutzers. Erlaubte Felder: bio, brandVoice, personalityTraits, mainThemes, expertiseAreas, preferredHashtags, audienceSize. Alles andere wird stillschweigend verworfen. "Aktiv" wird zuerst als Team-Default aufgelöst, dann das erste eigene aktive Profil des Nutzers.
Argumente
brandVoice Array von Markenstimme-Deskriptoren (z. B. ["professionell", "präzise"]).
Other patchable fields: bio, personalityTraits, mainThemes, expertiseAreas, preferredHashtags, audienceSize.
Rückgabewert
Ein Objekt mit profileId, name, updated: [Feldnamen, die gepatcht wurden] und den aktuellen Werten von bio, brandVoice, personalityTraits, mainThemes, expertiseAreas, preferredHashtags, audienceSize nach dem Patch.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":18,
"params":{"name":"update_brand_profile",
"arguments":{"brandVoice":["professional","concise"]}}}
get_best_time_to_post Bezahlter Plan
Empfiehlt die besten N (Wochentag, Stunde) Slots für den nächsten Beitrag auf einer Plattform, sortiert nach Engagement pro Beitrag der letzten 90 Tage. Twitter und Instagram liefern engagement-gewichtete Scores; LinkedIn, Threads, TikTok sortieren nur nach Beitragshäufigkeit. Zeiten in der angegebenen IANA-Zeitzone (Standard UTC). Bezahlplan erforderlich.
Argumente
platform Social-Plattform: twitter, instagram, linkedin, threads oder tiktok.
timezone IANA-Zeitzonenname (z. B. Europe/Berlin, America/New_York). Standard UTC.
topN Anzahl der Slot-Empfehlungen (1-24, Standard 5).
Rückgabewert
Ein Objekt mit platform, timezone, sampleWindowDays, sampleSize, metricsAvailable und recommendations: [{dayOfWeek (1-7, Mo=1), dayLabel, hour (0-23), score, basedOn: {posts, avgEngagement}}]. Enthält hint für Cold-Start- oder Metriken-fehlen-Fälle.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":19,
"params":{"name":"get_best_time_to_post",
"arguments":{"platform":"twitter","timezone":"Europe/Berlin","topN":5}}}
get_channel_analytics
Gesamtleistung eines verbundenen Kanals oder aller Kanäle auf einmal. Liefert Impressionen, Reichweite, Likes, Kommentare und Engagement-Rate für den Zeitraum, die Veränderung gegenüber dem gleich langen Zeitraum davor und die Follower-Entwicklung. Ohne platform kommt die Summe des ganzen Teams. Für einen einzelnen Beitrag get_post_metrics, für die Planung get_best_time_to_post.
Argumente
platform Social-Plattform: twitter, instagram, linkedin, threads oder tiktok.
channelName Welches verbundene Konto, wenn die Plattform mehr als eines hat.
period Zeitraum: 7d, 30d, 90d oder all (Standard 30d).
Rückgabewert
Ein Objekt mit scope, period, totals, vsPrevious, coverage, dataThrough und followers, das trackingSince, current, change und die Zeitreihe enthält.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":34,
"params":{"name":"get_channel_analytics",
"arguments":{"platform":"linkedin","period":"30d"}}}search_tools
Durchsucht den MCP-Tool-Katalog nach Freitext, Kategorie oder Absicht. Liefert Kategorien, requiresScope, einzeilige Beschreibungen und passende Use-Case-Tags. Auf jedem Plan verfügbar (Discovery-Oberfläche).
Argumente
All optional. Call with no arguments to list every available tool.
query Freitextsuche über Tool-Namen, Beschreibungen und Use-Case-Tags.
category Auf eine Kategorie filtern: posts, accounts, analytics, brand, teams, discovery, other.
Rückgabewert
Ein Objekt mit totalTools, matchCount, categories: [string[]] und tools: [{name, category, requiresScope, description, useCases, matchedOn: [name|category|description|use_case]}]. Enthält hint bei keinem Treffer oder keinem Filter.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":20,
"params":{"name":"search_tools",
"arguments":{"query":"why did my post fail"}}}
get_plan
Tarif und Abrechnungstermine: Stufe, Verlängerungsdatum, Testende und ob das Abo zum Periodenende gekündigt wird. Für Kontingente und Verbrauch stattdessen get_plan_limits aufrufen.
Argumente
Keine Argumente.
Rückgabewert
Ein Objekt mit tier, tierDisplayName, isPaid, isTrial, gated, subscriptionStatus, renewsAt, trialEndsAt, cancelAtPeriodEnd, currency und upgradeUrl.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":21,
"params":{"name":"get_plan",
"arguments":{}}}
upload_asset
Bild- oder Video-Upload direkt als Base64 in die Mediathek. Nur für sehr kleine Dateien zuverlässig, etwa 8 KB oder weniger: größere Daten werden in den Tool-Argumenten stillschweigend abgeschnitten und als defekte Datei gespeichert. Für alles Größere request_asset_upload verwenden.
Argumente
filename Dateiname samt Endung, bis zu 255 Zeichen.
contentType MIME-Typ der Datei, aus der erlaubten Liste für Bilder und Videos.
base64 Die Dateibytes, base64-kodiert. Sehr klein halten und zuerst den Hinweis oben lesen.
Rückgabewert
Ein Objekt mit assetId, url, sizeBytes und mimeType. Die url als mediaUrls an create_post_draft übergeben.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":22,
"params":{"name":"upload_asset",
"arguments":{"filename":"logo.png","contentType":"image/png","base64":"iVBORw0KGgo..."}}}
request_asset_upload
Der empfohlene Upload-Weg für Bilder und Videos jeder Größe. Zwei Schritte: dieses Tool aufrufen und eine vorsignierte URL samt fertigem curl-Befehl erhalten, dann die Datei per PUT an diese URL senden. Die Antwort auf das PUT enthält die endgültige Asset-URL.
Argumente
filename Dateiname samt Endung, bis zu 255 Zeichen.
contentType MIME-Typ der Datei, aus der erlaubten Liste für Bilder und Videos.
sizeBytes Genaue Dateigröße in Bytes, wird zum Signieren des Uploads verwendet.
Rückgabewert
Ein Objekt mit uploadId, uploadUrl, uploadToken, expiresInSeconds und instructions mit dem genauen PUT-Befehl.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":23,
"params":{"name":"request_asset_upload",
"arguments":{"filename":"clip.mp4","contentType":"video/mp4","sizeBytes":4194304}}}
get_latest_blog_post
Ob das Team einen WordPress-Blog verbunden hat, plus ein Auszug des neuesten Beitrags. Nur lesend und ohne Credit-Kosten. Vor create_blog_plan oder test_blog_connection aufrufen, um zu sehen, was bereits eingerichtet ist.
Argumente
Keine Argumente.
Rückgabewert
Ein Objekt mit blogConnected, einer Zusammenfassung der Integration ohne Zugangsdaten und latestPost mit Titel, Auszug, Status und veröffentlichter URL.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":24,
"params":{"name":"get_latest_blog_post",
"arguments":{}}}
list_blog_plans
Listet die Blogpläne des Teams auf, neueste zuerst, mit Status, Themenanzahl je Status, reservierten Credits und einem Link ins Dashboard. Nur lesend und ohne Credit-Kosten.
Argumente
limit Maximale Anzahl zurückgegebener Pläne (1-50, Standard 20).
status Nach Status filtern: generating, active, paused, completed, cancelled oder failed.
Rückgabewert
Ein Objekt mit plans und total. Jeder Plan enthält id, Status, Themenanzahl und den Dashboard-Link.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":25,
"params":{"name":"list_blog_plans",
"arguments":{"status":"active","limit":10}}}
create_blog_plan Bezahlter Plan
Erstellt einen Blog-Contentplan für ein Markenprofil. Die Themen werden asynchron erzeugt, der Plan kommt also sofort im Status generating zurück: den Fortschritt mit list_blog_plans abfragen. In den Tarifen Business und Teams werden die Beiträge zusätzlich erzeugt und auf einem verbundenen WordPress-Blog veröffentlicht.
Argumente
startDate Erster Tag, den der Plan abdeckt, als YYYY-MM-DD.
planDays Wie viele Tage der Plan abdeckt (1-30, Standard 7).
brandProfileId Markenprofil, für das geplant wird. Standard ist das aktive Profil des Teams.
integrationId Welcher verbundene Blog verwendet wird, wenn das Team mehrere hat.
autoPublish Die erzeugten Beiträge automatisch auf dem verbundenen Blog veröffentlichen (Business und Teams).
Rückgabewert
Ein Objekt mit planId, status, startDate, planDays, brandProfileId, integrationId, topicCount und dashboardUrl.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":26,
"params":{"name":"create_blog_plan",
"arguments":{"startDate":"2026-10-01","planDays":14,"autoPublish":true}}}
test_blog_connection Bezahlter Plan
Prüft, ob der verbundene WordPress-Blog antwortet und sein Token noch gültig ist, und hält das Ergebnis an der Integration fest. Liefert die Plugin-Version und dessen Fähigkeiten zurück.
Argumente
integrationId Welcher verbundene Blog verwendet wird, wenn das Team mehrere hat.
Rückgabewert
Ein Objekt mit success, message, version, capabilities, integrationId und dem aktualisierten status.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":27,
"params":{"name":"test_blog_connection",
"arguments":{}}}
list_mini_sites
Listet die Bio-Seiten des ausgewählten Teams mit öffentlicher URL, Veröffentlichungsstatus und Einrichtungsfortschritt. Hier anfangen: jedes andere Bio-Seiten-Tool nimmt die siteId aus dieser Antwort und kann sie weglassen, wenn das Team genau eine Seite hat.
Argumente
Keine Argumente.
Rückgabewert
Ein Objekt mit sites, die jeweils id, slug, name, published, url, views und den Einrichtungsfortschritt enthalten.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":28,
"params":{"name":"list_mini_sites",
"arguments":{}}}
get_mini_site
Liest eine Bio-Seite vollständig: Profilkopf, Social-Icons, alle Inhaltsblöcke, SEO-Metadaten, Design und Auto-Pin-Einstellungen. Lange Texte werden auf eine Vorschau von 300 Zeichen gekürzt, Zugangsdaten werden nie zurückgegeben.
Argumente
siteId Auf welche Bio-Seite sich der Aufruf bezieht. Weglassen, wenn das Team genau eine hat.
Rückgabewert
Ein Objekt mit id, slug, published, url, header, socials, meta, theme, autoPin, campaign und dem Array blocks.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":29,
"params":{"name":"get_mini_site",
"arguments":{}}}
get_mini_site_analytics
Wie eine Bio-Seite abschneidet: Aufrufe, Klicks, beste Links, Herkunft, Gerät und Land der Besucher sowie Zugriffe von KI-Crawlern, dazu welche veröffentlichten Beiträge Klicks gebracht haben. Alle Werte außer den Attributionszeilen sind Gesamtzähler und nicht auf den Zeitraum bezogen: das beim Berichten dazusagen.
Argumente
siteId Auf welche Bio-Seite sich der Aufruf bezieht. Weglassen, wenn das Team genau eine hat.
attributionDays Zeitfenster in Tagen für die Zuordnung von Beitrag zu Klick (1-90, Standard 30).
Rückgabewert
Ein Objekt mit viewsAllTime, clicksAllTime, topLinks, bySource, byDevice, byCountry, ai, attribution und attributionWindowDays.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":30,
"params":{"name":"get_mini_site_analytics",
"arguments":{"attributionDays":30}}}
add_mini_site_block
Fügt einer Bio-Seite einen Block hinzu: link, featured, product, event, presave, podcast-Folge, booking, Öffnungszeiten, header, text, image oder gallery. Die Pflichtfelder unterscheiden sich je Typ. Das ändert eine öffentlich sichtbare Seite sofort.
Argumente
siteId Auf welche Bio-Seite sich der Aufruf bezieht. Weglassen, wenn das Team genau eine hat.
type Typ des Blocks, der hinzugefügt wird, etwa link, product, event, hours oder gallery.
... Dazu die Felder des jeweiligen Blocktyps, etwa url, title, price oder startDate.
Rückgabewert
Ein Objekt mit dem gespeicherten block, dem neuen blockCount und alreadyExisted, falls derselbe Block bereits vorhanden war.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":31,
"params":{"name":"add_mini_site_block",
"arguments":{"type":"link","url":"https://example.com","title":"New single"}}}
update_mini_site_block
Ändert einen vorhandenen Block: Titel oder URL eines Links, den Preis eines Produkts, ein Veranstaltungsdatum, Öffnungszeiten oder die Reihenfolge. Nur die übergebenen Felder ändern sich, der Blocktyp lässt sich nicht ändern. Die Antwort liefert den Block so, wie er gespeichert wurde, ein abgelehnter Wert ist damit sichtbar.
Argumente
siteId Auf welche Bio-Seite sich der Aufruf bezieht. Weglassen, wenn das Team genau eine hat.
blockId Id des Blocks, wie von get_mini_site zurückgegeben.
... Dazu die Felder des jeweiligen Blocktyps, etwa url, title, price oder startDate.
Rückgabewert
Ein Objekt mit dem gespeicherten block, der Liste der geänderten Felder und den ignorierten Feldern.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":32,
"params":{"name":"update_mini_site_block",
"arguments":{"blockId":"blk_7f3a","title":"Updated title"}}}
remove_mini_site_block
Entfernt einen Block von einer Bio-Seite anhand seiner blockId, etwa einen vergangenen Tourtermin oder einen ausgelaufenen Produktlink. Die id vorher mit get_mini_site holen. Das ändert eine öffentlich sichtbare Seite sofort.
Argumente
siteId Auf welche Bio-Seite sich der Aufruf bezieht. Weglassen, wenn das Team genau eine hat.
blockId Id des Blocks, wie von get_mini_site zurückgegeben.
Rückgabewert
Ein Objekt mit removed, der blockId und der Anzahl verbleibender Blöcke.
Beispiel
{"jsonrpc":"2.0","method":"tools/call","id":33,
"params":{"name":"remove_mini_site_block",
"arguments":{"blockId":"blk_7f3a"}}}
MCP-Ressourcen
Ressourcen sind nur lesbarer Kontext, den der Client per MCP-resources/read-Methode abrufen kann. Claude lädt sie zu Beginn jedes Gesprächs, sodass Account-/Team-/Brand-Kontext vorhanden ist, ohne dass du jedes Mal neu erklären musst.
postnext://account/summary
Konto-E-Mail und Handle (damit Claude bestätigen kann, mit welchem Konto es arbeitet), Plan, KI-Credits genutzt / Limit, Entwurfsanzahl, geplante Beiträge, verbundene Kanäle. Zählungen jeweils auf 100 begrenzt für schnelles Laden.
postnext://channels/connected
Gleiche Form wie das Ergebnis von list_connected_accounts; als Ressource exponiert, sodass Claude es zu Gesprächsbeginn einmalig lädt (kein Tool-Aufruf-Roundtrip).
postnext://brand-profiles/active
Das aktive Markenprofil des Nutzers (Team-Standard, Fallback auf erstes eigenes Profil). Liefert nur LLM-relevante Felder: bio, expertiseAreas, personalityTraits, brandVoice, mainThemes, audienceSize, preferredHashtags.
postnext://teams/current
Aktuelle Team-Metadaten (teamId, teamName) plus totalTeamsAvailable. Kombiniere mit list_teams + set_current_team zum Wechseln.
Benannte Workflows
Slash-Menü-Shortcuts, die mehrere Tools verketten. Wähle einen aus und lass deinen KI-Assistenten mehrere Schritte durchlaufen, mit Bestätigung vor jeder Änderung.
/weekly-plan
Liest Markenprofil, verbundene Kanäle und Queue und schlägt 5-10 Entwürfe verteilt von Montag bis Freitag vor.
/draft-thread
Schreibt einen Twitter- oder Threads-Thread aus 5-10 Beiträgen zu einem Thema oder einer URL, in deiner Markenstimme.
/audit-queue
Prüft die geplanten Beiträge der nächsten 7 Tage und meldet Duplikate, Plattform-Überlastung und Lücken.
/channel-sweep
Vergleicht verbundene Kanäle mit der unterstützten Liste und schlägt vor, welche zu verbinden oder aufzufrischen sind.
Discovery- und OAuth-Endpoints
Standardkonforme Metadaten, damit jeder MCP-Client sich selbst konfigurieren kann.
GET /.well-known/oauth-protected-resource/api— RFC 9728GET /.well-known/oauth-authorization-server— RFC 8414GET /oauth/.well-known/openid-configuration— OIDCPOST /oauth/reg— Dynamic Client Registration (RFC 7591)GET /oauth/auth— Authorize (PKCE-S256 required)POST /oauth/token— Token exchange
Open Source
Sofort einsetzbare Rezepte und eine entwicklerfreundliche Referenz finden Sie in unserem öffentlichen Docs-Repo. MIT-lizenziert; Pull Requests willkommen. github.com/postnextio/postnext-mcp
Steuere deine Social-Kanäle aus jedem KI-Assistenten
Plane, entwirf, terminiere und prüfe Beiträge auf 7 Plattformen im Gespräch mit Claude, ChatGPT oder Cursor. Eine sichere Verbindung, jedes PostNext-Feature.