Skip to main content
Glama

x-mcp

Принципиальный MCP-сервер для управления аккаунтом X с помощью агента.

Это не обёртка над X API. Это небольшой оператор, который знает четыре вещи, о которых API вам не расскажет:

  1. Как ранжирует For You — веса, пороги и фильтры из открытого алгоритма X (xai-org/x-algorithm) встроены в каждый инструмент как ограничения и рекомендации: вес ответа 5→20 для взаимных подписок, репост по ссылке 20, лайк 0.5; строго видео >10с; ≤1 @-упоминание; без приманок для вовлечённости; ≥4ч между оригинальными постами; первый лайк открывает внешний корпус; подъём холодного старта для аккаунтов с <1k подписчиков; окна 24ч/48ч.

  2. Что на самом деле разрешает API с оплатой за использование — с 2026 года X отклоняет невызванные ответы и убрал подписки, лайки и цитаты из самообслуживания. Инструменты делают всё, что разрешено, и передают человеку ссылку-интент в один клик для остального, а затем автоматически сверяют то, что сделал человек, из собственных чтений за $0.001.

  3. Сколько стоит каждый вызов — локальный реестр зеркалирует цены X за ресурс (с дедупликацией за 24ч), соблюдает месячный бюджет и предупреждает вас перед «постом с URL» за $0.20.

  4. Что остаётся бизнесу — реестр отношений со всеми, кто взаимодействовал (и кого стоит подписаться в ответ), календарь, который учится на ваших лучших часах, брендбук, который разделяется каждой сессией, конвейер идей и цикл аналитики/отчётов, чтобы агент управлялся на основе собственных цифр, а не ощущений.

Построен на MCP TypeScript SDK v2. По умолчанию stdio, Streamable HTTP опционально. Ноль зависимостей во время выполнения, кроме SDK и zod.

Инструменты

Инструмент

Что делает

Стоимость

account_pulse

Брифинг одним вызовом: дельта подписчиков, ваши недавние посты со скоростью + вехи алгоритма, безответные упоминания, очередь человека, расходы

~$0.02–0.05

post_performance

Обновить метрики, вычислить скорость, объяснить состояние каждого поста (в корпусе OON? холодный старт активен? следующий реиндекс при N лайках? устаревает через 48ч)

$0.001/пост

inbox

Упоминания/ответы вам, с приоритизацией (на вашем посте > взаимная подписка > крупный аккаунт), все доступны для ответа через API

$0.001/элемент

conversation

Прочитать ветку перед ответом

$0.005/пост

scout

Искать в нише и ранжировать посты как возможности (диапазон автора, свежесть, вопрос, активность) со ссылками-интентами; с лимитом + дедупликацией

$0.005/пост

who

Поиск аккаунта: диапазон, отношения (взаимная подписка = +15 к весу ответа), закреплённый пост

$0.01

publish

Оригинальный пост / собственная ветка / сообщество / опрос, с чанковой загрузкой медиа v2; движок правил + интервалы + видео-гейт + бюджет; dry_run

$0.015 ($0.20 с URL)

reply

Ответ на посты, которые вас вызвали; один ответ на взаимодействие; защита от копипасты; троттлинг; передаёт холодные ответы со ссылкой-интентом

$0.01

repost

Репост (информационный, троттлинг 10/день)

$0.015

delete_post

Удалить ваш пост

$0.01

dm

ЛС только после того, как получатель написал вам (политика)

$0.015

handoff

Очередь человека: цитата / подписка / лайк / холодный ответ / ручной пост → ссылки x.com/intent; reconcile определяет завершение из собственных чтений

$0.001 при reconcile

agenda

«Что мне делать сейчас?» — ранжированные следующие вызовы из локального состояния: безответные входящие, задачи по календарю, открытое окно интервалов в лучший час, взаимные подписки, устаревшие метрики, очередь человека, темп цели

бесплатно

people

Реестр отношений (CRM), автоматически создаваемый из каждого упоминания/ответа: топ-взаимодействующие, заметки/теги, suggest_follows → ссылки подписки в один клик; scout(circle=true) находит свежие посты вашего сообщества

бесплатно

schedule

Календарь контента: when = ISO / +2h / next_best (ваши лучшие часы из истории); run_due публикует через обычный конвейер; x-mcp tick для cron

бесплатно

insights

Что работает: частота входа в OON (первый лайк в течение 24ч), вовлечённость@24ч, частота ответов на входящие, по типу/тегу/часу, топ-посты, дельты подписчиков, расходы на взаимодействие, прогресс цели, советы

бесплатно

brand

Брендбук: направление, правила голоса, запрещённые слова (применяются в draft_check/publish), цели

бесплатно

ideas

Банк идей → publish(idea_id) отмечает использованные

бесплатно

report

Дайджест владельца в markdown (также x-mcp report 7)

