Skip to main content
Glama

X (Twitter) MCP server

by rafaljanicki

X (Twitter) MCP-Server

Ein Model Context Protocol (MCP)-Server für die Interaktion mit Twitter (X) über KI-Tools. Dieser Server ermöglicht Ihnen das Abrufen und Posten von Tweets, die Suche auf Twitter, die Verwaltung von Followern und vieles mehr – alles über natürliche Sprachbefehle in KI-Tools.

Merkmale

  • Rufen Sie Benutzerprofile, Follower und Followerlisten ab.
  • Tweets posten, löschen und als Favoriten markieren.
  • Durchsuchen Sie Twitter nach Tweets und Trends.
  • Lesezeichen und Zeitleisten verwalten.
  • Integrierte Ratenbegrenzungsbehandlung für die Twitter-API.
  • Verwendet Twitter API v2 mit ordnungsgemäßer Authentifizierung (API-Schlüssel und Token), um das Hacken von Benutzername und Passwort zu vermeiden und das Risiko einer Kontosperrung zu minimieren.
  • Bietet eine vollständige Implementierung von Twitter API v2-Endpunkten für Benutzerverwaltung, Tweet-Verwaltung, Zeitleisten und Suchfunktionen.

Voraussetzungen

  • Python 3.10 oder höher : Stellen Sie sicher, dass Python auf Ihrem System installiert ist.
  • Twitter-Entwicklerkonto : Sie benötigen API-Anmeldeinformationen (API-Schlüssel, API-Geheimnis, Zugriffstoken, Zugriffstoken-Geheimnis und Bearer-Token) vom Twitter-Entwicklerportal .
  • Optional: Claude Desktop : Laden Sie die Claude Desktop-App von der Anthropic-Website herunter und installieren Sie sie.
  • Optional: Node.js (für MCP-Integration): Erforderlich zum Ausführen von MCP-Servern in Claude Desktop.
  • Ein Paketmanager wie uv oder pip für Python-Abhängigkeiten.

Installation

Option 1: Installation über Smithery (empfohlen)

So installieren Sie den X (Twitter) MCP-Server für Claude Desktop automatisch über Smithery :

npx -y @smithery/cli install @rafaljanicki/x-twitter-mcp-server --client claude

Option 2: Von PyPI installieren

Der einfachste Weg x-twitter-mcp zu installieren, ist über PyPI:

pip install x-twitter-mcp

Option 3: Von der Quelle installieren

Wenn Sie die Installation lieber aus dem Quellrepository vornehmen möchten:

  1. Klonen Sie das Repository :
    git clone https://github.com/rafaljanicki/x-twitter-mcp-server.git cd x-twitter-mcp-server
  2. Richten Sie eine virtuelle Umgebung ein (optional, aber empfohlen):
    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. Abhängigkeiten installieren : Verwenden von uv (empfohlen, da das Projekt uv.lock verwendet):
    uv sync
    Alternativ können Sie pip verwenden:
    pip install .
  4. Umgebungsvariablen konfigurieren :
    • Erstellen Sie eine .env Datei im Projektstamm (Sie können .env.example kopieren, falls vorhanden).
    • Fügen Sie Ihre Twitter-API-Anmeldeinformationen hinzu:
      TWITTER_API_KEY=your_api_key TWITTER_API_SECRET=your_api_secret TWITTER_ACCESS_TOKEN=your_access_token TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret TWITTER_BEARER_TOKEN=your_bearer_token

Ausführen des Servers

Sie können den Server auf zwei Arten ausführen:

Option 1: Verwenden des CLI-Skripts

Das Projekt definiert ein CLI-Skript x-twitter-mcp-server .

Bei Installation von PyPI:

x-twitter-mcp-server

Bei Installation aus der Quelle mit uv :

uv run x-twitter-mcp-server

Option 2: Direkte Verwendung von FastMCP (nur Quelle)

Wenn Sie die Installation aus der Quelle durchgeführt haben und den Server lieber im Entwicklungsmodus von FastMCP ausführen möchten:

fastmcp dev src/x_twitter_mcp/server.py

Der Server startet und wartet auf MCP-Verbindungen. Sie sollten eine Ausgabe wie diese sehen:

Starting TwitterMCPServer...

Verwendung mit Claude Desktop

Um diesen MCP-Server mit Claude Desktop zu verwenden, müssen Sie Claude für die Verbindung mit dem Server konfigurieren. Gehen Sie dazu folgendermaßen vor:

Schritt 1: Installieren Sie Node.js

Claude Desktop verwendet Node.js zum Ausführen von MCP-Servern. Falls Sie Node.js nicht installiert haben:

  • Laden Sie Node.js von nodejs.org herunter und installieren Sie es.
  • Überprüfen Sie die Installation:
    node --version

