База знаний
X MCP — официальные MCP-серверы X для X API и документации
Официальные MCP-серверы X: X MCP для вызова X API через мост xurl и Docs MCP для поиска по документации. Как подключить к Grok, Cursor, Claude и VS Code.
СейчасЧто это такое
- Что это такое
- Два сервера
- Что умеет X MCP
- Как устроено подключение
- Два способа авторизации
- Быстрый старт через мост xurl
- Grok Build
- Cursor
- Claude Desktop
- VS Code (GitHub Copilot, режим агента)
- Codex (CLI и IDE)
- Любой MCP-клиент
- Простой способ: App-only Bearer
- Docs MCP — поиск по документации
- Практические сценарии
- Сколько это стоит
- Примеры расчёта
- Как держать расходы под контролем
- Приложение и доступ
- Проверка и типичные ошибки
- Безопасность
- Ссылки
X MCP — официальные серверы Model Context Protocol от X (бывший Twitter), которые подключают ИИ-инструменты напрямую к X API и к документации платформы. Запущены 30 июня 2026 командой X Developer Platform.
https://api.x.com/mcp) даёт модели вызывать X API: поиск по архиву, пользователи, закладки, тренды, новости и Articles. Docs MCP (https://docs.x.com/mcp) ищет и читает документацию X API. Подключение к X MCP идёт через опенсорс-мост xurl, который берёт на себя OAuth и подставляет свежий токен на каждый вызов.Что это такое
X MCP — это два хостящихся сервера Model Context Protocol от самой X. Через них любой MCP-совместимый клиент (Grok Build, Cursor, Claude, Codex, VS Code и другие) получает доступ к X API под правами вашего аккаунта.
Важно не путать официальные серверы с двумя соседними вещами:
- Сторонние комьюнити-серверы (
mbelinky/x-mcp-server,rafaljanicki/x-twitter-mcp-serverи десятки других). Они появились раньше, живут на чужих ключах и не поддерживаются X. - Bring Your Own MCP от Grok — механизм xAI, который подключает к Grok произвольный внешний MCP-сервер. Это механизм на стороне клиента; X MCP же — сервер самой платформы.
Два сервера
| Сервер | Что делает | URL |
| X MCP | Вызовы X API: поиск постов, пользователи, закладки, тренды, новости, Articles | https://api.x.com/mcp (hosted, через xurl mcp) |
| Docs MCP | Поиск и чтение документации X API | https://docs.x.com/mcp (hosted) |
Технически X MCP — это Streamable HTTP-сервер (протокол 2025-06-18, serverInfo: xmcp), который отдаёт 200+ эндпоинтов X API как вызываемые инструменты. Стриминговые и webhook-эндпоинты в набор не входят.
Что умеет X MCP
| Категория | Что может модель |
| Посты | Читать посты, смотреть лайкнувших / репостнувших / цитирующих, счётчики за период |
| Поиск | Поиск по полному архиву постов, поиск пользователей, поиск новостей |
| Пользователи | Определять текущего пользователя, искать по id / хэндлу, читать посты, ленту и упоминания |
| Закладки | Смотреть, добавлять и удалять закладки, управлять папками закладок |
| Новости и тренды | Получать новостные сюжеты и тренды по локации (WOEID) |
| Articles | Создавать черновики Articles и публиковать их |
Как устроено подключение
X API работает на OAuth, требующем вашего собственного приложения. Динамической регистрации клиента нет, и api.x.com/mcp не отдаёт нативное MCP OAuth-обнаружение. Поэтому клиент подключают через маленький локальный мост xurl. Мост держит идентичность приложения, проводит разовый логин и сам обновляет токен.
flowchart LR
A["MCP-клиент<br>Grok Build, Cursor, …"] -- "stdio JSON-RPC" --> B["xurl mcp<br>локальный мост"]
B -- "HTTPS + Bearer" --> C["api.x.com/mcp"]
B <-- "OAuth2 PKCE + авто-refresh" --> D["X OAuth"]Как это работает на практике:
- Мост запускается через npm-лаунчер (
npx), отдельная установка не нужна. - При первом запуске без токена он открывает браузер для разового входа OAuth 2.0, кэширует токен и дальше обновляет его сам.
- Вся диагностика идёт в
stderr, аstdoutостаётся чистым JSON-RPC-каналом.
Два способа авторизации
| Способ | Когда подходит | Ограничения |
| App-only Bearer | Быстрый старт, только чтение. Токен приложения в заголовке Authorization, без моста и без браузера | Нет пользовательского контекста (не действует от вашего имени), нет авто-refresh |
Мост xurl (OAuth 2.0) | Полный доступ. Мост проводит PKCE-логин и обновляет токены, модель действует в рамках прав вашего аккаунта | Нужен первый вход через браузер; требуется для записи (закладки, Articles) |
xurl с OAuth 2.0.Быстрый старт через мост xurl
Пререквизиты:
- Приложение X с включённым OAuth 2.0 в X Developer Portal.
- Зарегистрированный redirect URI
http://localhost:8080/callback(нужен для первого входа через браузер). CLIENT_IDиCLIENT_SECRETприложения.- Установленный Node.js (для
npx).
Рекомендуется поставить xurl заранее одним из способов:
brew install --cask xdevplatform/tap/xurl # Homebrew
npm install -g @xdevplatform/xurl # npm (глобально)
curl -fsSL https://raw.githubusercontent.com/xdevplatform/xurl/main/install.sh | bashxurl auth oauth2 --headless (флоу с ручной вставкой кода), дальше мост просто переиспользует кэшированный токен.Grok Build
Конфиг ~/.grok/config.toml:
[mcp_servers.xapi]
command = "npx"
args = ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"]
enabled = true
startup_timeout_sec = 300 # дайте время на первый вход через браузер
[mcp_servers.xapi.env]
CLIENT_ID = "YOUR_X_APP_CLIENT_ID"
CLIENT_SECRET = "YOUR_X_APP_CLIENT_SECRET"Проверить и посмотреть список инструментов:
grok mcp doctor xapi # проверка: сервер стартовал, handshake прошёл, инструменты найдены
grok mcp listCursor
Создайте ~/.cursor/mcp.json (глобально) или .cursor/mcp.json (только для проекта):
{
"mcpServers": {
"xapi": {
"command": "npx",
"args": ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"],
"env": {
"CLIENT_ID": "YOUR_X_APP_CLIENT_ID",
"CLIENT_SECRET": "YOUR_X_APP_CLIENT_SECRET"
}
}
}
}Затем откройте Cursor → Settings → MCP и убедитесь, что xapi горит зелёным и показывает инструменты.
Claude Desktop
Файл claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"xapi": {
"command": "npx",
"args": ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"],
"env": { "CLIENT_ID": "YOUR_X_APP_CLIENT_ID", "CLIENT_SECRET": "YOUR_X_APP_CLIENT_SECRET" }
}
}
}После перезапуска Claude Desktop инструменты X появятся в меню инструментов (🔌).
VS Code (GitHub Copilot, режим агента)
Файл .vscode/mcp.json:
{
"servers": {
"xapi": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"],
"env": { "CLIENT_ID": "YOUR_X_APP_CLIENT_ID", "CLIENT_SECRET": "YOUR_X_APP_CLIENT_SECRET" }
}
}
}Codex (CLI и IDE)
Codex (CLI и IDE-расширение OpenAI) хранит конфигурацию MCP в ~/.codex/config.toml; настройки уровня проекта кладут в .codex/config.toml — они подхватываются только для доверенных проектов. Codex поддерживает и stdio-серверы, и Streamable HTTP, поэтому годятся оба способа — и мост xurl, и прямое подключение по URL.
Рекомендуемый вариант — мост через ~/.codex/config.toml:
[mcp_servers.xapi]
command = "npx"
args = ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"]
startup_timeout_sec = 300 # по умолчанию всего 10 сек — поднимите под первый вход через браузер
[mcp_servers.xapi.env]
CLIENT_ID = "YOUR_X_APP_CLIENT_ID"
CLIENT_SECRET = "YOUR_X_APP_CLIENT_SECRET"То же самое одной командой в терминале:
codex mcp add xapi \
--env CLIENT_ID=YOUR_X_APP_CLIENT_ID \
--env CLIENT_SECRET=YOUR_X_APP_CLIENT_SECRET \
-- npx -y @xdevplatform/xurl mcp https://api.x.com/mcpПроверить подключение — команда codex mcp (список серверов) или /mcp внутри сессии Codex. Дефолтный startup_timeout_sec у Codex — 10 секунд, поэтому под разовый OAuth-вход через браузер его обязательно нужно поднять. Для сценария «только чтение» Codex умеет и прямой remote-MCP: вместо command/args укажите url = "https://api.x.com/mcp" и bearer_token_env_var с именем переменной, где лежит App-only Bearer-токен.
Любой MCP-клиент
Параметры моста (stdio):
| Поле | Значение |
command | npx |
args | ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"] |
env | CLIENT_ID, CLIENT_SECRET |
| startup timeout | ≥ 300 сек (чтобы первый вход успел завершиться) |
Если xurl установлен нативно, замените command / args на "command": "xurl", "args": ["mcp", "https://api.x.com/mcp"].
Простой способ: App-only Bearer
Для эндпоинтов только на чтение мост можно пропустить и указать клиенту статический App-only Bearer-токен. Подходит клиентам, которые умеют remote MCP с кастомными заголовками.
# ~/.grok/config.toml
[mcp_servers.xapi_direct]
url = "https://api.x.com/mcp"
enabled = true
[mcp_servers.xapi_direct.headers]
Authorization = "Bearer YOUR_APP_ONLY_BEARER_TOKEN"JSON-вариант для Cursor или Claude:
{
"mcpServers": {
"xapi": {
"url": "https://api.x.com/mcp",
"headers": { "Authorization": "Bearer YOUR_APP_ONLY_BEARER_TOKEN" }
}
}
}Плата за простоту: нет авто-refresh и нет пользовательского контекста. Для полного набора функций берите мост.
Docs MCP — поиск по документации
Второй сервер, https://docs.x.com/mcp, ищет и читает документацию X API прямо из вашего клиента. Авторизация не нужна.
| Инструмент | Что делает |
search_x | Поиск по документации X: справка по API, примеры кода, гайды |
get_page_x | Получить полное содержимое страницы документации по её пути |
Конфиг:
{
"mcpServers": {
"x-docs": {
"url": "https://docs.x.com/mcp"
}
}
}Оба сервера можно подключить одновременно — тогда ассистент и ищет справку, и вызывает API. Пример для Grok Build:
[mcp_servers.xapi]
command = "npx"
args = ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"]
enabled = true
startup_timeout_sec = 300
[mcp_servers.xapi.env]
CLIENT_ID = "YOUR_X_APP_CLIENT_ID"
CLIENT_SECRET = "YOUR_X_APP_CLIENT_SECRET"
[mcp_servers.x-docs]
url = "https://docs.x.com/mcp"
enabled = trueПрактические сценарии
- Мониторинг трендов и новостей. Агент забирает тренды по нужной локации и новостные сюжеты, а затем сам собирает сводку по интересующей теме.
- Ресёрч по архиву. Полноархивный поиск постов и пользователей для анализа обсуждений, конкурентов или реакции на запуск.
- Закладки как база материалов. Модель складывает найденные посты в папки закладок и разбирает их позже — удобный вход для контент-пайплайна.
- Черновики Articles. Агент готовит и публикует длинные материалы Articles через API под правами вашего аккаунта.
Сколько это стоит
Само подключение X MCP и мост xurl бесплатны, а Docs MCP не требует ни оплаты, ни авторизации. Платите вы только за вызовы X API — по модели pay-per-use: без подписок и абонплаты, кредиты списываются за каждый запрос. Кредиты покупаются в Developer Console, там же виден расход в реальном времени. Бесплатного тарифа для новых разработчиков больше нет, а прежние Basic ($200/мес) и Pro ($5 000/мес) в 2026 переводятся на pay-per-use.
Базовые ставки (актуальные всегда есть в консоли):
| Операция | Стоимость |
| Чтение поста | $0.005 за ресурс |
| Чтение пользователя / подписок | $0.010 за ресурс |
| Owned Reads — свои посты, закладки, подписчики | $0.001 за ресурс |
| Тренды | $0.010 за запрос |
| Публикация поста | $0.015 (со ссылкой — $0.20) |
| Действие с закладкой | $0.005 за запрос |
Два фактора заметно снижают счёт:
- Дедупликация. Один и тот же ресурс в течение суток (UTC) тарифицируется один раз — повторные чтения того же поста в этом окне бесплатны.
- Owned Reads. Чтение своих же данных стоит $0.001 за ресурс — в 5–10 раз дешевле обычного. Это выгодно для личных дашбордов и аналитики собственного аккаунта.
Примеры расчёта
- Ежедневный дайджест трендов и новостей. За прогон: тренды ($0.010) + 40 постов по теме ($0.005 × 40 = $0.20) + 10 авторов ($0.010 × 10 = $0.10) ≈ $0.31. За месяц ежедневных прогонов — около $9.
- Разовый ресёрч по архиву перед запуском. 500 постов ($0.005 × 500 = $2.50) + 80 авторов ($0.010 × 80 = $0.80) ≈ $3.30 за разбор.
- Личная аналитика через Owned Reads. 3 000 своих ресурсов — постов, закладок, подписчиков — по $0.001 ≈ $3.00.
- Публикация из агента за месяц. 30 анонсов со ссылкой ($0.20 × 30 = $6.00) + 30 постов без ссылок ($0.015 × 30 = $0.45) + 50 действий с закладками ($0.005 × 50 = $0.25) ≈ $6.70.
Как держать расходы под контролем
- Spending limit — жёсткий потолок трат за биллинг-цикл: по достижении лимита запросы блокируются до следующего цикла.
- Auto-recharge — автопополнение баланса (срабатывает не чаще раза в 5 минут и не работает при нулевом или отрицательном балансе).
- Usage API (
GET /2/usage/tweets) — суточный расход постов программно, удобно для алертов о приближении к бюджету. - Кешбэк xAI. При покупке X API-кредитов возвращается до 20% кредитами xAI API в зависимости от накопленных трат за цикл: $200+ → 10%, $500+ → 15%, $1 000+ → 20%.
Приложение и доступ
- Нужно своё приложение в X Developer Portal с OAuth 2.0; мост кэширует токены в
~/.xurlи обновляет их сам, в том числе после ответа401. - При ошибке
client-not-enrolledпосле логина включите приложению pay-per-use и переведите его в Production в консоли. - Инструменты действуют в рамках scopes вашего аккаунта. Для действий от имени второго аккаунта или бота переключите нужный аккаунт в браузере до завершения логина.
- Запись (закладки, публикация Articles) строже по rate limits, чем чтение: ждите периодических
429и делайте backoff.
Проверка и типичные ошибки
| Симптом | Причина и решение |
| Клиент виснет на старте | Поднимите startup_timeout_sec до 300+: мост ждёт вход через браузер |
| Браузер не открывается | Нет дисплея (headless) → сначала xurl auth oauth2 --headless; проверьте, что npx доступен |
401 / token refresh failed | Неверные ключи приложения или отозван refresh-токен → повторите логин xurl auth oauth2 |
| Ошибка redirect / callback | http://localhost:8080/callback не зарегистрирован на приложении (или не совпадает REDIRECT_URI) |
client-not-enrolled после логина | Приложение не в том окружении → переведите в Pay-per-use и Production |
npx тянет устаревшую версию | Приватный реестр по умолчанию → добавьте --registry=https://registry.npmjs.org/ в args |
| Пустой или битый вывод | Не запускайте клиент с --verbose: stdout должен оставаться чистым JSON-RPC-каналом |
Безопасность
~/.xurl и access-токены в чаты, логи и общие конфиги. Держите ключи в env-переменных вместо закоммиченных файлов.- Заводите отдельное приложение под MCP только с нужными scopes.
- Предпочитайте пер-проектные
.mcp.json/.grok/config.toml, которые ссылаются на env-переменные вместо сырых секретов. - Мост работает локально: ключи не покидают машину, наружу по TLS уходит только Bearer-токен.
Ссылки
- Документация X MCP: docs.x.com/tools/mcp
- Agent Resources (обзор инструментов для агентов): docs.x.com/tools/ai
- Репозиторий моста
xurl: github.com/xdevplatform/xurl - Локальный сервер на FastMCP: github.com/xdevplatform/xmcp
- OpenAPI-спека X API: api.x.com/2/openapi.json
- Стандарт MCP: modelcontextprotocol.io
По теме
X MCP пригодится, когда ИИ-агенту нужно работать с живыми данными X: собирать тренды, разбирать обсуждения, вести закладки и готовить публикации. Если вы собираете такой контур для себя или команды и хотите обсудить, с чего начать и как аккуратно развести права доступа и токены, — напишите.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov
Если хотите разобрать свою задачу — напишите мне Если хотите разобрать свою задачу — напишите мне.
Можно прийти с идеей, черновым контекстом или уже живой задачей. Помогу быстро понять, где реальный следующий шаг, а где лишний шум.
Обычно хватает 2–3 сообщений, чтобы понять, могу ли я здесь реально помочь и в каком формате лучше двигаться дальше.