бесплатно

draft_check

Оценить черновик (и варианты) по правилам For You + брендбуку

бесплатно

spend

Реестр: с начала месяца, по операции, по инструменту, таблица цен

бесплатно

doctor

Аутентификация, области, конфигурация, лимиты частоты, границы API

бесплатно

approvals

Очередь режима одобрения (список/отклонить; одобрение только через CLI)

бесплатно

Ресурсы: x://playbook (правила), x://boundary (что разрешает API), x://handoff (живая очередь человека). Промпт: operate (рабочий цикл).

Related MCP server: X(Twitter) V2 MCP Server

Настройка

  1. Создайте приложение на https://console.x.com → включите OAuth 2.0 → тип приложения Native App (публичное, PKCE) или Automated App/Bot (конфиденциальное, даёт client secret) → добавьте redirect URI http://127.0.0.1:8477/callback → скопируйте Client ID (и secret, если конфиденциальное). Пополните кредиты (оплата за использование).

  2. Настройте — переменные окружения читаются из окружения или из ~/.x-mcp/.env (никогда из текущей директории, чтобы враждебный репозиторий не мог перенаправить ваш токен через свой .env):

    cd x-mcp && npm install && npm run build
    mkdir -p ~/.x-mcp/media && cp .env.example ~/.x-mcp/.env   # set X_CLIENT_ID (+ X_CLIENT_SECRET if confidential)

    Медиа, которые агент может загружать, должны находиться в ~/.x-mcp/media (или в директориях из X_MCP_MEDIA_ROOT) — положите туда ваше демо-видео.

  3. Войдите один раз (откроется браузер, токены сохранятся в ~/.x-mcp/tokens.json, режим 0600):

    node dist/bin.js login
  4. Подключите к вашему агенту.

    Hermes (~/.hermes/config.yaml):

    mcp_servers:
      x:
        command: node
        args: ["/absolute/path/to/x-mcp/dist/bin.js"]
        env:
          X_CLIENT_ID: "…"
          X_CLIENT_SECRET: "…"          # confidential apps only
          X_MCP_MONTHLY_BUDGET_USD: "25"
          X_MCP_REQUIRE_APPROVAL: "true" # default; keep until you have X's AI-reply approval
        timeout: 180

    Claude Code:

    claude mcp add x -e X_CLIENT_ID=… -e X_MCP_REQUIRE_APPROVAL=true -- node /absolute/path/to/x-mcp/dist/bin.js

    HTTP вместо stdio: X_MCP_HTTP_TOKEN=SECRET node dist/bin.js --http --port 8478url: http://127.0.0.1:8478/mcp, заголовок Authorization: Bearer SECRET. Токен обязателен всегда (если вы его не задали, он генерируется и выводится); Host/Origin проверяются на localhost.

  5. Запустите цикл. Попросите агента использовать промпт operate (или вставьте его). Проверьте node dist/bin.js queue на предмет ожидающих вас действий; node dist/bin.js approve --all выполняет поставленные в очередь действия API; нажимайте ссылки-интенты для действий, доступных только человеку, и запускайте handoff(reconcile) (или позвольте агенту сделать это), чтобы очередь очистилась сама.

  6. Поставьте tick на таймер (каждые 15 мин достаточно), чтобы запланированные посты публиковались, handoff-сверки выполнялись, а метрики снимались для insights:

    */15 * * * * cd /absolute/path/to/x-mcp && node dist/bin.js tick >> ~/.x-mcp/tick.log 2>&1

    (Пользователи Hermes: cron-задача, которая вызывает schedule(run_due) + handoff(reconcile) + post_performance, делает то же самое.)

Конфигурация (env)

Var

Default

Meaning

X_CLIENT_ID

обязателен

X_CLIENT_SECRET

только для конфиденциальных приложений

X_REDIRECT_URI

http://127.0.0.1:8477/callback

должен совпадать с настройками приложения

X_MCP_STATE_DIR

~/.x-mcp

токены, реестр, состояние, .env

X_MCP_MEDIA_ROOT

<state dir>/media

каталоги, из которых агенту разрешено загружать файлы (проверка реального пути; точки, URL и симлинки запрещены)

X_MCP_MONTHLY_BUDGET_USD

25

жёсткий лимит

X_MCP_BUDGET_WARN_AT

0.8

предупреждение при 80%

X_MCP_REQUIRE_APPROVAL

true

ставить в очередь на x-mcp approve; любой force всегда ставится в очередь

X_MCP_MIN_HOURS_BETWEEN_ORIGINALS

4

интервал между оригинальными постами / холодный старт

X_MCP_MAX_REPLIES_PER_HOUR / X_MCP_MAX_REPOSTS_PER_DAY / X_MCP_MAX_DMS_PER_HOUR

12 / 10 / 5

ограничения частоты (на основе реестра)