Schritt 2: Suchen Sie die Claude Desktop-Konfiguration

Claude Desktop verwendet eine claude_desktop_config.json Datei zum Konfigurieren von MCP-Servern.

  • Windows : %APPDATA%\Claude\claude_desktop_config.json
  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json

Wenn die Datei nicht existiert, erstellen Sie sie.

Schritt 3: Konfigurieren Sie den MCP-Server

Bearbeiten Sie claude_desktop_config.json , um den x-twitter-mcp Server einzubinden. Ersetzen Sie /path/to/x-twitter-mcp-server durch den tatsächlichen Pfad zu Ihrem Projektverzeichnis (bei Installation aus der Quelle) oder den Pfad zu Ihrer Python-Programmdatei (bei Installation über PyPI).

Bei Installation von PyPI:

{ "mcpServers": { "x-twitter-mcp": { "command": "x-twitter-mcp-server", "args": [], "env": { "PYTHONUNBUFFERED": "1", "TWITTER_API_KEY": "your_api_key", "TWITTER_API_SECRET": "your_api_secret", "TWITTER_ACCESS_TOKEN": "your_access_token", "TWITTER_ACCESS_TOKEN_SECRET": "your_access_token_secret", "TWITTER_BEARER_TOKEN": "your_bearer_token" } } } }

Bei Installation aus der Quelle mit uv :

{ "mcpServers": { "x-twitter-mcp": { "command": "uv", "args": [ "--directory", "/path/to/x-twitter-mcp-server", "run", "x-twitter-mcp-server" ], "env": { "PYTHONUNBUFFERED": "1" } } } }
  • "command": "x-twitter-mcp-server" : Verwendet das CLI-Skript direkt, wenn es von PyPI installiert wurde.
  • "env" : Bei der Installation von PyPI müssen Sie möglicherweise Umgebungsvariablen direkt in der Konfiguration angeben (da keine .env Datei vorhanden ist). Bei der Installation aus der Quelle wird die .env Datei verwendet.
  • "env": {"PYTHONUNBUFFERED": "1"} : Stellt sicher, dass die Ausgabe ungepuffert ist, um eine bessere Protokollierung in Claude zu ermöglichen.

Schritt 4: Starten Sie Claude Desktop neu

  • Beenden Sie Claude Desktop vollständig.
  • Öffnen Sie Claude Desktop erneut, um die neue Konfiguration zu laden.

Schritt 5: Verbindung überprüfen

  • Öffnen Sie Claude Desktop.
  • Suchen Sie im Eingabebereich (unten rechts) nach einem Hammer- oder Verbindungssymbol. Dies zeigt an, dass MCP-Tools verfügbar sind.
  • Klicken Sie auf das Symbol, um die verfügbaren Tools von x-twitter-mcp anzuzeigen, z. B. post_tweet , search_twitter , get_user_profile usw.

Schritt 6: Testen Sie mit Claude

Sie können jetzt in Claude Desktop in natürlicher Sprache mit Twitter interagieren. Hier sind einige Beispielansagen:

  • Ein Benutzerprofil abrufen :
    Get the Twitter profile for user ID 123456.
    Claude ruft das Tool get_user_profile auf und gibt die Benutzerdetails zurück.
  • Einen Tweet posten :
    Post a tweet saying "Hello from Claude Desktop! #MCP"
    Claude verwendet das Tool post_tweet , um den Tweet zu posten und die Aktion zu bestätigen.
  • Twitter durchsuchen :
    Search Twitter for recent tweets about AI.
    Claude ruft das Tool search_twitter auf und gibt relevante Tweets zurück.
  • Trends abrufen :
    What are the current trending topics on Twitter?
    Claude wird das Tool get_trends verwenden, um Trendthemen abzurufen.

Erteilen Sie Claude bei entsprechender Aufforderung die Berechtigung, die MCP-Tools für die Chat-Sitzung zu verwenden.

Verfügbare Tools

Nachfolgend finden Sie eine Liste aller vom x-twitter-mcp Server bereitgestellten Tools sowie Beispielausführungen in Claude Desktop mithilfe natürlicher Sprachaufforderungen.

Benutzerverwaltungstools

get_user_profile
  • Beschreibung : Erhalten Sie detaillierte Profilinformationen für einen Benutzer.
  • Claude Desktop-Beispiel :
    Get the Twitter profile for user ID 123456789.
    Claude gibt die Profildetails des Benutzers zurück, einschließlich ID, Name, Benutzername, URL des Profilbilds und Beschreibung.
get_user_by_screen_name
  • Beschreibung : Ruft einen Benutzer anhand des Bildschirmnamens ab.
  • Claude Desktop-Beispiel :
    Get the Twitter user with screen name "example_user".
    Claude gibt die Profildetails des Benutzers zurück.
