x-mcp
x-mcp
Принципиальный MCP-сервер для управления аккаунтом X с помощью агента.
Это не обёртка над X API. Это небольшой оператор, который знает четыре вещи, о которых API вам не расскажет:
Как ранжирует For You — веса, пороги и фильтры из открытого алгоритма X (xai-org/x-algorithm) встроены в каждый инструмент как ограничения и рекомендации: вес ответа 5→20 для взаимных подписок, репост по ссылке 20, лайк 0.5; строго видео >10с; ≤1 @-упоминание; без приманок для вовлечённости; ≥4ч между оригинальными постами; первый лайк открывает внешний корпус; подъём холодного старта для аккаунтов с <1k подписчиков; окна 24ч/48ч.
Что на самом деле разрешает API с оплатой за использование — с 2026 года X отклоняет невызванные ответы и убрал подписки, лайки и цитаты из самообслуживания. Инструменты делают всё, что разрешено, и передают человеку ссылку-интент в один клик для остального, а затем автоматически сверяют то, что сделал человек, из собственных чтений за $0.001.
Сколько стоит каждый вызов — локальный реестр зеркалирует цены X за ресурс (с дедупликацией за 24ч), соблюдает месячный бюджет и предупреждает вас перед «постом с URL» за $0.20.
Что остаётся бизнесу — реестр отношений со всеми, кто взаимодействовал (и кого стоит подписаться в ответ), календарь, который учится на ваших лучших часах, брендбук, который разделяется каждой сессией, конвейер идей и цикл аналитики/отчётов, чтобы агент управлялся на основе собственных цифр, а не ощущений.
Построен на MCP TypeScript SDK v2. По умолчанию stdio, Streamable HTTP опционально. Ноль зависимостей во время выполнения, кроме SDK и zod.
Инструменты
Инструмент | Что делает | Стоимость |
| Брифинг одним вызовом: дельта подписчиков, ваши недавние посты со скоростью + вехи алгоритма, безответные упоминания, очередь человека, расходы | ~$0.02–0.05 |
| Обновить метрики, вычислить скорость, объяснить состояние каждого поста (в корпусе OON? холодный старт активен? следующий реиндекс при N лайках? устаревает через 48ч) | $0.001/пост |
| Упоминания/ответы вам, с приоритизацией (на вашем посте > взаимная подписка > крупный аккаунт), все доступны для ответа через API | $0.001/элемент |
| Прочитать ветку перед ответом | $0.005/пост |
| Искать в нише и ранжировать посты как возможности (диапазон автора, свежесть, вопрос, активность) со ссылками-интентами; с лимитом + дедупликацией | $0.005/пост |
| Поиск аккаунта: диапазон, отношения (взаимная подписка = +15 к весу ответа), закреплённый пост | $0.01 |
| Оригинальный пост / собственная ветка / сообщество / опрос, с чанковой загрузкой медиа v2; движок правил + интервалы + видео-гейт + бюджет; | $0.015 ($0.20 с URL) |
| Ответ на посты, которые вас вызвали; один ответ на взаимодействие; защита от копипасты; троттлинг; передаёт холодные ответы со ссылкой-интентом | $0.01 |
| Репост (информационный, троттлинг 10/день) | $0.015 |
| Удалить ваш пост | $0.01 |
| ЛС только после того, как получатель написал вам (политика) | $0.015 |
| Очередь человека: цитата / подписка / лайк / холодный ответ / ручной пост → ссылки x.com/intent; | $0.001 при reconcile |
| «Что мне делать сейчас?» — ранжированные следующие вызовы из локального состояния: безответные входящие, задачи по календарю, открытое окно интервалов в лучший час, взаимные подписки, устаревшие метрики, очередь человека, темп цели | бесплатно |
| Реестр отношений (CRM), автоматически создаваемый из каждого упоминания/ответа: топ-взаимодействующие, заметки/теги, | бесплатно |
| Календарь контента: | бесплатно |
| Что работает: частота входа в OON (первый лайк в течение 24ч), вовлечённость@24ч, частота ответов на входящие, по типу/тегу/часу, топ-посты, дельты подписчиков, расходы на взаимодействие, прогресс цели, советы | бесплатно |
| Брендбук: направление, правила голоса, запрещённые слова (применяются в | бесплатно |
| Банк идей → | бесплатно |
| Дайджест владельца в markdown (также | бесплатно |
| Оценить черновик (и варианты) по правилам For You + брендбуку | бесплатно |
| Реестр: с начала месяца, по операции, по инструменту, таблица цен | бесплатно |
| Аутентификация, области, конфигурация, лимиты частоты, границы API | бесплатно |
| Очередь режима одобрения (список/отклонить; одобрение только через CLI) | бесплатно |
Ресурсы: x://playbook (правила), x://boundary (что разрешает API), x://handoff (живая очередь человека). Промпт: operate (рабочий цикл).
Related MCP server: X(Twitter) V2 MCP Server
Настройка
Создайте приложение на 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, если конфиденциальное). Пополните кредиты (оплата за использование).Настройте — переменные окружения читаются из окружения или из
~/.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) — положите туда ваше демо-видео.Войдите один раз (откроется браузер, токены сохранятся в
~/.x-mcp/tokens.json, режим 0600):node dist/bin.js loginПодключите к вашему агенту.
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: 180Claude Code:
claude mcp add x -e X_CLIENT_ID=… -e X_MCP_REQUIRE_APPROVAL=true -- node /absolute/path/to/x-mcp/dist/bin.jsHTTP вместо stdio:
X_MCP_HTTP_TOKEN=SECRET node dist/bin.js --http --port 8478→url: http://127.0.0.1:8478/mcp, заголовокAuthorization: Bearer SECRET. Токен обязателен всегда (если вы его не задали, он генерируется и выводится); Host/Origin проверяются на localhost.Запустите цикл. Попросите агента использовать промпт
operate(или вставьте его). Проверьтеnode dist/bin.js queueна предмет ожидающих вас действий;node dist/bin.js approve --allвыполняет поставленные в очередь действия API; нажимайте ссылки-интенты для действий, доступных только человеку, и запускайтеhandoff(reconcile)(или позвольте агенту сделать это), чтобы очередь очистилась сама.Поставьте
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 |
| — | обязателен |
| — | только для конфиденциальных приложений |
|
| должен совпадать с настройками приложения |
|
| токены, реестр, состояние, |
|
| каталоги, из которых агенту разрешено загружать файлы (проверка реального пути; точки, URL и симлинки запрещены) |
|
| жёсткий лимит |
|
| предупреждение при 80% |
|
| ставить в очередь на |
|
| интервал между оригинальными постами / холодный старт |
|
| ограничения частоты (на основе реестра) |
|
| коэффициент Жаккара на биграммах слов |
|
| лимит на $0.005 за чтение за один вызов инструмента |
|
| таймаут запроса |
| auto | путь к ffprobe (запасной вариант — разбор заголовка MP4) |
| unset | требуется для использования нестандартного |
Что будет отклонено и почему
Два или более @упоминаний в посте → 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.
Maintenance
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
- FlicenseAqualityDmaintenanceAn 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.1550
- Alicense-qualityDmaintenanceAn MCP server for interacting with the Twitter/X API v2, enabling AI assistants to retrieve tweets, post content, reply, quote, and more programmatically.1,29913MIT
- Alicense-qualityBmaintenanceAn 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.37MIT

X API FastMCP Serverofficial
Flicense-qualityFmaintenanceA 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
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).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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