Auf X posten aus n8n
n8n führt Ihre Workflows auf ein Ereignis hin aus. Fügen Sie den MCP-Server von calmposts für X (Twitter) hinzu, und jeder neue Artikel, jedes Release, jede Tabellenzeile wird ein Beitrag für X und Bluesky, an jedes Netzwerk angepasst und in der Warteschlange wartend auf Ihr Ja.
- Verbindung
- Entfernter MCP-Server über Streamable HTTP: nichts zu installieren
- Anmeldung
- API-Schlüssel im Authorization-Header
- Serveradresse
https://calmposts.com/mcp- Wo Sie es einrichten
- Knoten MCP Client Tool oder MCP Client
Was n8n mit calmposts kann
n8n startet Workflows nach Zeitplan, per Webhook, bei einem neuen Eintrag im RSS-Feed oder einer neuen Zeile in einer Tabelle. Mit calmposts hinter einem AI-Agent-Knoten macht ein Workflow aus jedem neuen Eintrag einen Beitrag für X (Twitter) oder einen Thread und legt ihn in die Warteschlange von calmposts, wo er auf Ihre Freigabe wartet.
Es gibt zwei Wege. Das MCP Client Tool gibt einem AI-Agent-Knoten die Tools von calmposts, und das Modell wählt sie aus; der MCP-Client-Knoten ruft ein Tool als normalen Schritt auf, mit Argumenten aus früheren Knoten und ganz ohne Modell. Beide nehmen den Schlüssel aus einer n8n-Anmeldung, einmal gespeichert und von jedem Workflow genutzt.
Der MCP-Server für X (Twitter) gibt n8n 11 Tools, dieselben wie jedem anderen Client:
| Tool | Macht |
|---|---|
list_accounts | Ihre Kanäle und die Regeln jedes Netzwerks; customer_id: die eines Kunden |
list_customers | die Kunden einer Agentur mit den IDs ihrer Kanäle |
get_limits | Tarifverbrauch, Zeitzone des Arbeitsbereichs, Netzwerk-Limits |
create_post | einen Beitrag oder Thread für gewählte Konten, Text je Konto, Bilder per URL; when: draft, queue, at oder now |
list_posts | Beiträge nach Status, Konto, Kunde und Zeitraum |
get_post | einen Beitrag mit Kanälen, Status und Version |
update_post | bearbeiten oder verschieben; was fehlt, bleibt |
delete_post | stornieren und entfernen |
get_next_slot | wohin when=queue einen Beitrag legen würde |
retry_post | die gescheiterten Kanäle erneut senden |
get_post_metrics | die Zahlen eines erschienenen Beitrags pro Kanal nach 1 Std., 24 Std. und 7 Tagen (Tarife mit Statistiken); nur lesen |
calmposts in n8n einrichten
Zuerst den Schlüssel prüfen
Legen Sie in calmposts unter „API & MCP“ einen Schlüssel an (er wird einmal angezeigt) und fragen Sie den Server nach seinen Tools. Eine Liste mit 11 Tools heißt: Adresse und Schlüssel stimmen; 401 heißt: Der Schlüssel ist falsch oder ging ohne „Bearer “ hinaus.
curl -s https://calmposts.com/mcp \
-H "Authorization: Bearer cp_live_…" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# 200 {"jsonrpc":"2.0","id":1,"result":{"tools":[…]}}Weg 1: Ein AI Agent mit dem MCP Client Tool
Der Agent liest den Eintrag, schreibt den Beitrag und wählt das Tool.
Legen Sie in calmposts unter „API & MCP“ einen Schlüssel an. Legen Sie in n8n eine Bearer-Auth-Anmeldung an und fügen Sie den Schlüssel als Bearer Token ein, ohne „Bearer “: n8n ergänzt es.
Öffnen Sie im Workflow die Tools des AI-Agent-Knotens und fügen Sie MCP Client Tool hinzu.
Füllen Sie es aus:
Endpoint: https://calmposts.com/mcp Server Transport: HTTP Streamable Authentication: Bearer Auth Bearer Token: cp_live_… Tools to Include: AllSagen Sie im Prompt des Agenten, was zu tun ist, etwa „Schreib einen X-Beitrag über diesen Artikel und speichere ihn in calmposts mit when=queue“, führen Sie den Workflow einmal aus und lesen Sie die Ausgabe des Knotens.
Weg 2: Ein fester Schritt mit dem MCP-Client-Knoten
Kein Modell: Jeder Lauf ruft create_post mit den Feldern auf, die Sie zuordnen.
Fügen Sie nach Ihrem Trigger einen MCP-Client-Knoten hinzu und füllen Sie ihn aus:
MCP Endpoint URL: https://calmposts.com/mcp Server Transport: HTTP Streamable Authentication: Bearer Auth Tool: create_post Input Mode: JSONÜbergeben Sie die Argumente als JSON, mit Feldern aus früheren Knoten. ACCOUNT_ID kommt aus list_accounts: Rufen Sie dieses Tool einmal in einem eigenen MCP-Client-Knoten auf und lesen Sie die ID ab.
{ "text": "{{ $json.title }} {{ $json.link }}", "account_ids": ["ACCOUNT_ID"], "when": "queue" }
Anmelden: Schlüssel oder OAuth
Die Bearer-Auth-Anmeldung sendet bei jeder Anfrage Authorization: Bearer mit Ihrem Schlüssel, genau das, was calmposts erwartet. Ein Schlüssel läuft nicht ab und passt deshalb zu Workflows, die nachts laufen.
Wählen Sie stattdessen Header Auth, setzen Sie den Namen auf Authorization und den Wert auf Bearer cp_live_…, mit dem Leerzeichen.
n8n hat auch eine MCP-OAuth2-Anmeldung, die sich selbst registriert (Dynamic Client Registration ist standardmäßig an). calmposts akzeptiert ihre Rückleitungsadresse, wenn Ihr n8n über https oder von localhost erreichbar ist; für einen Workflow ohne Aufsicht ist ein Schlüssel einfacher.
Legen Sie für n8n einen eigenen Schlüssel nur mit den nötigen Berechtigungen an (accounts:read, posts:read, posts:write), damit Sie ihn widerrufen können, ohne Ihre anderen Agenten anzufassen.
Prüfen, ob es funktioniert
- In einem MCP-Client-Knoten füllt sich die Tool-Liste mit den 11 Tools von calmposts: Adresse und Schlüssel funktionieren.
- Führen Sie den AI Agent mit einem Testeintrag aus: Sein Log zeigt Aufrufe von list_accounts und create_post.
- Der neue Beitrag steht in calmposts unter „Beiträge“, als Entwurf oder in der Warteschlange, mit der Quelle mcp.
Prompts zum Ausprobieren
Fragen Sie in eigenen Worten; der Agent wählt die Tools. Gut funktionieren etwa:
- „Schreib zu jedem neuen RSS-Eintrag einen X-Beitrag unter 280 Zeichen mit dem Link und speichere ihn in calmposts mit when=queue für mein X-Konto.“
- „Mach aus diesen Release Notes einen kurzen Thread für X und Bluesky und speichere ihn als Entwurf.“
- „Ruf zuerst get_limits auf; sind heute weniger als 3 Beiträge übrig, speichere den Beitrag als Entwurf statt in der Warteschlange.“
- „Nutze nie when=now. Antwortet calmposts mit duplicate_recent, formuliere den Beitrag einmal neu und versuch es erneut.“
Netzwerke, Threads und Freigabe
Beiträge gehen an X und Bluesky. Auf X und Bluesky erscheint ein Thread als Antwortkette. Bald dabei: Threads und LinkedIn.
Einmal schreiben, überall posten: Der Agent schickt einen Text für alle Konten, die er wählt. Ist der Text länger, als ein Netzwerk erlaubt, veröffentlicht calmposts ihn dort als Thread aus Beiträgen, die jeweils passen, geteilt an einem Absatz, dann an einem Satzende, dann an einem Leerzeichen; nichts wird nummeriert oder ergänzt. Die Regeln jedes Netzwerks und die Kontingente des Tarifs werden vor dem Speichern geprüft, und ein Problem kommt mit dem Feld zurück, damit der Agent den Text korrigieren und es erneut versuchen kann.
Standardmäßig warten die Beiträge eines Agenten auf Sie: Sie kommen als pending_approval zurück, und Sie geben jeden in der App, in Telegram oder aus der E-Mail von calmposts frei oder lehnen ihn ab. Der Inhaber des Arbeitsbereichs kann Agenten selbst veröffentlichen lassen; dafür müssen Arbeitsbereich und API-Schlüssel beide auf Veröffentlichen stehen. X erwartet, dass ein Konto, das automatisch postet, das Label Automated trägt (Settings → Your account → Account information → Automation).
Limits und Kosten
- Agenten brauchen einen bezahlten Tarif: Free hat keine API-Schlüssel und kann keine verbundene App freigeben. API-Schlüssel je Tarif: Pro 3 · Advanced 10 · Agency 25.
- Die Beiträge eines Agenten zählen wie Ihre. Beiträge pro Tag: Pro 20 · Advanced 100 · Agency 300. Beiträge mit Link pro Monat: Pro 30 · Advanced 300 · Agency 600. Jeder Beitrag eines Threads zählt.
- Links werden getrennt gezählt, weil X jeder App $0,015 pro Beitrag und $0,20 pro Beitrag mit Link berechnet. Die Gebühren von X sind im Tarif enthalten: Sie brauchen kein eigenes X-Entwicklerkonto und keine eigene X-API-Rechnung.
- Zum Ausprobieren: 7 Tage kostenlos testen. Karte nötig. 5 Beiträge mit Link in der Testphase.
- Jeder Schlüssel darf 60 Anfragen pro Minute stellen, MCP und REST zusammen; darüber antwortet der Server mit 429 und Retry-After.
Was Sie über n8n wissen sollten
- Die Doku-Seite von n8n zum MCP Client Tool nennt das Feld noch SSE Endpoint, das gehört zur ersten Version des Knotens. Aktuelle Versionen haben Endpoint und eine Auswahl Server Transport: Wählen Sie HTTP Streamable. calmposts hat keinen SSE-Endpunkt.
- Ein RSS-Workflow setzt in jeden Beitrag einen Link, und Beiträge mit Link haben in jedem Tarif eine eigene Monatszahl, weil X für sie mehr berechnet. Prüfen Sie diese Zahl, bevor Sie den Workflow einschalten.
- Die Option Timeout der Knoten steht standardmäßig auf 60 Sekunden, weit mehr, als calmposts braucht; am längsten dauert create_post mit Bildern, während calmposts sie herunterlädt.
- Ein Workflow, der für mehrere Kunden postet, kann customer_id an list_accounts und list_posts übergeben, um bei den Kanälen eines Kunden zu bleiben.
Ohne MCP: die REST-API
Alles, was die Tools tun, ist auch ein REST-Aufruf unter /api/v1 mit demselben Schlüssel. Das passt zu einem Skript oder einem Schritt, der nur HTTP spricht. calmposts veröffentlicht über seine eigene, freigegebene X-App, der Aufruf braucht also keine X-API-Schlüssel.
export CALMPOSTS_API_KEY=cp_live_…
curl -H "Authorization: Bearer $CALMPOSTS_API_KEY" https://calmposts.com/api/v1/accounts
curl -X POST https://calmposts.com/api/v1/posts \
-H "Authorization: Bearer $CALMPOSTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"parts":[{"text":"Calm posts, scheduled."}],"targets":[{"account_id":"ACCOUNT_ID"}],"schedule":{"mode":"queue"}}'Wenn etwas nicht klappt
Der Knoten scheitert mit 401 missing_api_key
Die Anmeldung ist leer, oder bei Header Auth fehlt „Bearer “. Nutzen Sie Bearer Auth und fügen Sie nur den Schlüssel ein.
Der Knoten scheitert mit einem SSE-Fehler
Server Transport steht auf Server Sent Events (Deprecated), oder es ist die alte Knotenversion mit dem Feld SSE Endpoint. Wählen Sie HTTP Streamable und fügen Sie den Knoten bei Bedarf neu hinzu.
Der Agent ist fertig, aber kein Beitrag erscheint
Lesen Sie die Antwort des Tools im Log des Agenten: calmposts nennt das Problem, etwa no_targets (kein Konto gewählt), too_long oder quota_exceeded. Geben Sie dem Prompt eine Konto-ID oder lassen Sie ihn zuerst list_accounts aufrufen.
MCP OAuth2 bricht an einer ungültigen Rückleitungsadresse ab
calmposts akzeptiert Rückleitungsadressen mit https, mit http nur auf localhost. Stellen Sie n8n über https bereit oder nutzen Sie einen Schlüssel.
401 missing_api_key
Die Anfrage kam ohne Schlüssel oder ohne „Bearer “ davor. Senden Sie Authorization: Bearer cp_live_…, mit dem Leerzeichen.
401 invalid_api_key, api_key_revoked oder api_key_inactive
Der Schlüssel ist vertippt, wurde widerrufen, oder sein Ersteller gehört nicht mehr zum Arbeitsbereich. Legen Sie unter „API & MCP“ einen neuen an und ersetzen Sie den alten.
401 invalid_token
Das Zugriffstoken einer OAuth-Verbindung ist abgelaufen oder die Verbindung wurde getrennt. Clients erneuern es selbst; klappt das nicht, melden Sie sich neu an.
402 quota_exceeded
Ein Tariflimit ist erreicht, und field nennt es: api_keys heißt, der Tarif hat keine Agenten (Free); posts_per_day und link_posts_per_month werden am nächsten Tag oder im nächsten Monat frei, oder mit einem größeren Tarif.
403 insufficient_scope
Dem Schlüssel fehlt eine Berechtigung, die das Tool braucht; field nennt sie (posts:write zum Anlegen von Beiträgen). Legen Sie einen Schlüssel mit dieser Berechtigung an.
429 rate_limited
Von diesem Schlüssel kamen mehr als 60 Anfragen pro Minute. Warten Sie die Sekunden aus Retry-After ab.
Das Tool antwortet duplicate_recent
Derselbe Text ging in den letzten 7 Tagen an dasselbe Konto. Bitten Sie um eine neue Formulierung.
Der Beitrag steht auf pending_approval
Das ist kein Fehler: Der Beitrag wartet in calmposts auf Ihr Ja. Geben Sie ihn dort frei oder lassen Sie Agenten veröffentlichen (der Inhaber stellt das am Arbeitsbereich und am Schlüssel ein).
Das Konto steht auf needs_reconnect
Das Netzwerk hat calmposts den Zugriff entzogen. Verbinden Sie das Konto unter „Konten“ in der App neu.
Fragen
Funktioniert das in n8n Cloud und in selbst gehostetem n8n?
Ja: Die Knoten erreichen calmposts über das Internet. Für OAuth muss Ihr n8n auf https oder localhost laufen; ein Schlüssel funktioniert überall.
MCP Client Tool oder MCP Client?
Der Tool-Knoten, wenn ein Modell entscheiden soll, was es schreibt; der einfache Knoten, wenn der Workflow den Text schon hat und ihn nur einreihen muss.
Gibt es einen calmposts-Knoten für n8n?
Einen eigenen Knoten gibt es nicht: Die MCP-Knoten decken es ab, und der HTTP-Request-Knoten kann die REST-API unten mit derselben Anmeldung aufrufen.
Kann ein Workflow sofort veröffentlichen?
Nur mit when=now und wenn Arbeitsbereich und Schlüssel beide auf Veröffentlichen stehen. Sonst wartet der Beitrag auf Freigabe, was zu einem automatischen Workflow passt.
Kann der Agent antworten, folgen oder Direktnachrichten senden?
Nein. Dafür gibt es keine Tools: X verbietet, das zu automatisieren, und calmposts schreibt und plant nur Ihre eigenen Beiträge.
Brauche ich eigene X-API-Schlüssel?
Nein. calmposts veröffentlicht über seine eigene, freigegebene X-App, und die Gebühren von X pro Beitrag sind im Tarifpreis enthalten.
Die Doku von n8n, der diese Seite folgt
- n8n docs: MCP Client Tool node
- n8n docs: MCP Client node
- n8n docs: MCP credentials
- n8n docs: HTTP Request credentials (bearer auth)
- n8n source: the MCP Client Tool node
calmposts ist ein unabhängiger Dienst und weder mit den Machern von n8n verbunden noch von ihnen empfohlen. Produktnamen gehören ihren Inhabern.
Lassen Sie n8n in Ruhe für Sie posten
Starten Sie die Testphase, verbinden Sie Ihre Konten, legen Sie einen Schlüssel an und geben Sie n8n die Adresse.
Kostenlos testen