Skip to main content
Glama

X (Twitter) MCP server

by rafaljanicki

X (Twitter) MCP-сервер

значок кузнеца PyPI-версия

Сервер Model Context Protocol (MCP) для взаимодействия с Twitter (X) через инструменты ИИ. Этот сервер позволяет вам получать твиты, публиковать твиты, искать в Twitter, управлять подписчиками и многое другое, все с помощью команд естественного языка в инструментах ИИ.

Функции

  • Извлекайте профили пользователей, подписчиков и списки подписчиков.

  • Публикуйте, удаляйте и добавляйте в избранное твиты.

  • Поищите твиты и тенденции в Twitter.

  • Управляйте закладками и временными шкалами.

  • Встроенная обработка ограничения скорости для API Twitter.

  • Использует API Twitter v2 с надлежащей аутентификацией (ключи и токены API), избегая взлома имени пользователя и пароля, что сводит к минимуму риск блокировки аккаунта.

  • Обеспечивает полную реализацию конечных точек Twitter API v2 для управления пользователями, твитами, лентами новостей и функциями поиска.

Предпосылки

  • Python 3.10 или выше : убедитесь, что в вашей системе установлен Python.

  • Учетная запись разработчика Twitter : вам потребуются учетные данные API (ключ API, секрет API, токен доступа, секрет токена доступа и токен носителя) с портала разработчиков Twitter .

  • Дополнительно: Claude Desktop : загрузите и установите приложение Claude Desktop с веб-сайта Anthropic .

  • Дополнительно: Node.js (для интеграции MCP): требуется для запуска серверов MCP в Claude Desktop.

  • Менеджер пакетов, например uv или pip для зависимостей Python.

Установка

Вариант 1: Установка через Smithery (рекомендуется)

Чтобы автоматически установить сервер X (Twitter) MCP для Claude Desktop через Smithery :

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

Вариант 2: Установка из PyPI

Самый простой способ установить x-twitter-mcp — через PyPI:

pip install x-twitter-mcp

Вариант 3: Установка из исходного кода

Если вы предпочитаете установку из исходного репозитория:

  1. Клонировать репозиторий :

    git clone https://github.com/rafaljanicki/x-twitter-mcp-server.git cd x-twitter-mcp-server
  2. Настройка виртуальной среды (необязательно, но рекомендуется):

    python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  3. Установка зависимостей : с использованием uv (рекомендуется, так как проект использует uv.lock ):

    uv sync

    Альтернативно, используя pip :

    pip install .
  4. Настройте переменные среды :

    • Создайте файл .env в корне проекта (можно скопировать .env.example , если он есть).

    • Добавьте свои учетные данные Twitter API:

      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

Запуск сервера

Запустить сервер можно двумя способами:

Вариант 1: использование скрипта CLI

Проект определяет CLI-скрипт x-twitter-mcp-server .

Если установлено из PyPI:

x-twitter-mcp-server

Если установлено из исходного кода с uv :

uv run x-twitter-mcp-server

Вариант 2: использование FastMCP напрямую (только исходный код)

Если вы выполнили установку из исходного кода и предпочитаете запустить сервер с использованием режима разработки FastMCP:

fastmcp dev src/x_twitter_mcp/server.py

Сервер запустится и будет прослушивать соединения MCP. Вы должны увидеть вывод вроде:

Starting TwitterMCPServer...

Использование с Claude Desktop

Чтобы использовать этот сервер MCP с Claude Desktop, вам нужно настроить Claude для подключения к серверу. Выполните следующие шаги:

Шаг 1: Установка Node.js

Claude Desktop использует Node.js для запуска MCP-серверов. Если у вас не установлен Node.js:

  • Загрузите и установите Node.js с nodejs.org .

  • Проверьте установку:

    node --version

Шаг 2: Найдите конфигурацию рабочего стола Claude

Claude Desktop использует файл claude_desktop_config.json для настройки серверов MCP.

  • Windows : %APPDATA%\Claude\claude_desktop_config.json

  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json

Если файл не существует, создайте его.

Шаг 3: Настройте сервер MCP

Отредактируйте claude_desktop_config.json , чтобы включить сервер x-twitter-mcp . Замените /path/to/x-twitter-mcp-server на фактический путь к каталогу вашего проекта (если установлен из исходников) или путь к исполняемому файлу Python (если установлен из PyPI).

Если установлено из 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" } } } }

Если установлено из исходного кода с 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" : использует скрипт CLI напрямую, если установлен из PyPI.

  • "env" : Если установлено из PyPI, вам может потребоваться указать переменные среды непосредственно в конфигурации (так как нет файла .env ). Если установлено из исходного кода, будет использоваться файл .env .

  • "env": {"PYTHONUNBUFFERED": "1"} : обеспечивает отсутствие буферизации выходных данных для лучшего ведения журнала в Claude.