get_user_by_id
  • Beschreibung : Ruft einen Benutzer per ID ab.
  • Claude Desktop-Beispiel :
    Fetch the Twitter user with ID 987654321.
    Claude gibt die Profildetails des Benutzers zurück.
get_user_followers
  • Beschreibung : Ruft eine Liste der Follower für einen bestimmten Benutzer ab.
  • Claude Desktop-Beispiel :
    Get the followers of user ID 123456789, limit to 50.
    Claude gibt eine Liste mit bis zu 50 Followern zurück.
get_user_following
  • Beschreibung : Ruft Benutzer ab, denen der angegebene Benutzer folgt.
  • Claude Desktop-Beispiel :
    Who is user ID 123456789 following? Limit to 50 users.
    Claude gibt eine Liste mit bis zu 50 Benutzern zurück.
get_user_followers_you_know
  • Beschreibung : Ruft eine Liste gemeinsamer Follower ab.
  • Claude Desktop-Beispiel :
    Get common followers for user ID 123456789, limit to 50.
    Claude gibt eine Liste mit bis zu 50 gemeinsamen Followern zurück (simuliert durch Filtern der Follower).
get_user_subscriptions
  • Beschreibung : Ruft eine Liste der Benutzer ab, bei denen der angegebene Benutzer angemeldet ist.
  • Claude Desktop-Beispiel :
    Get the subscriptions for user ID 123456789, limit to 50.
    Claude gibt eine Liste mit bis zu 50 Benutzern zurück (wobei er „folgend“ als Proxy für Abonnements verwendet).

Tweet-Verwaltungstools

post_tweet
  • Beschreibung : Posten Sie einen Tweet mit optionalen Medien, Antworten und Tags.
  • Claude Desktop-Beispiel :
    Post a tweet saying "Hello from Claude Desktop! #MCP"
    Claude wird den Tweet posten und die Tweetdetails zurückgeben.
delete_tweet
  • Beschreibung : Löschen Sie einen Tweet anhand seiner ID.
  • Claude Desktop-Beispiel :
    Delete the tweet with ID 123456789012345678.
    Claude wird den Tweet löschen und die Aktion bestätigen.
get_tweet_details
  • Beschreibung : Erhalten Sie detaillierte Informationen zu einem bestimmten Tweet.
  • Claude Desktop-Beispiel :
    Get details for tweet ID 123456789012345678.
    Claude gibt die Details des Tweets zurück, einschließlich ID, Text, Erstellungsdatum und Autoren-ID.
create_poll_tweet
  • Beschreibung : Erstellen Sie einen Tweet mit einer Umfrage.
  • Claude Desktop-Beispiel :
    Create a poll tweet with the question "What's your favorite color?" and options "Red", "Blue", "Green" for 60 minutes.
    Claude erstellt den Umfrage-Tweet und gibt die Tweet-Details zurück.
vote_on_poll
  • Beschreibung : Nehmen Sie an einer Umfrage teil.
  • Claude Desktop-Beispiel :
    Vote "Blue" on the poll in tweet ID 123456789012345678.
    Claude gibt eine simulierte Antwort zurück (da die Twitter-API v2 keine Umfragen unterstützt).
favorite_tweet
  • Beschreibung : Markiert einen Tweet als Favorit.
  • Claude Desktop-Beispiel :
    Like the tweet with ID 123456789012345678.
    Claude wird den Tweet als Favorit markieren und die Aktion bestätigen.
unfavorite_tweet
  • Beschreibung : Entfernt die Favoriten eines Tweets.
  • Claude Desktop-Beispiel :
    Unlike the tweet with ID 123456789012345678.
    Claude wird den Tweet aus seinen Favoriten entfernen und die Aktion bestätigen.
bookmark_tweet
  • Beschreibung : Fügt den Tweet zu den Lesezeichen hinzu.
  • Claude Desktop-Beispiel :
    Bookmark the tweet with ID 123456789012345678.
    Claude wird den Tweet mit einem Lesezeichen versehen und die Aktion bestätigen.
delete_bookmark
  • Beschreibung : Entfernt den Tweet aus den Lesezeichen.
  • Claude Desktop-Beispiel :
    Remove the bookmark for tweet ID 123456789012345678.
    Claude entfernt das Lesezeichen und bestätigt die Aktion.
delete_all_bookmarks
  • Beschreibung : Löscht alle Lesezeichen.
  • Claude Desktop-Beispiel :
    Delete all my Twitter bookmarks.
    Claude löscht alle Lesezeichen und bestätigt die Aktion.

Zeitleiste und Suchwerkzeuge

