X API MCP (xmcp)

X API FastMCP Server

Локальный MCP-сервер на FastMCP превращает спецификацию OpenAPI платформы X в инструменты: поиск и публикация постов, сообщения, списки, закладки

  • 864 ★ репозитория
  • Последний коммит
MCP-серверОфициальный

Широкий доступ

Почему такой уровень

  • Агент публикует и удаляет посты, ставит отметки, подписывается и пишет сообщения от имени аккаунта: инструменты записи включены, пока не задан список разрешенных
  • Ключ, секрет и токен приложения лежат в `.env`, а флаги отладки могут напечатать токены пользователя
  • Сервер слушает локальный порт 8000, и любой подключенный к нему клиент MCP получает все включенные инструменты
Все причины и проверки
Нужен VPN

xdevplatform/xmcp

Установка

Работает в

Ручная установка

python server.py

Запуск сервера. Клиент подключается к `http://127.0.0.1:8000/mcp`. При старте откроется браузер для согласия OAuth1.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Агент публикует и удаляет посты, ставит отметки, подписывается и пишет сообщения от имени аккаунта: инструменты записи включены, пока не задан список разрешенных
  • Ключ, секрет и токен приложения лежат в `.env`, а флаги отладки могут напечатать токены пользователя
  • Сервер слушает локальный порт 8000, и любой подключенный к нему клиент MCP получает все включенные инструменты

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Сервер от организации X Developer Platform — небольшой скрипт `server.py` на Python с библиотекой FastMCP. При запуске он скачивает спецификацию OpenAPI со страницы `https://api.twitter.com/2/openapi.json`, отбрасывает операции потоковой передачи и вебхуков и превращает остальные в MCP-инструменты. В документации перечислено 119 имен: `searchPostsRecent`, `getUsersByUsername`, `createPosts`, `deletePosts`, `likePost`, `followUser`, `sendChatMessage`, `createDirectMessagesByConversationId`, списки, закладки, метрики постов, пространства, новости и другие. Для работы нужны токены приложения на X Developer Platform: `X_OAUTH_CONSUMER_KEY`, `X_OAUTH_CONSUMER_SECRET` и `X_BEARER_TOKEN`. При старте сервер открывает в браузере согласие OAuth1 и ждет ответа на локальном адресе `http://127.0.0.1:8976/oauth/callback`, который нужно зарегистрировать в приложении. Токены пользователя живут только в памяти процесса. MCP-конечная точка доступна по адресу `http://127.0.0.1:8000/mcp`. Набор инструментов можно сузить: переменная `X_API_TOOL_ALLOWLIST` принимает имена через запятую, например `getUsersByUsername,createPosts,searchPostsRecent`. Фильтр применяется при запуске, после правки сервер нужно перезапустить. В репозитории есть и необязательный тестовый клиент `test_grok_mcp.py`, который подключает к серверу модель Grok через ключ `XAI_API_KEY`.

Для кого. Для разработчиков и аналитиков с приложением на X Developer Platform, которые хотят дать агенту работу с постами, сообщениями и списками аккаунта.

Подходит, если

  • Агенту нужно искать свежие посты командой уровня `searchPostsRecent` и читать профили через `getUsersByUsername`
  • Нужны метрики постов и аккаунта: в списке есть `getPostsAnalytics`, `getMediaAnalytics` и `getInsights28Hr`
  • Агент должен публиковать посты, ставить отметки и подписываться, но только по списку: `X_API_TOOL_ALLOWLIST` оставит нужные инструменты
  • Нужно управлять списками и закладками аккаунта: есть `createLists`, `addListsMember`, `createUsersBookmark` и обратные операции
  • Интеграцию нужно проверить на модели Grok: в репозитории лежит клиент `test_grok_mcp.py`

Не подходит, если

  • Нет приложения на X Developer Platform: без токенов приложения сервер не запустится
  • Нужны потоковые данные и вебхуки: сервер исключает все операции с `/stream` и `/webhooks`
  • Нужна работа только на чтение с минимальным доступом: сервер по умолчанию отдает и инструменты записи, их придется убрать списком `X_API_TOOL_ALLOWLIST`
  • Нужна ясность с правами на код: в репозитории нет файла лицензии

Пример запроса к агенту

Найди последние посты со словами Claude Code и покажи топ по лайкам, ничего не публикуй

MCP

Транспорт
http
Авторизация
OAuth

Переменные окружения

X_OAUTH_CONSUMER_KEY обязательная
Ключ приложения на X Developer Platform.
X_OAUTH_CONSUMER_SECRET обязательная, секрет
Секрет приложения.
X_BEARER_TOKEN обязательная, секрет
Токен приложения, обязателен даже при входе через OAuth1.
X_API_TOOL_ALLOWLIST
Имена инструментов через запятую, которые нужно загрузить.

