Twitter/X MCP
Twitter/X MCP
Twitter/X MCP ermöglicht einem MCP-Client, öffentliche X-Beiträge, Antworten und Profile zu lesen oder X zu durchsuchen. Standardmäßig wird Rettiwt verwendet, sodass kein X-Entwicklerplan benötigt wird. Wenn Sie Zugriff haben, können Sie zur offiziellen X-API wechseln.
Anforderungen
Node.js 22.21.0 oder neuer innerhalb der Node-22-Veröffentlichungslinie. Die aktuelle Rettiwt-Version unterstützt Node 23 oder neuer nicht.
Ein
RETTIWT_API_KEY. Offizielle X-API-Anmeldedaten funktionieren, wenn Sie den API-Modus auswählen.
Related MCP server: X MCP Server
Schnellstart
Sobald das Paket veröffentlicht ist, kann Ihr MCP-Client es ohne Klon ausführen:
npx -y @granitebps/twitter-mcpDer Server wählt Rettiwt, wenn Sie TWITTER_MODE weglassen. Übergeben Sie RETTIWT_API_KEY in der Client-Konfiguration.
Der Server verwendet stdio. Halten Sie stdout für den MCP-Datenverkehr frei.
Aus einem geklonten Repository ausführen
Um den Server zu entwickeln oder einen Klon direkt zu verwenden:
git clone https://github.com/granitebps/twitter-mcp.git
cd twitter-mcp
npm ci
npm run buildZeigen Sie Ihren MCP-Client auf den kompilierten Einstiegspunkt:
node /absolute/path/to/twitter-mcp/dist/cli.jsFühren Sie nach jeder Quellcodeänderung npm run build aus. Verwenden Sie src oder npm run dev nicht als stdio-Befehl des Clients. Build-Protokoll auf stdout kann MCP-Nachrichten beschädigen.
Client-Konfiguration
Jedes Beispiel beginnt mit dem npm-Paket, gefolgt von der lokalen Entsprechung. Ersetzen Sie /absolute/path/to/twitter-mcp durch den Pfad Ihres Klons und your_key_here durch Ihren Rettiwt-Schlüssel. Committen Sie keine Konfigurationsdatei, die den Schlüssel enthält.
Claude
Fügen Sie das npm-Paket zu Claude Code hinzu:
claude mcp add twitter --env RETTIWT_API_KEY=your_key_here -- npx -y @granitebps/twitter-mcpFür einen lokalen Build:
claude mcp add twitter --env RETTIWT_API_KEY=your_key_here -- node /absolute/path/to/twitter-mcp/dist/cli.jsClaude Code verwendet standardmäßig den lokalen Geltungsbereich. Fügen Sie --scope user vor twitter hinzu, um den Server projektübergreifend verfügbar zu machen.
Claude Desktop liest denselben Server aus claude_desktop_config.json. Starten Sie die App nach dem Bearbeiten der Datei neu.
{
"mcpServers": {
"twitter": {
"command": "npx",
"args": ["-y", "@granitebps/twitter-mcp"],
"env": {
"RETTIWT_API_KEY": "your_key_here"
}
}
}
}Ersetzen Sie für einen lokalen Build command und args durch:
{
"command": "node",
"args": ["/absolute/path/to/twitter-mcp/dist/cli.js"]
}Codex
Fügen Sie das npm-Paket zu ~/.codex/config.toml oder in einem vertrauenswürdigen Projekt zu .codex/config.toml hinzu:
[mcp_servers.twitter]
command = "npx"
args = ["-y", "@granitebps/twitter-mcp"]
[mcp_servers.twitter.env]
RETTIWT_API_KEY = "your_key_here"Für einen lokalen Build:
[mcp_servers.twitter]
command = "node"
args = ["/absolute/path/to/twitter-mcp/dist/cli.js"]
[mcp_servers.twitter.env]
RETTIWT_API_KEY = "your_key_here"Starten Sie Codex nach dem Bearbeiten der Datei neu. Die CLI, die IDE-Erweiterung und die Desktop-App teilen sich diese Konfiguration auf demselben Computer.
OpenCode
Fügen Sie das npm-Paket zu opencode.json oder opencode.jsonc hinzu:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"twitter": {
"type": "local",
"command": ["npx", "-y", "@granitebps/twitter-mcp"],
"enabled": true,
"environment": {
"RETTIWT_API_KEY": "your_key_here"
}
}
}
}Für einen lokalen Build ersetzen Sie das command-Array durch:
{
"command": ["node", "/absolute/path/to/twitter-mcp/dist/cli.js"]
}Cursor
Fügen Sie das npm-Paket zu .cursor/mcp.json in einem Projekt oder zu ~/.cursor/mcp.json für die globale Verwendung hinzufügen:
{
"mcpServers": {
"twitter": {
"command": "npx",
"args": ["-y", "@granitebps/twitter-mcp"],
"env": {
"RETTIWT_API_KEY": "your_key_here"
}
}
}
}Für einen lokalen Build ersetzen Sie command und args durch:
{
"command": "node",
"args": ["/absolute/path/to/twitter-mcp/dist/cli.js"]
}Provider
Modus | Auswahl | Anmeldedaten | Hinweise |
Rettiwt | Standard, oder |
| Keine X-API-Kosten. Verwendet inoffizielle interne Endpunkte und kann brechen oder das Konto gefährden. |
Offizielle API |
| Bearer-Token oder vollständige OAuth-Anmeldedaten | Verwendet die unterstützte X-API. X steuert Zugriffsstufen und Preise. |
Rettiwt-Einrichtung
Rettiwt erfordert auf diesem Server den authentifizierten Benutzermodus. Der Gastmodus wird nicht unterstützt.
Generieren Sie einen API-Schlüssel mithilfe der Rettiwt-Authentifizierungsanleitung.
Speichern Sie ihn als
RETTIWT_API_KEYin der Umgebung des MCP-Clients.Starten Sie den Server ohne
TWITTER_MODEoder setzen Sie explizitTWITTER_MODE=rettiwt.
Ein Rettiwt-Schlüssel enthält X-Sitzungs-Cookies und hat denselben Zugriff wie das Konto. Behandeln Sie ihn wie ein Passwort. Committen Sie ihn nicht, fügen Sie ihn nicht in ein Issue ein, loggen Sie ihn nicht und übergeben Sie ihn nicht als Befehlszeilenargument. Verwenden Sie einen Schlüssel nur für ein Konto, das Sie besitzen oder für das Sie die Berechtigung haben.
Rettiwt ist inoffiziell. Die Automatisierungsregeln verbieten die Automatisierung der X-Website ohne Verwendung der API und warnen davor, dass Verstöße zur Kontosperrung führen können. Lesen Sie die X-Regeln, bevor Sie diesen Modus verwenden. Sie akzeptieren die Compliance- und Kontorisiken.
Offizielle X-API einrichten
Verwenden Sie ein Bearer-Token:
TWITTER_MODE=api
TWITTER_BEARER_TOKEN=your_bearer_tokenOder geben Sie die vollständigen OAuth-Anmeldedaten an:
TWITTER_MODE=api
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_SECRET=your_access_secretErstellen Sie Anmeldedaten im X Developer Portal. X steuert API-Zugriff und Preise. Prüfen Sie daher aktuelle Bedingungen, bevor Sie diesen Modus wählen.
Konfiguration
Variable | Erforderlich | Bedeutung |
| Nein | Standard |
| Rettiwt-Modus | Authentifizierter Rettiwt-Sitzungsschlüssel. |
| API-Modus option | Offizielles API-Bearer-Token. |
| OAuth-Option | OAuth-Anwendungsschlüssel. |
| OAuth-Option | OAuth-Anwendungsgeheimnis. |
| OAuth-Option | OAuth-Zugriffstoken. |
| OAuth-Option | OAuth-Zugriffsgeheimnis. |
| Nein | Request-Timeout von 1.000 bis 120.000 ms. Standard: 30.000. |
Der Server lehnt eine unvollständige OAuth-Konfiguration beim Start ab. Er liest die Anmeldedaten aus der Prozessumgebung und gibt sie nie über get_server_info zurück.
Werkzeuge
Tool | Eingabe | Ergebnis |
|
| Ein Beitrag. Akzeptiert eine numerische ID oder eine |
|
| Antworten und verfügbare Seitenmetadaten. |
|
| Ein öffentliches Profil. Ein führendes |
|
| Passende Beiträge und verfügbare Seitenmetadaten. Suchoperatoren hängen vom Provider ab. |
| None | Version, aktiver Provider, Werkzeuge, Limits und Fähigkeiten. |
max_results standard auf 10 und akzeptiert Werte von 1 bis 100. Erfolgreiche Aufrufe liefern strukturierte MCP-Inhalte sowie JSON-Text für ältere Clients. Sammelwerkzeuge liefern die Elemente als JSON and die Cursors und Warnungen in strukturierten Inhalte.
Fehler
Werkzeugfehler verwenden stabile Codes:
INVALID_INPUTAUTH_REQUIREDAUTH_FAILEDNOT_FOUNDRATE_LIMITEDUPSTREAM_UNAVAILABLETIMEOUTUNSUPPORTED_OPERATIONINTERNAL_ERROR
Die Fehler benennen den Provider und teilen dem Client mit, ob ein erneuter Versuch möglicherweise funktioniert. Sie enthalten keine Anmeldeinformationen oder rohe Antworten von Upstream.
Architektur
stdio CLI
-> validated environment configuration
-> MCP server and tool handlers
-> TwitterProvider contract
-> Rettiwt adapter
-> official X API adapterDie Domän-Schemas hängen nicht von einem der beiden Provider ab. Jeder Provider-Adapter ordnet Upstream-Daten zu, erzwingt Limits und Deadlines und übersetzt Fehler. Das Importieren von src/index.ts startet den Server nicht.
Entwicklung
npm ci
npm run checknpm run check prüft Formatierung, Linting, Typen, Abdeckung, den Produktions-Build, den npm-Paketcode-Inhalt und eine saubere Tarball-Installation. Die Standard-Testsuite verwendet Fakes und benötigt keine X-Anmeldedaten.
Die folgenden fokussierten Befehle sind nützlich:
npm test
npm run typecheck
npm run lint
npm run build
npm run check:package
npm run check:install
npx @modelcontextprotocol/inspector node dist/cli.jsLive-Rettiwt-Smoke-Test
Der Live-Smoke-Test startet den kompilierten Stdio-Server und ruft get_tweet, get_tweet_replies, get_user_profile und search_tweets auf. Er leitet den Benutzernamen und die Suchabfrage aus ausgewähltem Beitrag ab.
RETTIWT_API_KEY=your_key_here \
TWITTER_LIVE_TWEET_ID=1234567890123456789 \
npm run test:liveWählen Sie einen öffentlichen Beitrag, dessen Autorenprofil noch verfügbar ist. Fehlt mindestens eine Variable, stoppt der Befehl vor dem Start des Live-Servers oder der Netzwerkanfrage. Der Test wird nicht von npm run check oder normalem CI ausgeführt.
Release-Prüfung
Die automatisierte Suite deckt Konfiguration, Provider-Adapter, MCP-Aufrufe, den kompilierten Stdio-Einstiegspunkt und die Installation aus einem npm-Tarball ab. Der Live-Rettiwt-Smoke-Test ist optional und läuft nicht in normalem CI. Version 1.0.0 wurde ohne Live-Upstream-Verifizierung erstellt.
Maintainer können dem Release-Guide für den manuellen npm, MCP Registry und GitHub-Release-Prozess folgen. Live-Tests dürfen die Anmeldedaten nur aus Repository-Secrets lesen und nicht für nicht vertrauenswürdige Pull Requests ausgeführt werden.
Fehlerbehebung
Fehlender Rettiwt-Schlüssel
Wenn der Start RETTIWT_API_KEY is required in rettiwt mode meldet, setzen Sie den Schlüssel in der Konfiguration des MCP-Clients. Desktop-Clients übernehmen nicht automatisch eine .env-Datei aus der Shell.
Ungültige Rettiwt-Authentifizierung
Wenn Sie Invalid authentication data oder AUTH_FAILED sehen, generieren Sie einen neuen Rettiwt-Schlüssel und prüfen Sie, ob die X-Sitzung weiterhin funktioniert. Geben Sie niemals den fehlenden Schlüssel in einem Issue aus.
Rate-Limit
Bei RATE_LIMITED warten Sie vor einem erneuten Versuch und reduzieren Sie die Anfrage-Rate. Prüfen Sie retryAfterSeconds, wenn der Provider ihn liefert.
Offizielle API 401 oder 403
Prüfen Sie den Anmeldedatensatz, App-Berechtigungen, Endpunkt-Zugriff und aktuellen X-API-Plan.
Node-Engine-Warnung
Verwenden Sie Node.js 22.21.0 oder eine neuere Node-22-Version. Verwenden Sie Node 23 oder neuer nicht mit der aktuellen Retti-Abhängigkeit.
Lizenz
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with X (formerly Twitter), allowing for posting tweets, searching content, managing accounts, and organizing lists.123MIT
- FlicenseBqualityDmaintenanceEnables users to interact with X (Twitter) through the X API. Supports posting tweets, retrieving user timelines, searching tweets, and replying to tweets with comprehensive error handling.314
- AlicenseNot gradedqualityDmaintenanceEnables interaction with X (Twitter) to post tweets, threads, and replies while retrieving tweet metrics and account information. It supports core management tasks like deleting tweets and verifying authentication through the Twitter API.MIT
- AlicenseAqualityAmaintenanceEnables reading public X (Twitter) content like profiles, tweets, and search results via a stealth browser, without official API costs.11MIT
Related MCP Connectors
X (formerly Twitter) posts, profiles, and search for AI agents. Free key, self-minted, no signup.
Fetch recent public X/Twitter posts by named handle for monitoring, comparison, OSINT, and research.
128 REST operations. 120 MCP routes; 119 JSON/text ops. OAuth 2.1. Not affiliated with X Corp.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/granitebps/twitter-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server