Шаг 4: Перезагрузите Claude Desktop.

  • Полностью закройте Claude Desktop.

  • Повторно откройте Claude Desktop, чтобы загрузить новую конфигурацию.

Шаг 5: Проверка подключения

  • Откройте рабочий стол Клода.

  • Найдите значок молотка или соединителя в области ввода (нижний правый угол). Это означает, что доступны инструменты MCP.

  • Щелкните значок, чтобы увидеть доступные инструменты из x-twitter-mcp , такие как post_tweet , search_twitter , get_user_profile и т. д.

Шаг 6: Тест с Клодом

Теперь вы можете взаимодействовать с Twitter, используя естественный язык в Claude Desktop. Вот несколько примеров подсказок:

  • Получить профиль пользователя :

    Get the Twitter profile for user ID 123456.

    Клод вызовет инструмент get_user_profile и вернет данные пользователя.

  • Опубликовать твит :

    Post a tweet saying "Hello from Claude Desktop! #MCP"

    Клод воспользуется инструментом post_tweet , чтобы опубликовать твит и подтвердить действие.

  • Поиск в Твиттере :

    Search Twitter for recent tweets about AI.

    Клод вызовет инструмент search_twitter и вернет релевантные твиты.

  • Получить тенденции :

    What are the current trending topics on Twitter?

    Клод будет использовать инструмент get_trends для получения актуальных тем.

При появлении соответствующего запроса предоставьте Клоду разрешение на использование инструментов MCP для сеанса чата.

Доступные инструменты

Ниже приведен список всех инструментов, предоставляемых сервером x-twitter-mcp , а также примеры выполнения в Claude Desktop с использованием подсказок на естественном языке.

Инструменты управления пользователями

get_user_profile

  • Описание : Получите подробную информацию о профиле пользователя.

  • Пример рабочего стола Клода :

    Get the Twitter profile for user ID 123456789.

    Клод вернет данные профиля пользователя, включая идентификатор, имя, имя пользователя, URL-адрес изображения профиля и описание.

get_user_by_screen_name

  • Описание : Выбирает пользователя по его экранному имени.

  • Пример рабочего стола Клода :

    Get the Twitter user with screen name "example_user".

    Клод вернет данные профиля пользователя.

get_user_by_id

  • Описание : Выбирает пользователя по идентификатору.

  • Пример рабочего стола Клода :

    Fetch the Twitter user with ID 987654321.

    Клод вернет данные профиля пользователя.

get_user_followers

  • Описание : Возвращает список подписчиков указанного пользователя.

  • Пример рабочего стола Клода :

    Get the followers of user ID 123456789, limit to 50.

    Клод вернет список из 50 подписчиков.

get_user_following

  • Описание : Извлекает пользователей, на которых подписан указанный пользователь.

  • Пример рабочего стола Клода :

    Who is user ID 123456789 following? Limit to 50 users.

    Клод вернет список из 50 пользователей.

get_user_followers_you_know

  • Описание : Возвращает список общих подписчиков.

  • Пример рабочего стола Клода :

    Get common followers for user ID 123456789, limit to 50.

    Клод вернет список из 50 общих подписчиков (смоделированных путем фильтрации подписчиков).

get_user_subscriptions

  • Описание : Извлекает список пользователей, на которые подписан указанный пользователь.

  • Пример рабочего стола Клода :

    Get the subscriptions for user ID 123456789, limit to 50.

    Клод вернет список из 50 пользователей (используя подписку в качестве прокси для подписок).

Инструменты управления твитами

post_tweet

  • Описание : Опубликуйте твит с дополнительными медиафайлами, ответом и тегами.

  • Пример рабочего стола Клода :

    Post a tweet saying "Hello from Claude Desktop! #MCP"

    Клод опубликует твит и вернет данные о твите.

delete_tweet

  • Описание : Удалить твит по его идентификатору.

  • Пример рабочего стола Клода :

    Delete the tweet with ID 123456789012345678.

    Клод удалит твит и подтвердит действие.

get_tweet_details

  • Описание : Получите подробную информацию о конкретном твите.

  • Пример рабочего стола Клода :

    Get details for tweet ID 123456789012345678.

    Клод вернет данные твита, включая идентификатор, текст, дату создания и идентификатор автора.

create_poll_tweet

  • Описание : Создайте твит с опросом.

  • Пример рабочего стола Клода :

    Create a poll tweet with the question "What's your favorite color?" and options "Red", "Blue", "Green" for 60 minutes.

    Клод создаст твит с опросом и вернет данные твита.