Ограничения

  • Автор не указал лицензию, права на использование и копирование не определены, уточните у автора.
  • В документации указаны три обязательных значения: ключ и секрет приложения плюс `X_BEARER_TOKEN`. Последний нужен, даже если вы входите через OAuth1.
  • При запуске сервер открывает браузер для согласия OAuth1 и ждет ответа 300 секунд по умолчанию (`X_OAUTH_CALLBACK_TIMEOUT`), без согласия инструменты от лица пользователя недоступны.
  • Отладка включена по умолчанию (`X_API_DEBUG=1`). Флаги `X_OAUTH_PRINT_TOKENS` и `X_OAUTH_PRINT_AUTH_HEADER` печатают токены и заголовки авторизации, включать их стоит только для диагностики.
  • Скрипт `generate_authtoken.py` для токена OAuth2 описан в документации, но в дереве репозитория его нет.
  • Для удаленного клиента документация предлагает туннель ngrok и не описывает защиту адреса сервера.

Как отключить. Остановите процесс `python server.py` и удалите запись сервера из конфигурации MCP-клиента. Файл `.env` с ключами приложения удалите или очистите. Права приложения можно отозвать в кабинете X Developer Platform.

Частые вопросы

Откуда берутся инструменты сервера?

Из спецификации OpenAPI, которую сервер скачивает при каждом запуске с `https://api.twitter.com/2/openapi.json`. Операции с `/stream`, `/webhooks` и теги `Stream` и `Webhooks` исключаются. Набор инструментов следует за актуальной спецификацией, поэтому список в документации может отставать.

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

Задайте в `.env` переменную `X_API_TOOL_ALLOWLIST` с именами, например `getUsersByUsername,searchPostsRecent`, и перезапустите сервер. Пока список пуст, загружаются все инструменты, включая `createPosts` и `deletePosts`.

Что нужно зарегистрировать в приложении X?

Адрес обратного вызова вида `http://<X_OAUTH_CALLBACK_HOST>:<X_OAUTH_CALLBACK_PORT><X_OAUTH_CALLBACK_PATH>`. По умолчанию это `http://127.0.0.1:8976/oauth/callback`.

Где хранятся токены пользователя?

Только в памяти процесса сервера, пока он работает. На диск OAuth1-токены не записываются. Для OAuth2 в `.env` можно вручную положить `X_OAUTH_ACCESS_TOKEN`.

Как подключить удаленный клиент?

Документация предлагает пробросить локальный порт через туннель, например `ngrok http 8000`, и использовать публичный адрес, оканчивающийся на `/mcp`. Прежде чем так делать, учтите, что описания защиты этого адреса в документации нет.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы
Официальный

MCP-сервер планировщика соцсетей OpenPost: агент смотрит календарь и аккаунты, готовит черновики, планирует и публикует посты, разбирает комментарии

MCP-серверШирокий доступ753Звезды репозитория

Self-hosted MCP-сервер для xiaohongshu: публикация заметок и видео, поиск, лента, комментарии, лайки и избранное от лица агента

MCP-серверШирокий доступ16,4 тыс.Звезды репозитория

Instagram MCP

instagram-mcp

Нужен VPN

MCP-сервер для Instagram Graph API: агент публикует посты, карусели и reels, отвечает на комментарии и читает аналитику бизнес-аккаунта

MCP-серверШирокий доступ61Звезды репозитория
Российский стек

MCP-сервер публикует один текст сразу в Telegram, ВКонтакте (группа и личная стена) и TenChat одним вызовом publish_all

MCP-серверШирокий доступ

Telegram API MCP

telegram-api-mcp

Российский стек

MCP-сервер для Telegram Bot API: сообщения, каналы, форумы, платежи и длинные посты от имени бота с учетом лимитов Telegram

MCP-серверШирокий доступ33Звезды репозитория
Официальный

Официальный удаленный MCP-сервер Metricool: агент публикует посты, смотрит аналитику соцсетей и ведет рекламные кампании

MCP-серверШирокий доступ

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
X API MCP (xmcp) (эта запись)даOAuth864
x-researchнет1 240скилл с командой на Bun для поиска постов, тредов и профилей через X API, с кэшем и оценкой стоимости; xmcp отдает весь API инструментами MCP, включая запись
Agent Reachнет101 004читает и ищет в Twitter, Reddit, YouTube и других сетях без платных API; xmcp работает только с X и через официальный API

Коротко о README

Документация разбита на предварительные требования, локальную установку с таблицей переменных окружения, регистрацию адреса обратного вызова, запуск и подключение клиента. Затем идут фильтр инструментов, описание старта OAuth1, полный список имен инструментов для копирования в разрешенный перечень, получение токена OAuth2, тестовый клиент Grok и примечания об исключениях. В репозитории пять файлов: сам сервер, тестовый клиент, список зависимостей, образец `.env` и документация. Тестов нет.

Бейдж для README

Сообщить о проблеме

Foxx AIX API MCP (xmcp)
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.