Auf X posten aus Cursor
Der Agent von Cursor kennt Ihren Code schon. Geben Sie ihm den MCP-Server von calmposts für X (Twitter), und er schreibt den Launch-Beitrag, den Changelog-Thread oder die Ankündigung der Doku für X und Bluesky und legt sie in Ihre calmposts-Warteschlange.
- Verbindung
- Entfernter MCP-Server über Streamable HTTP: nichts zu installieren
- Anmeldung
- API-Schlüssel im Authorization-Header; OAuth: Sie melden sich bei calmposts an und erlauben den Zugriff, ohne Schlüssel
- Serveradresse
https://calmposts.com/mcp- Wo Sie es einrichten
- ~/.cursor/mcp.json oder .cursor/mcp.json
Was Cursor mit calmposts kann
In Cursor bitten Sie den Agenten um eine Änderung, und er liest Dateien, führt Befehle aus und ändert Code. Mit calmposts unter seinen Tools kann er auch davon erzählen: ein Beitrag, wenn eine Funktion erscheint, ein Thread, der ein Refactoring erklärt, eine kurze Notiz zu jedem Release-Tag.
Cursor führt die Tools von calmposts unter Available Tools und ruft sie auf, wenn sie zur Bitte passen, auch im Plan Mode; Sie können eines auch beim Namen nennen, etwa get_limits oder create_post. Standardmäßig fragt Cursor vor jedem MCP-Toolaufruf und zeigt die Argumente, Sie lesen also den genauen Text, bevor er calmposts erreicht.
Der MCP-Server für X (Twitter) gibt Cursor 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 Cursor 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: mcp.json mit einem Schlüssel aus der Umgebung
Der Schlüssel steht nicht in der Datei, also kann dieselbe mcp.json im Repository eines Projekts liegen.
Legen Sie in calmposts unter „API & MCP“ einen Schlüssel an, machen Sie ihn für Cursor verfügbar, etwa in ~/.zshrc, und starten Sie Cursor neu, damit es die Variable sieht:
export CALMPOSTS_API_KEY=cp_live_…Fügen Sie calmposts in ~/.cursor/mcp.json für alle Projekte oder in .cursor/mcp.json eines Projekts ein:
{ "mcpServers": { "calmposts": { "url": "https://calmposts.com/mcp", "headers": {"Authorization": "Bearer ${env:CALMPOSTS_API_KEY}"} } } }Speichern Sie die Datei und starten Sie Cursor neu. Unter Customize → MCPs ist calmposts eingeschaltet, mit seinen 11 Tools.
Weg 2: mcp.json mit OAuth, ohne Schlüssel
Cursor meldet sich selbst bei calmposts an: Es liest die OAuth-Metadaten von calmposts, registriert sich als öffentlicher Client und nutzt PKCE.
Fügen Sie calmposts ohne Header hinzu:
{ "mcpServers": { "calmposts": {"url": "https://calmposts.com/mcp"} } }Wenn Cursor Sie bittet, sich bei calmposts anzumelden, folgen Sie dem Hinweis. Die Zustimmungsseite von calmposts öffnet sich: Melden Sie sich als Inhaber des Arbeitsbereichs an und klicken Sie auf „Erlauben“.
Anmelden: Schlüssel oder OAuth
Ein Schlüssel in den Headern ist am einfachsten: Jede Anfrage trägt ihn, und nichts läuft ab. Halten Sie ihn in einer Umgebungsvariablen und verweisen Sie mit ${env:CALMPOSTS_API_KEY} darauf; Cursor setzt Variablen in url und headers ein, envFile steht entfernten Servern aber nicht zur Verfügung.
Mit OAuth registriert die Desktop-App von Cursor beide Rückleitungsadressen, http://localhost:8787/callback und die Web-Adresse auf cursor.com, und calmposts akzeptiert beide. Zugriffstoken gelten eine Stunde, Cursor erneuert sie mit dem Refresh-Token von calmposts, und die Verbindung steht unter „API & MCP“ → „Verbundene Apps“.
Cloud Agents behalten ihre eigenen MCP-Anmeldungen auf den Servern von Cursor und nutzen die Server aus dem Cloud-Agents-Dashboard: Fügen Sie calmposts auch dort hinzu, wenn Ihre Cloud-Agenten posten sollen.
Prüfen, ob es funktioniert
- Customize → MCPs zeigt calmposts eingeschaltet; seine Tools stehen in der Tool-Liste oben im Chat-Panel.
- Bitten Sie „Zeig mir über calmposts meine Konten“: Der Agent fragt, ob er list_accounts ausführen darf, und zeigt dann Ihre Kanäle.
- Stimmt etwas nicht, öffnen Sie das Output-Panel (Cmd+Shift+U; Ctrl+Shift+U unter Windows und Linux) und wählen Sie MCP Logs: Dort stehen Verbindungs- und Anmeldefehler.
Prompts zum Ausprobieren
Fragen Sie in eigenen Worten; der Agent wählt die Tools. Gut funktionieren etwa:
- „Wir haben gerade den Export gemergt. Schreib aus der PR-Beschreibung einen X-Beitrag und einen Bluesky-Beitrag und speichere sie in calmposts als Entwürfe.“
- „Mach aus docs/releases/2.4.md einen Thread und leg ihn in calmposts für meine X- und Bluesky-Konten in die Warteschlange.“
- „Prüf vor dem Planen get_limits: Wie viele Beiträge und Beiträge mit Link habe ich noch?“
- „Zeig mir, was calmposts morgen veröffentlicht, und korrigier den Tippfehler im zweiten Beitrag.“
- „Schreib zu jedem Release-Tag des letzten Monats einen kurzen Beitrag und verteil sie auf die freien Slots der nächsten Woche.“
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 Cursor wissen sollten
- Projekt- und globale Datei werden zusammengeführt; nennen beide calmposts, gewinnt die .cursor/mcp.json des Projekts.
- Ab Cursor 3.6 ist Auto-review voreingestellt: MCP-Tools auf der Allowlist laufen sofort, die übrigen gehen durch einen Sicherheitsklassifikator (Cursor Settings → Agents → Approvals & Execution). Lassen Sie create_post, update_post und delete_post von der Allowlist, wenn Sie jeden Schreibvorgang sehen wollen.
- Ein einzelnes Tool, etwa delete_post, schalten Sie mit einem Klick auf seinen Namen in der Tool-Liste des Chats aus.
- In einem Team mit MCP-Allowlist gibt ein Admin entfernte Server per URL frei: Bitten Sie darum, https://calmposts.com/mcp zu erlauben.
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 zeigt unter Customize → MCPs einen Fehler
Öffnen Sie MCP Logs im Output-Panel. Ein 401 mit missing_api_key heißt, der Header ging ohne Schlüssel hinaus: Die Variable ist in der Umgebung von Cursor leer. Setzen Sie sie in Ihrem Shell-Profil und starten Sie Cursor neu.
Der Agent nutzt calmposts nicht
Prüfen Sie, ob calmposts unter Customize eingeschaltet ist und seine Tools in der Tool-Liste des Chats an sind, und nennen Sie das Tool in Ihrer Bitte.
Die Anmeldung endet mit „Nur der Inhaber des Arbeitsbereichs kann Apps verbinden.“
Melden Sie sich als Inhaber des Arbeitsbereichs bei calmposts an oder nutzen Sie einen Schlüssel, den der Inhaber angelegt hat.
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 Cursor ein lokales MCP-Programm?
Nein. Cursor verbindet sich per URL mit dem gehosteten Server; ein entfernter Eintrag braucht nur url und, mit Schlüssel, headers.
Soll ich .cursor/mcp.json committen?
Ja, solange darin ${env:CALMPOSTS_API_KEY} steht und nicht der Schlüssel selbst: Dann nutzt jede Person im Team ihren eigenen Schlüssel aus ihrer Umgebung.
Schlüssel oder OAuth in Cursor?
Ein Schlüssel passt zu einer Einrichtung, die nie wieder fragt; OAuth passt, wenn Sie keinen Schlüssel handhaben möchten. Beide arbeiten mit denselben Tools in Ihrem Arbeitsbereich.
Nutzen Cloud Agents meine mcp.json?
Nein. Cloud Agents nutzen die Server aus dem Cloud-Agents-Dashboard und melden sich selbst an; fügen Sie calmposts dort für sie hinzu.
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 Cursor, der diese Seite folgt
calmposts ist ein unabhängiger Dienst und weder mit den Machern von Cursor verbunden noch von ihnen empfohlen. Produktnamen gehören ihren Inhabern.
Lassen Sie Cursor in Ruhe für Sie posten
Starten Sie die Testphase, verbinden Sie Ihre Konten, legen Sie einen Schlüssel an und geben Sie Cursor die Adresse.
Kostenlos testen