Skip to main content
Glama
granitebps

Twitter/X MCP

by granitebps

Twitter/X MCP

CI npm version npm downloads MCP Registry License: ISC

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-mcp

Der 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 build

Zeigen Sie Ihren MCP-Client auf den kompilierten Einstiegspunkt:

node /absolute/path/to/twitter-mcp/dist/cli.js

Fü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-mcp

Für einen lokalen Build:

claude mcp add twitter --env RETTIWT_API_KEY=your_key_here -- node /absolute/path/to/twitter-mcp/dist/cli.js

Claude 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 TWITTER_MODE=rettiwt

RETTIWT_API_KEY

Keine X-API-Kosten. Verwendet inoffizielle interne Endpunkte und kann brechen oder das Konto gefährden.

Offizielle API

TWITTER_MODE=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.

  1. Generieren Sie einen API-Schlüssel mithilfe der Rettiwt-Authentifizierungsanleitung.

  2. Speichern Sie ihn als RETTIWT_API_KEY in der Umgebung des MCP-Clients.

  3. Starten Sie den Server ohne TWITTER_MODE oder setzen Sie explizit TWITTER_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_token

Oder 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_secret

Erstellen 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

TWITTER_MODE

Nein

Standard rettiwt, oder api. Andere Werte führen zu einem Fehler.

RETTIWT_API_KEY

Rettiwt-Modus

Authentifizierter Rettiwt-Sitzungsschlüssel.

TWITTER_BEARER_TOKEN

API-Modus option

Offizielles API-Bearer-Token.

TWITTER_API_KEY

OAuth-Option

OAuth-Anwendungsschlüssel.

TWITTER_API_SECRET

OAuth-Option

OAuth-Anwendungsgeheimnis.

TWITTER_ACCESS_TOKEN

OAuth-Option

OAuth-Zugriffstoken.

TWITTER_ACCESS_SECRET

OAuth-Option

OAuth-Zugriffsgeheimnis.

TWITTER_REQUEST_TIMEOUT_MS

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

get_tweet

tweet_id

Ein Beitrag. Akzeptiert eine numerische ID oder eine x.com- oder twitter.com-Status-URL.

get_tweet_replies

tweet_id, optional max_results

Antworten und verfügbare Seitenmetadaten.

get_user_profile

username

Ein öffentliches Profil. Ein führendes @ wird akzeptiert.

search_tweets

query, optional max_results

Passende Beiträge und verfügbare Seitenmetadaten. Suchoperatoren hängen vom Provider ab.

get_server_info

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_INPUT

  • AUTH_REQUIRED

  • AUTH_FAILED

  • NOT_FOUND

  • RATE_LIMITED

  • UPSTREAM_UNAVAILABLE

  • TIMEOUT

  • UNSUPPORTED_OPERATION

  • INTERNAL_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 adapter

Die 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 check

npm 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.js

Live-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:live

Wä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

ISC

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • F
    license
    B
    quality
    D
    maintenance
    Enables 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.
    3
    14
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • A
    license
    A
    quality
    A
    maintenance
    Enables reading public X (Twitter) content like profiles, tweets, and search results via a stealth browser, without official API costs.
    11
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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