Auf X posten aus Claude Code
Claude Code arbeitet in Ihrem Terminal, direkt neben Ihrem Code. Fügen Sie den MCP-Server von calmposts für X (Twitter) hinzu, und es macht aus dem, was Sie gerade ausgeliefert haben, einen Beitrag oder Thread für X und Bluesky, als Entwurf oder in der Warteschlange, bis Sie ihn freigeben.
- 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
- claude mcp add oder .mcp.json im Projekt
Was Claude Code mit calmposts kann
Claude Code liest ohnehin Ihr Repository, Ihre Diffs und Ihre Commit-Historie. Mit calmposts kann es darüber schreiben, wo Menschen es sehen: ein Release-Thread aus dem Changelog, ein kurzer Beitrag zu einem behobenen Fehler, eine Woche Build-in-public-Updates aus dem Git-Log.
Es ruft list_accounts auf, um Ihre Kanäle und die Regeln jedes Netzwerks zu sehen, get_limits für die heute noch übrigen Beiträge und die Zeitzone des Arbeitsbereichs, und create_post, um einen Entwurf zu speichern, den Beitrag in die Warteschlange zu legen oder auf eine Uhrzeit zu planen. Später prüft es mit list_posts und get_post, was erschienen ist, und liest in Tarifen mit Statistiken get_post_metrics.
Der MCP-Server für X (Twitter) gibt Claude Code 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 Claude Code 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, mit Schlüssel
Am schnellsten: Claude Code speichert Adresse und Header für dieses Projekt.
Öffnen Sie in calmposts „API & MCP“, legen Sie einen Schlüssel mit den Berechtigungen an, die der Agent braucht, und kopieren Sie ihn: Er wird einmal angezeigt.
Fügen Sie den Server hinzu, mit Ihrem Schlüssel statt cp_live_…:
claude mcp add --transport http calmposts https://calmposts.com/mcp \ --header "Authorization: Bearer cp_live_…"Prüfen Sie die Verbindung; der Status sollte ✔ Connected lauten:
claude mcp get calmpostsIn einer Sitzung zeigt /mcp calmposts mit seinen 11 Tools:
/mcp
Weg 2: Eine .mcp.json fürs Team, der Schlüssel in der Umgebung
Für ein gemeinsames Repository: Die Datei nennt eine Variable, und jede Person behält ihren eigenen Schlüssel.
Jede Person legt ihren Schlüssel in die Umgebung, aus der sie Claude Code startet, etwa in ~/.zshrc:
export CALMPOSTS_API_KEY=cp_live_…Committen Sie .mcp.json im Wurzelverzeichnis des Projekts:
{ "mcpServers": { "calmposts": { "type": "http", "url": "https://calmposts.com/mcp", "headers": {"Authorization": "Bearer ${CALMPOSTS_API_KEY}"} } } }Starten Sie claude im Projekt und geben Sie calmposts frei, wenn Claude Code fragt; danach zeigt claude mcp list den Server als verbunden.
Anmelden: Schlüssel oder OAuth
Claude Code sendet den Schlüssel bei jeder Anfrage als Header, mehr braucht es nicht: keinen Browser und keine Zustimmungsseite. Deshalb funktioniert es auch in Läufen ohne Oberfläche (claude -p), die kein /mcp-Panel zum Anmelden haben.
Geben Sie dem Schlüssel nur, was der Agent braucht: Ein Schlüssel, der nur entwirft, kommt ohne media:write aus. Widerrufen Sie ihn unter „API & MCP“, verliert Claude Code den Zugriff beim nächsten Aufruf.
Claude Code unterstützt OAuth für entfernte Server ebenfalls. Ist calmposts bereits ein Connector in Ihrem claude.ai-Konto, übernimmt ihn Claude Code, wenn es mit diesem Konto angemeldet ist, und zeigt ihn in /mcp. Für einen mit claude mcp add hinzugefügten Server wurde diese Seite mit dem Schlüssel geprüft.
Prüfen, ob es funktioniert
- claude mcp get calmposts zeigt ✔ Connected; ein Fehler kommt mit einer Issue-Zeile, die den HTTP-Status und den Fehler von calmposts nennt.
- /mcp in einer Sitzung zeigt calmposts und seine 11 Tools.
- Fragen Sie „Was sagt calmposts zu meinen Limits?“: Claude Code ruft get_limits auf und nennt Tarif, die heute übrigen Beiträge und die Zeitzone.
- Bitten Sie um einen Entwurf und öffnen Sie in calmposts „Beiträge“: Er steht dort mit der Quelle mcp und dem Namen Ihres Schlüssels als Autor.
Prompts zum Ausprobieren
Fragen Sie in eigenen Worten; der Agent wählt die Tools. Gut funktionieren etwa:
- „Lies CHANGELOG.md und schreib einen Thread über v2.3 für X und Bluesky. Speichere ihn in calmposts als Entwurf.“
- „Sieh dir die Commits seit Freitag an und entwirf drei Build-in-public-Beiträge; leg sie in die Warteschlange von calmposts.“
- „Wie viele Beiträge habe ich heute noch, und wann ist der nächste freie Slot für mein X-Konto?“
- „Zeig meine geplanten Beiträge für nächste Woche und verschieb den vom Dienstag auf Mittwoch, 09:30.“
- „Ist der Release-Beitrag von gestern überall erschienen? Wenn ein Kanal gescheitert ist, sag mir erst warum, bevor du ihn erneut sendest.“
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 Claude Code wissen sollten
- claude mcp add schreibt standardmäßig in den lokalen Bereich: Der Server lädt nur in dem Projekt, in dem Sie den Befehl ausgeführt haben, und der Schlüssel liegt in ~/.claude.json. Mit --scope user ist calmposts in jedem Projekt da.
- Claude Code fragt, bevor es ein Tool aufruft, das keine Berechtigungsregel erlaubt. Regeln wie mcp__calmposts__list_accounts oder mcp__calmposts__get_* lassen die lesenden Tools ohne Nachfrage laufen; create_post und delete_post bleiben besser mit Nachfrage.
- Benennen Sie die Variable in .mcp.json beliebig, nur nicht wie die eigenen Zugangsdaten von Claude Code: CALMPOSTS_API_KEY wird eingesetzt, ein Header aus ANTHROPIC_API_KEY oder ANTHROPIC_AUTH_TOKEN geht leer hinaus. Eine nicht gesetzte Variable bleibt als Text ${…} stehen, und claude mcp list warnt davor.
- list_posts liefert standardmäßig 20 Beiträge, höchstens 100. Claude Code warnt, wenn die Antwort eines Tools 10.000 Token übersteigt; bitten Sie um weniger Beiträge oder einen kürzeren Zeitraum.
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
claude mcp get zeigt ✘ Failed to connect
Lesen Sie die Issue-Zeile: 401 mit missing_api_key oder invalid_api_key liegt am Schlüssel. Prüfen Sie die Schreibweise des Headers, das Leerzeichen nach „Bearer“ und dass der Schlüssel mit cp_live_ beginnt.
Leading or trailing whitespace in: headers.Authorization
Im eingefügten Schlüssel steckt ein Leerzeichen oder ein Zeilenumbruch. Führen Sie claude mcp remove calmposts aus und fügen Sie den Server neu hinzu.
⏸ Pending approval
Ein Server aus .mcp.json wartet auf Ihre Freigabe: Starten Sie claude im Projekt und geben Sie calmposts frei.
MCP server calmposts already exists
In diesem Bereich gibt es schon einen Server mit diesem Namen. Entfernen Sie ihn mit claude mcp remove calmposts oder fügen Sie den neuen mit einem anderen --scope hinzu.
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
Braucht Claude Code das Programm calmposts-mcp?
Nein. Claude Code verbindet sich über HTTP mit dem gehosteten Server; außer Claude Code ist nichts zu installieren.
Wo bewahrt Claude Code den Schlüssel auf?
claude mcp add schreibt ihn in ~/.claude.json, für dieses Projekt (lokaler Bereich) oder alle Projekte (--scope user). Mit .mcp.json und ${CALMPOSTS_API_KEY} steht in der Datei nur der Name der Variablen, und der Schlüssel bleibt in Ihrer Umgebung.
Kann Claude Code 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, und der Server rät Agenten zur Warteschlange oder zum Entwurf.
Funktioniert das in claude -p und Skripten?
Ja, mit einem Schlüssel: Ein Lauf ohne Oberfläche kann sich nicht per OAuth anmelden, ein Header braucht keine Anmeldung. Es gelten die 60 Anfragen pro Minute des Schlüssels.
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 Claude Code, der diese Seite folgt
calmposts ist ein unabhängiger Dienst und weder mit den Machern von Claude Code verbunden noch von ihnen empfohlen. Produktnamen gehören ihren Inhabern.
Lassen Sie Claude Code in Ruhe für Sie posten
Starten Sie die Testphase, verbinden Sie Ihre Konten, legen Sie einen Schlüssel an und geben Sie Claude Code die Adresse.
Kostenlos testen