Auf X posten aus Codex CLI
Codex arbeitet in Ihrem Terminal und Ihrem Editor. Verbinden Sie es mit dem MCP-Server von calmposts für X (Twitter), und es schreibt den Release-Thread, den Launch-Beitrag oder die Changelog-Zusammenfassung für X und Bluesky und legt sie in Ihre calmposts-Warteschlange zur Freigabe.
- 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
- ~/.codex/config.toml, per codex mcp add
Was Codex CLI mit calmposts kann
Codex liest Ihr Repository, führt Befehle aus und bearbeitet Dateien. Mit calmposts als MCP-Server kann es die Arbeit auch ankündigen: ein Thread, wenn ein Pull Request gemergt ist, ein kurzer Beitrag zu jedem Release, ein Entwurf zu jedem Punkt im Changelog.
Codex liest die Anweisungen, die calmposts beim Verbinden sendet, und folgt ihnen neben den Tools: zuerst Konten und Limits prüfen, Warteschlange oder Entwurf bevorzugen, nie antworten, folgen oder Direktnachrichten senden. Dieselbe config.toml gilt für die Codex CLI, die IDE-Erweiterung und die ChatGPT-Desktop-App, Sie richten calmposts also einmal ein.
Der MCP-Server für X (Twitter) gibt Codex CLI 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 Codex CLI 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 Befehl, der Schlüssel in einer Umgebungsvariablen
Codex speichert nur den Namen der Variablen; der Schlüssel bleibt in Ihrer Shell.
Legen Sie in calmposts unter „API & MCP“ einen Schlüssel an und exportieren Sie ihn in der Shell, aus der Sie Codex starten, etwa in ~/.zshrc:
export CALMPOSTS_API_KEY=cp_live_…Fügen Sie den Server hinzu. Codex sendet den Wert der Variablen als Bearer-Token:
codex mcp add calmposts --url https://calmposts.com/mcp --bearer-token-env-var CALMPOSTS_API_KEYPrüfen Sie: calmposts steht mit seiner URL in der Liste. In der Codex-TUI zeigt /mcp es mit seinen Tools.
codex mcp list
Weg 2: Direkt in config.toml
Derselbe Eintrag von Hand, in ~/.codex/config.toml oder in der .codex/config.toml eines vertrauenswürdigen Projekts.
Fügen Sie die Tabelle hinzu. Die letzte Zeile ist optional: writes lässt Codex vor jedem Tool fragen, das nicht als nur lesend markiert ist, und calmposts markiert list_* und get_* so.
[mcp_servers.calmposts] url = "https://calmposts.com/mcp" bearer_token_env_var = "CALMPOSTS_API_KEY" default_tools_approval_mode = "writes"Starten Sie codex und führen Sie /mcp aus: calmposts steht mit seinen 11 Tools in der Liste.
Anmelden: Schlüssel oder OAuth
bearer_token_env_var nennt eine Umgebungsvariable, und Codex sendet ihren Wert bei jeder Anfrage als Authorization: Bearer. Ist die Variable dort, wo Codex startet, nicht gesetzt, geht kein Schlüssel hinaus, und calmposts antwortet mit 401 missing_api_key.
Codex kann sich bei MCP-Servern auch per OAuth anmelden (codex mcp login calmposts), dieser Weg ist mit calmposts aber noch nicht geprüft. Diese Seite wurde mit dem Schlüssel geprüft.
Geben Sie Codex einen eigenen Schlüssel mit nur den nötigen Berechtigungen, damit Sie ihn unter „API & MCP“ widerrufen können, ohne Ihre anderen Agenten anzufassen.
Prüfen, ob es funktioniert
- codex mcp list zeigt calmposts mit seiner URL.
- In der TUI zeigt /mcp calmposts und seine Tools; /mcp verbose ergänzt die Diagnose des Servers.
- Fragen Sie „Wie sind heute meine calmposts-Limits?“: Codex ruft get_limits auf und nennt Tarif und die heute übrigen Beiträge.
- 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:
- „Lies den Diff des zuletzt gemergten PR und schreib einen X-Beitrag darüber, was sich geändert hat. Speichere ihn in calmposts als Entwurf.“
- „Mach aus dem Abschnitt 3.1 in CHANGELOG.md einen Thread für X und Bluesky und leg ihn in die calmposts-Warteschlange.“
- „Entwirf zu jedem Release-Tag dieses Monats einen Beitrag und verteil sie auf die freien Slots der nächsten Woche.“
- „Was ist in calmposts für Freitag geplant? Korrigier jeden Beitrag, der über dem X-Limit liegt.“
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 Codex CLI wissen sollten
- Codex gibt einem Server standardmäßig 10 Sekunden zum Starten und 60 Sekunden pro Toolaufruf (startup_timeout_sec, tool_timeout_sec). calmposts antwortet weit unter einer Sekunde; am längsten dauert create_post mit Bildern, während calmposts sie herunterlädt.
- enabled_tools und disabled_tools schränken ein, was Codex sieht, etwa disabled_tools = ["delete_post"].
- Die .codex/config.toml eines Projekts wird nur in vertrauenswürdigen Projekten gelesen; ~/.codex/config.toml gilt überall.
- Die Doku von Codex bittet Server, die ersten 512 Zeichen ihrer Anweisungen in sich verständlich zu halten; die von calmposts beginnen mit dem, was zuerst aufzurufen ist: list_accounts und get_limits.
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
calmposts antwortet mit 401 missing_api_key
CALMPOSTS_API_KEY ist in der Umgebung, aus der Codex gestartet wurde, leer. Exportieren Sie sie in Ihrem Shell-Profil, öffnen Sie ein neues Terminal und starten Sie Codex neu.
codex mcp list zeigt calmposts, aber die Tools erscheinen nie
Führen Sie /mcp verbose aus: Ein 401 liegt am Schlüssel, ein Timeout am Netz zwischen Ihnen und calmposts.
Codex fragt vor jedem calmposts-Aufruf
Das ist der Freigabemodus. Setzen Sie default_tools_approval_mode = "writes", um nur vor den Tools gefragt zu werden, die Beiträge ändern.
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 dieselbe Einrichtung in der Codex-IDE-Erweiterung und der ChatGPT-Desktop-App?
Ja. Sie teilen sich die config.toml mit der CLI, also erscheint calmposts nach der Einrichtung in allen dreien.
Brauche ich das Programm calmposts-mcp?
Nein. Codex verbindet sich über Streamable HTTP mit dem gehosteten Server; zu installieren ist nichts.
Wo bewahrt Codex den Schlüssel auf?
Nirgends: In config.toml steht nur der Name der Variablen, und der Schlüssel bleibt in Ihrer Umgebung.
Kann Codex sofort veröffentlichen?
Nur wenn Sie es bitten, jetzt zu posten, und Arbeitsbereich und Schlüssel Agenten das Veröffentlichen erlauben. Sonst wartet der Beitrag 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 Codex CLI, der diese Seite folgt
calmposts ist ein unabhängiger Dienst und weder mit den Machern von Codex CLI verbunden noch von ihnen empfohlen. Produktnamen gehören ihren Inhabern.
Lassen Sie Codex CLI in Ruhe für Sie posten
Starten Sie die Testphase, verbinden Sie Ihre Konten, legen Sie einen Schlüssel an und geben Sie Codex CLI die Adresse.
Kostenlos testen