vote_on_poll

  • Описание : Проголосуйте в опросе.

  • Пример рабочего стола Клода :

    Vote "Blue" on the poll in tweet ID 123456789012345678.

    Клод вернет фиктивный ответ (поскольку Twitter API v2 не поддерживает опросное голосование).

favorite_tweet

  • Описание : Добавляет твит в избранное.

  • Пример рабочего стола Клода :

    Like the tweet with ID 123456789012345678.

    Клод добавит твит в избранное и подтвердит действие.

unfavorite_tweet

  • Описание : Удаляет твит из избранного.

  • Пример рабочего стола Клода :

    Unlike the tweet with ID 123456789012345678.

    Клод удалит твит из избранного и подтвердит действие.

bookmark_tweet

  • Описание : Добавляет твит в закладки.

  • Пример рабочего стола Клода :

    Bookmark the tweet with ID 123456789012345678.

    Клод добавит твит в закладки и подтвердит действие.

delete_bookmark

  • Описание : Удаляет твит из закладок.

  • Пример рабочего стола Клода :

    Remove the bookmark for tweet ID 123456789012345678.

    Клод удалит закладку и подтвердит действие.

delete_all_bookmarks

  • Описание : Удаляет все закладки.

  • Пример рабочего стола Клода :

    Delete all my Twitter bookmarks.

    Клод удалит все закладки и подтвердит действие.

Временная шкала и инструменты поиска

get_timeline

  • Описание : Получайте твиты из своей домашней ленты (Для вас).

  • Пример рабочего стола Клода :

    Show my Twitter For You timeline, limit to 20 tweets.

    Клод вернет до 20 твитов из вашей ленты «Для вас».

get_latest_timeline

  • Описание : Получайте твиты из своей домашней ленты (Подписки).

  • Пример рабочего стола Клода :

    Show my Twitter Following timeline, limit to 20 tweets.

    Клод вернет до 20 твитов из вашей ленты «Подписки».

search_twitter

  • Описание : Поиск в Twitter по запросу.

  • Пример рабочего стола Клода :

    Search Twitter for recent tweets about AI, limit to 10.

    Клод вернет до 10 последних твитов об ИИ.

get_trends

  • Описание : Находит популярные темы в Twitter.

  • Пример рабочего стола Клода :

    What are the current trending topics on Twitter? Limit to 10.

    Клод вернет до 10 популярных тем.

get_highlights_tweets

  • Описание : Извлекает выделенные твиты из ленты пользователя.

  • Пример рабочего стола Клода :

    Get highlighted tweets from user ID 123456789, limit to 20.

    Клод вернет до 20 твитов из ленты пользователя (симулированных как основные моменты).

get_user_mentions

  • Описание : Получите твиты, в которых упоминается конкретный пользователь.

  • Пример рабочего стола Клода :

    Get tweets mentioning user ID 123456789, limit to 20.

    Клод вернет до 20 твитов, в которых упоминается пользователь.

Поиск неисправностей

  • Сервер не запускается :

    • Убедитесь, что ваш файл .env содержит все необходимые учетные данные Twitter API (если он установлен из источника).

    • Если установлена из PyPI, убедитесь, что переменные среды заданы в claude_desktop_config.json или в вашей оболочке.

    • Проверьте вывод терминала на наличие ошибок при запуске x-twitter-mcp-server .

    • Убедитесь, что uv или исполняемый файл Python правильно установлены и доступны.

  • Клод не обнаруживает сервер :

    • Убедитесь, что путь в claude_desktop_config.json правильный.

    • Убедитесь, что command и args указывают на правильный исполняемый файл и скрипт.

    • Перезапустите Claude Desktop после обновления файла конфигурации.

    • Проверьте журналы режима разработчика Клода (Справка → Включить режим разработчика → Открыть файл журнала MCP) на наличие ошибок.

  • Ошибки ограничения скорости :

    • Сервер включает обработку ограничений скорости, но если вы достигнете ограничений API Twitter, вам, возможно, придется подождать окна сброса (например, 15 минут для действий с твитами).

  • Предупреждения о синтаксисе :

    • Если вы видите сообщения SyntaxWarning от Tweepy, они вызваны проблемами docstring в Tweepy с Python 3.13. Сервер включает подавление предупреждений для решения этой проблемы.

Внося вклад

Вклады приветствуются! Пожалуйста, откройте issue или отправьте pull request в репозитории GitHub .

Лицензия

Этот проект лицензирован по лицензии MIT. Подробности см. в файле LICENSE .

Автор

Related MCP Servers

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