X_MCP_COPYPASTA_SIMILARITY

0.7

коэффициент Жаккара на биграммах слов

X_MCP_MAX_READS_PER_CALL

100

лимит на $0.005 за чтение за один вызов инструмента

X_MCP_REQUEST_TIMEOUT_MS

30000

таймаут запроса

X_MCP_FFPROBE

auto

путь к ffprobe (запасной вариант — разбор заголовка MP4)

X_MCP_ALLOW_CUSTOM_API_BASE

unset

требуется для использования нестандартного X_API_BASE (только тесты/заглушки)

Что будет отклонено и почему

  • Два или более @упоминаний в посте → X направляет пост в систему оценки спама на основе ИИ в реальном времени. Указывайте упоминания в ответе.

  • «Поставь лайк, если / репостни, если / отметь кого-то» → SpamHighRecall, исключений нет.

  • Видео короче или равно 10,0 с → начало видео обрезается до 0, и ролик исключается из всех видеокаталогов.

  • Видео + изображение в одном посте → пост исключается из видеокаталогов.

  • Второй оригинальный пост в течение 4 часов → коэффициент 0,625 в общих очередях; механизм холодного старта выбирает один пост на запрос.

  • Одинаковый текст ответа дважды → кластеризация копипасты.

  • Ответ на пост, в котором вас не упомянули → X отклоняет его; вы получаете ссылку на черновик.

  • Любые расходы сверх месячного бюджета.

Все мягкие ограничения можно обойти с помощью force: true — но это всегда отправляет действие в очередь на подтверждение человеком; медиафайлы, бюджет и собственные лимиты X обойти нельзя.

Модель безопасности (кратко)

  • Токены и состояние хранятся в ~/.x-mcp (каталог 0700, файлы 0600); сервер и CLI-команда x-mcp approve работают с ними безопасно (перезапись только после проверки актуальности, новее набор токенов не затирается).

  • Агент не может читать произвольные файлы: media_paths должны находиться в пределах корневых каталогов медиафайлов; идентификаторы проверяются как числовые snowflake (никакого ../ для доступа к другим конечным точкам).

  • Необратимые или чувствительные к политике действия (delete_post, любой force, личные сообщения, режим подтверждения) требуют подтверждения человеком в CLI. delete_post принимает только те посты, которые этот сервер знает как ваши.

  • Текст от сторонних сервисов в выводе инструментов помечается как данные, а не как инструкции. HTTP-режим требует bearer-токен и проверяет заголовки Host и Origin.

Примечания к политике, которые стоит прочитать

  • Правила автоматизации X (апрель 2026) требуют предварительного письменного разрешения для ИИ-ботов, отвечающих на посты, одного автоматического ответа на одно взаимодействие пользователя, запрещают дублирующиеся посты, массовые подписки/лайки/личные сообщения, а также требуют метки «Автоматизированный» в аккаунте (Настройки → Ваш аккаунт → Информация об аккаунте → Автоматизация). Этот сервер обеспечивает техническую часть; разрешение и метку вы получаете самостоятельно.

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

Разработка

npm test          # rules engine + full server through an in-memory MCP client against a mock X API
npm run typecheck
npm run build

Источники: документация API X (docs.x.com, прочитано 19.08.2026: цены, ограничения manage-posts, журнал изменений, media v2, OAuth 2.0) и xai-org/x-algorithm@11a71f8 (home-mixer/params/param.rs, scorers/, filters/, visibility-filtering/, phoenix/, grox/). Полное исследование с указанием файлов и строк — в docs/FOR_YOU_PLAYBOOK.md в клоне x-algorithm.

MIT.

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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
    A
    quality
    D
    maintenance
    An MCP server that provides AI agents with full access to the X (Twitter) API for posting, searching, and managing engagement through natural language. It supports comprehensive tools for tweet management, media uploads, and account analytics across multiple MCP-compatible clients.
    15
    50
  • A
    license
    -
    quality
    D
    maintenance
    An MCP server for interacting with the Twitter/X API v2, enabling AI assistants to retrieve tweets, post content, reply, quote, and more programmatically.
    1,299
    13
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    An MCP server that enables AI agents to automate actions on X (Twitter) through a real browser session, including posting, engaging, and reading via over 40 tools. It supports self-hosting and provides a panel for API key management.
    3
    7
    MIT
  • F
    license
    -
    quality
    F
    maintenance
    A local MCP server that exposes the X API (formerly Twitter API) as tools, enabling operations like posting, searching, user management, and more via natural language commands.
    851

View all related MCP servers

Related MCP Connectors

  • FastMCP server for posting formatted content to X (Twitter) — Tollbooth-monetized, DPYC-native

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

  • Remote MCP server for The Colony — a social network for AI agents (posts, DMs, search, marketplace).

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/rthomas24/x-mcp'

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