Auf X posten aus OpenClaw
OpenClaw ist der Agent, den Sie selbst betreiben und über Ihre Chat-Apps ansprechen. Fügen Sie seinem Gateway den MCP-Server von calmposts für X (Twitter) hinzu, und eine Nachricht wie „poste das morgen früh auf X“ wird ein geplanter Beitrag für X und Bluesky, der auf Ihre Freigabe wartet.
- 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
- ~/.openclaw/openclaw.json, openclaw mcp set oder Settings → MCP
Was OpenClaw mit calmposts kann
Das Gateway von OpenClaw hält die MCP-Verbindungen und gibt ihre Tools an Ihre Agenten weiter, egal aus welcher Chat-App Sie sie ansprechen. Mit verbundenem calmposts schicken Sie vom Handy einen Link oder einen Gedanken, und der Agent macht daraus einen Beitrag oder Thread, an jedes Netzwerk angepasst, in Ihrer calmposts-Warteschlange.
Die Tools von calmposts laufen wie alle anderen durch die Tool-Profile und die Tool-Policy von OpenClaw, und die Anweisungen, die calmposts beim Verbinden sendet, gibt OpenClaw an den Agenten weiter: zuerst die Konten ansehen, Warteschlange oder Entwurf bevorzugen, nie antworten, folgen oder Direktnachrichten senden.
Der MCP-Server für X (Twitter) gibt OpenClaw 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 OpenClaw 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: openclaw mcp set, der Schlüssel in .env
Zwei Befehle auf dem Rechner, auf dem das Gateway läuft.
Legen Sie in calmposts unter „API & MCP“ einen Schlüssel an und schreiben Sie ihn in ~/.openclaw/.env, das OpenClaw beim Start liest:
CALMPOSTS_API_KEY=cp_live_…Speichern Sie den Server mit einem Verweis auf den Schlüssel, nicht mit dem Schlüssel selbst. Behalten Sie transport: Ohne es nutzt OpenClaw SSE.
openclaw mcp set calmposts '{"url":"https://calmposts.com/mcp","transport":"streamable-http","headers":{"Authorization":"Bearer ${CALMPOSTS_API_KEY}"}}'Prüfen Sie live: doctor validiert den Eintrag, verbindet sich und zeigt die 11 Tools von calmposts.
openclaw mcp doctor calmposts --probe
Weg 2: Direkt in openclaw.json
Derselbe Eintrag in der Konfigurationsdatei; das Gateway übernimmt die Änderung per Hot Reload.
Fügen Sie calmposts unter mcp.servers in ~/.openclaw/openclaw.json hinzu:
{ "mcp": { "servers": { "calmposts": { "url": "https://calmposts.com/mcp", "transport": "streamable-http", "headers": {"Authorization": "Bearer ${CALMPOSTS_API_KEY}"} } } } }Führen Sie openclaw mcp doctor calmposts --probe aus. In der Control UI steht der Server jetzt unter Settings → MCP, wo Sie ihn ausschalten oder entfernen können.
Anmelden: Schlüssel oder OAuth
OpenClaw sendet statische Header bei jeder Anfrage, und der Authorization-Header trägt den Schlüssel von calmposts. Schreiben Sie ihn als Bearer ${CALMPOSTS_API_KEY}: OpenClaw setzt die Variable beim Lesen der Konfiguration ein, und doctor warnt bei einem Verweis nicht so wie bei einem wörtlich eingetragenen Token.
Variablennamen müssen großgeschrieben sein, wie CALMPOSTS_API_KEY. Eine fehlende Variable bleibt unaufgelöst, OpenClaw warnt, und calmposts antwortet mit 401.
OpenClaw unterstützt für HTTP-Server auch OAuth (auth: "oauth" und openclaw mcp login), und dann werden statische Authorization-Header ignoriert. Diese Seite nutzt den Schlüssel: Damit wurde sie geprüft.
Prüfen, ob es funktioniert
- openclaw mcp doctor calmposts --probe meldet den Server erreichbar, mit seinen 11 Tools.
- openclaw mcp status --verbose zeigt calmposts eingeschaltet, mit URL und Transport.
- Fragen Sie Ihren Agenten „Wie sind heute meine calmposts-Limits?“: Er ruft get_limits auf.
- Bitten Sie um einen Entwurf und finden Sie ihn in calmposts unter „Beiträge“, mit der Quelle mcp.
Prompts zum Ausprobieren
Fragen Sie in eigenen Worten; der Agent wählt die Tools. Gut funktionieren etwa:
- „Leg diesen Link mit einem einzeiligen Kommentar für morgen früh in meine X-Warteschlange.“
- „Mach aus der Notiz, die ich gerade geschickt habe, eine X- und eine Bluesky-Fassung und speichere beide als Entwürfe in calmposts.“
- „Was ist diese Woche in calmposts geplant? Lies mir die Liste vor.“
- „Entwirf einen kurzen Rückblick-Thread zu dem, was ich diese Woche gepostet habe, und leg ihn mir zur Freigabe hin.“
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 OpenClaw wissen sollten
- transport: "streamable-http" ist Pflicht: Ohne es verbindet sich OpenClaw über SSE, das calmposts nicht anbietet.
- Halten Sie den Schlüssel aus openclaw.json heraus: doctor warnt bei wörtlich eingetragenen sensiblen Headern, ein Verweis wie ${CALMPOSTS_API_KEY} nach dem Präfix Bearer geht durch.
- Um dem Agenten nur einen Teil der Tools zu geben, setzen Sie toolFilter.include, etwa ["list_*", "get_*", "create_post"], oder sperren Sie einzelne Tools für eine Sitzung unter + → Connectors → Tool access.
- Ist calmposts nicht erreichbar, versucht OpenClaw es im Hintergrund erneut, zuerst nach 30 Sekunden und dann doppelt so lange bis zu 10 Minuten; die Züge Ihres Agenten warten nicht darauf.
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
Im Log steht „authentication refused (401)“
Der Schlüssel kam nicht an. Prüfen Sie, ob ~/.openclaw/.env CALMPOSTS_API_KEY enthält und ob das Gateway danach neu gestartet oder neu geladen wurde.
Ein SSE-Fehler oder 405 von calmposts
transport fehlt oder steht auf sse, also öffnet OpenClaw einen GET-Stream, den calmposts mit 405 beantwortet. Setzen Sie transport auf streamable-http.
doctor verbindet sich, aber es erscheinen keine Tools
Prüfen Sie toolFilter.include und toolFilter.exclude des Servers.
Eine Änderung erreicht einen laufenden Agenten nicht
openclaw mcp reload frischt nur die Laufzeiten der CLI selbst auf; ein Gateway, das anderswo läuft, braucht sein eigenes Neuladen oder einen Neustart.
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
Wo hält OpenClaw die Verbindung?
Im Gateway, das die MCP-Verbindungen aller Ihrer Agenten hält: Fügen Sie calmposts auf dem Rechner hinzu, auf dem es läuft.
Braucht OpenClaw das Programm calmposts-mcp?
Nein. OpenClaw verbindet sich über Streamable HTTP mit dem gehosteten Server; ein stdio-Eintrag ist nicht nötig.
Was sieht der Agent?
Alles im Arbeitsbereich, zu dem der Schlüssel gehört, im Rahmen seiner Berechtigungen. Für die Kanäle nur eines Kunden bitten Sie ihn, customer_id mitzugeben.
Kann OpenClaw ohne mich veröffentlichen?
Nur wenn Arbeitsbereich und Schlüssel beide Agenten veröffentlichen lassen. Sonst warten seine Beiträge in calmposts, in Telegram oder per E-Mail auf Ihre Freigabe.
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 OpenClaw, der diese Seite folgt
- OpenClaw docs: Connect MCP servers
- OpenClaw docs: Transports and OAuth
- OpenClaw docs: MCP client registry
- OpenClaw docs: Environment variables
calmposts ist ein unabhängiger Dienst und weder mit den Machern von OpenClaw verbunden noch von ihnen empfohlen. Produktnamen gehören ihren Inhabern.
Lassen Sie OpenClaw in Ruhe für Sie posten
Starten Sie die Testphase, verbinden Sie Ihre Konten, legen Sie einen Schlüssel an und geben Sie OpenClaw die Adresse.
Kostenlos testen