get_timeline
  • Beschreibung : Erhalten Sie Tweets von Ihrer Home-Timeline (Für Sie).
  • Claude Desktop-Beispiel :
    Show my Twitter For You timeline, limit to 20 tweets.
    Claude gibt bis zu 20 Tweets aus Ihrer „Für Sie“-Timeline zurück.
get_latest_timeline
  • Beschreibung : Erhalten Sie Tweets von Ihrer Home-Timeline (Folgen).
  • Claude Desktop-Beispiel :
    Show my Twitter Following timeline, limit to 20 tweets.
    Claude gibt bis zu 20 Tweets aus Ihrer „Following“-Timeline zurück.
search_twitter
  • Beschreibung : Durchsuchen Sie Twitter mit einer Abfrage.
  • Claude Desktop-Beispiel :
    Search Twitter for recent tweets about AI, limit to 10.
    Claude gibt bis zu 10 aktuelle Tweets zum Thema KI zurück.
  • Beschreibung : Ruft Trendthemen auf Twitter ab.
  • Claude Desktop-Beispiel :
    What are the current trending topics on Twitter? Limit to 10.
    Claude gibt bis zu 10 Trendthemen zurück.
get_highlights_tweets
  • Beschreibung : Ruft markierte Tweets aus der Timeline eines Benutzers ab.
  • Claude Desktop-Beispiel :
    Get highlighted tweets from user ID 123456789, limit to 20.
    Claude gibt bis zu 20 Tweets aus der Timeline des Benutzers zurück (simuliert als Highlights).
get_user_mentions
  • Beschreibung : Erhalten Sie Tweets, in denen ein bestimmter Benutzer erwähnt wird.
  • Claude Desktop-Beispiel :
    Get tweets mentioning user ID 123456789, limit to 20.
    Claude gibt bis zu 20 Tweets zurück, in denen der Benutzer erwähnt wird.

Fehlerbehebung

  • Server startet nicht :
    • Stellen Sie sicher, dass Ihre .env Datei über alle erforderlichen Twitter-API-Anmeldeinformationen verfügt (sofern sie von der Quelle installiert wurde).
    • Stellen Sie bei der Installation von PyPI sicher, dass Umgebungsvariablen in claude_desktop_config.json oder Ihrer Shell festgelegt sind.
    • Überprüfen Sie die Terminalausgabe auf Fehler beim Ausführen von x-twitter-mcp-server .
    • Überprüfen Sie, ob uv oder Ihre ausführbare Python-Datei korrekt installiert und zugänglich ist.
  • Claude erkennt den Server nicht :
    • Bestätigen Sie, dass der Pfad in claude_desktop_config.json korrekt ist.
    • Stellen Sie sicher, dass der command und args auf die richtige ausführbare Datei und das richtige Skript verweisen.
    • Starten Sie Claude Desktop nach der Aktualisierung der Konfigurationsdatei neu.
    • Überprüfen Sie die Protokolle des Entwicklermodus von Claude (Hilfe → Entwicklermodus aktivieren → MCP-Protokolldatei öffnen) auf Fehler.
  • Ratenbegrenzungsfehler :
    • Der Server umfasst eine Ratenbegrenzungsbehandlung, aber wenn Sie die Twitter-API-Begrenzungen erreichen, müssen Sie möglicherweise auf das Zurücksetzungsfenster warten (z. B. 15 Minuten für Tweet-Aktionen).
  • Syntaxwarnungen :
    • Wenn Sie SyntaxWarning Meldungen von Tweepy sehen, liegt das an Docstring-Problemen in Tweepy mit Python 3.13. Der Server verfügt über eine Warnungsunterdrückung, um dies zu beheben.

Beitragen

Beiträge sind willkommen! Bitte melden Sie ein Problem oder senden Sie eine Pull-Anfrage im GitHub-Repository .

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der Datei LICENSE .

Autor

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol (MCP) server for managing social media posts, currently supporting X (formerly Twitter).
    Last updated -
    3
    7
    JavaScript
    MIT License
  • A
    security
    A
    license
    A
    quality
    An MCP server that allows Claude to create, manage and publish X/Twitter posts directly through the chat interface.
    Last updated -
    5
    35
    Python
    MIT License
    • Apple
  • A
    security
    A
    license
    A
    quality
    An MCP server that enables Claude to interact with Twitter, allowing for posting tweets and searching Twitter content.
    Last updated -
    2
    887
    228
    TypeScript
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    A headless MCP server that provides Twitter API access without requiring local credential setup, enabling core Twitter operations like searching tweets, getting user tweets, posting tweets, and replying to tweets.
    Last updated -
    Python
    MIT License

View all related MCP servers

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/rafaljanicki/x-twitter-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server