Skip to main content
Glama

x-mcp

Un servidor MCP con opiniones propias para gestionar una cuenta de X con un agente.

No es un envoltorio de la API de X. Es un pequeño operador que sabe cuatro cosas que la API no te cuenta:

  1. Cómo clasifica Para ti — los pesos, compuertas y filtros del algoritmo de código abierto de X (xai-org/x-algorithm) están integrados en cada herramienta como salvaguardas y consejos: peso de respuesta 5→20 para mutuos, compartir por enlace 20, me gusta 0.5; vídeo estrictamente >10s; ≤1 mención @; sin cebo de interacción; ≥4h entre originales; el primer favorito abre el corpus fuera de la red; impulso de arranque en frío para cuentas con <1k seguidores; ventanas de 24h/48h.

  2. Lo que realmente permite la API de pago por uso — desde 2026 X rechaza respuestas no solicitadas y eliminó los seguimientos, me gusta y citas de autoservicio. Las herramientas hacen todo lo permitido y entregan al humano un enlace de intención de un toque para el resto, luego reconcilian automáticamente lo que el humano hizo a partir de lecturas propias de $0.001.

  3. Cuánto cuesta cada llamada — un libro de contabilidad local refleja los precios por recurso de X (con la deduplicación de 24h), aplica un presupuesto mensual y te avisa antes del "post con URL" de $0.20.

  4. Lo que un negocio conserva — un libro de relaciones de todos los que interactuaron (y a quién seguir de vuelta), un calendario que aprende tus mejores horas, un libro de marca que comparte cada sesión, un pipeline de ideas y un bucle de informes/insights para que el agente se guíe por sus propios números en lugar de por corazonadas.

Construido sobre el SDK de TypeScript de MCP v2. stdio por defecto, HTTP Streamable opcional. Cero dependencias de ejecución más allá del SDK y zod.

Herramientas

Herramienta

Qué hace

Costo

account_pulse

Resumen de una llamada: delta de seguidores, tus publicaciones recientes con velocidad + hitos del algoritmo, menciones sin responder, cola humana, gasto

~$0.02–0.05

post_performance

Actualizar métricas, calcular velocidad, explicar el estado de cada publicación (¿en corpus OON? ¿arranque en frío activo? ¿próximo re-índice en N me gusta? ¿caduca a las 48h)

$0.001/publicación

inbox

Menciones/respuestas hacia ti, priorizadas (en tu publicación > mutuo > cuenta grande), todas respondibles por API

$0.001/ítem

conversation

Leer un hilo antes de responder

$0.005/publicación

scout

Buscar en el nicho y clasificar publicaciones como oportunidades (banda del autor, frescura, pregunta, actividad) con enlaces de intención; con tope y deduplicación

$0.005/publicación

who

Consulta de cuenta: banda, relación (mutuo = +15 peso de respuesta), publicación fijada

$0.01

publish

Publicación original / hilo propio / comunidad / encuesta, con subida de medios v2 por fragmentos; motor de reglas + espaciado + compuerta de vídeo + presupuesto; dry_run

$0.015 ($0.20 con URL)

reply

Responder a publicaciones que te invocaron; una respuesta por interacción; guardia contra copiar y pegar; límite de frecuencia; entrega respuestas frías con un enlace de intención

$0.01

repost

Repost (informativo, limitado a 10/día)

$0.015

delete_post

Eliminar tu publicación

$0.01

dm

DM solo después de que el destinatario te haya enviado un DM (política)

$0.015

handoff

Cola humana: cita / seguir / me gusta / respuesta fría / publicación manual → enlaces x.com/intent; reconcile detecta la finalización a partir de lecturas propias

$0.001 al reconciliar

agenda

"¿Qué debería hacer ahora?" — próximas llamadas clasificadas desde el estado local: entrantes sin responder, calendario pendiente, ventana de espaciado abierta en una mejor hora, seguimientos, métricas obsoletas, cola humana, ritmo de objetivos

gratis

people

Libro de relaciones (CRM) construido automáticamente a partir de cada mención/respuesta: principales interactuantes, notas/etiquetas, suggest_follows → enlaces de seguir de un toque; scout(circle=true) encuentra publicaciones frescas de tu comunidad

gratis

schedule

Calendario de contenido: when = ISO / +2h / next_best (tus mejores horas según historial); run_due publica a través del pipeline normal; x-mcp tick para cron

gratis

insights

Lo que funciona: tasa de entrada OON (primer me gusta dentro de 24h), interacción@24h, tasa de respuesta en entrantes, por tipo/etiqueta/hora, mejores publicaciones, deltas de seguidores, gasto por interacción, progreso de objetivos, consejos

gratis

brand

Libro de marca: carril, reglas de voz, palabras prohibidas (aplicadas en draft_check/publish), objetivos

gratis

ideas

Banco de ideas → publish(idea_id) marca como usada

gratis

report

Resumen para el propietario en markdown (también x-mcp report 7)

gratis

draft_check

Puntuar un borrador (y variantes) contra las reglas de Para ti + el libro de marca

gratis

spend

Libro de contabilidad: mes hasta la fecha, por operación, por herramienta, tabla de precios

gratis

doctor

Autenticación, alcances, configuración, límites de tasa, límite de API

gratis

approvals

Cola de modo aprobación (listar/rechazar; aprobar es solo CLI)

gratis

Recursos: x://playbook (las reglas), x://boundary (lo que permite la API), x://handoff (cola humana en vivo). Prompt: operate (el bucle de trabajo).

Related MCP server: X(Twitter) V2 MCP Server

Configuración

  1. Crea una aplicación en https://console.x.com → habilita OAuth 2.0 → tipo de aplicación Native App (pública, PKCE) o Automated App/Bot (confidencial, da un secreto de cliente) → añade URI de redirección http://127.0.0.1:8477/callback → copia el ID de cliente (y el secreto si es confidencial). Carga algunos créditos (pago por uso).

  2. Configura — las variables de entorno se leen del entorno o de ~/.x-mcp/.env (nunca del directorio actual, para que el .env de un repositorio hostil no pueda redirigir tu token):

    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)

    Los medios que el agente pueda subir deben estar en ~/.x-mcp/media (o en los directorios de X_MCP_MEDIA_ROOT) — coloca tu vídeo de demostración allí.

  3. Inicia sesión una vez (abre un navegador, guarda tokens en ~/.x-mcp/tokens.json, modo 0600):

    node dist/bin.js login
  4. Conéctalo a tu agente.

    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 en lugar de stdio: X_MCP_HTTP_TOKEN=SECRET node dist/bin.js --http --port 8478url: http://127.0.0.1:8478/mcp, cabecera Authorization: Bearer SECRET. Siempre se requiere un token (se genera e imprime uno si no lo estableces); Host/Origin se verifican contra localhost.

  5. Ejecuta el bucle. Pide al agente que use el prompt operate (o pégalo). Comprueba node dist/bin.js queue para ver si hay algo esperándote; node dist/bin.js approve --all ejecuta las acciones de API en cola; toca los enlaces de intención para las acciones solo humanas y ejecuta handoff(reconcile) (o deja que el agente lo haga) para que la cola se vacíe sola.

  6. Pon tick en un temporizador (cada 15 min es suficiente) para que las publicaciones programadas salgan, los handoffs se reconcilien y las métricas se capturen para insights:

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

    (Usuarios de Hermes: un trabajo cron que llame a schedule(run_due) + handoff(reconcile) + post_performance hace lo mismo.)

Configuración (env)

Var

Default

Significado

X_CLIENT_ID

obligatorio

X_CLIENT_SECRET

solo aplicaciones confidenciales

X_REDIRECT_URI

http://127.0.0.1:8477/callback

debe coincidir con la configuración de la aplicación

X_MCP_STATE_DIR

~/.x-mcp

tokens, libro mayor, estado, .env

X_MCP_MEDIA_ROOT

<state dir>/media

directorios separados por comas desde los que el agente puede subir (verificados con realpath; se rechazan archivos ocultos, URLs y escapes de enlaces simbólicos)

X_MCP_MONTHLY_BUDGET_USD

25

límite duro

X_MCP_BUDGET_WARN_AT

0.8

avisar al 80%

X_MCP_REQUIRE_APPROVAL

true

poner en espera las escrituras para x-mcp approve; cualquier anulación con force siempre se pone en espera

X_MCP_MIN_HOURS_BETWEEN_ORIGINALS

4

diversidad de autores / espaciado de arranque en frío

X_MCP_MAX_REPLIES_PER_HOUR / X_MCP_MAX_REPOSTS_PER_DAY / X_MCP_MAX_DMS_PER_HOUR

12 / 10 / 5

límites (basados en el libro mayor)

X_MCP_COPYPASTA_SIMILARITY

0.7

Jaccard sobre bigramas de palabras

X_MCP_MAX_READS_PER_CALL

100

tope de lecturas de $0.005 por llamada de herramienta

X_MCP_REQUEST_TIMEOUT_MS

30000

tiempo de espera por solicitud

X_MCP_FFPROBE

auto

ruta de ffprobe (si no, analiza la cabecera MP4)

X_MCP_ALLOW_CUSTOM_API_BASE

unset

necesario para respetar un X_API_BASE no predeterminado (solo pruebas/mocks)

Qué rechazará y por qué

  • Dos o más @menciones en una publicación → se enrutan al puntaje de spam LLM en tiempo real de X. Pon los créditos en una respuesta.

  • «Me gusta si / RT para / etiqueta a alguien» → SpamHighRecall, sin exención para nadie.

  • Un video ≤10.0s → la cabecera del video es 0 y la publicación se excluye de todos los corpus de video.

  • Video + imagen en una misma publicación → descalificado de los corpus de video.

  • Un segundo original dentro de 4h → ×0.625 en slates compartidos; el impulso de arranque en frío elige una publicación por solicitud.

  • El mismo texto de respuesta dos veces → agrupación de copypasta.

  • Responder a una publicación que no te @mencionó → X lo rechaza; en su lugar obtienes un enlace de intención.

  • Cualquier gasto que supere el presupuesto mensual.

Todo lo blando se puede anular con force: true, que siempre enruta la acción a la cola de aprobación humana; las raíces de medios, el presupuesto y los propios límites de X no se pueden anular.

Modelo de seguridad (resumen)

  • Los tokens/estado viven en ~/.x-mcp (directorio 0700, archivos 0600); el servidor y la CLI x-mcp approve los comparten de forma segura (recargar antes de escribir, nunca sobrescribir un conjunto de tokens más reciente).

  • El agente no puede leer archivos arbitrarios: media_paths debe resolverse dentro de las raíces de medios; los IDs se validan como copos de nieve numéricos (sin contrabando de rutas ../ hacia otros endpoints).

  • Las acciones irreversibles o sensibles a políticas (delete_post, cualquier force, DMs, modo de aprobación) requieren un toque humano en la CLI. delete_post solo acepta publicaciones que este servidor sabe que son tuyas.

  • El texto de terceros en las salidas de herramientas se etiqueta como datos, no como instrucciones. El modo HTTP necesita un token de portador y valida Host/Origin.

Notas de política que deberías leer

  • Las reglas de automatización de X (abril de 2026) requieren aprobación escrita previa para bots de respuestas de IA, una respuesta automática por interacción de usuario, sin publicaciones duplicadas, sin seguimientos/me gusta/DMs masivos, y la etiqueta de cuenta Automatizada (Configuración → Tu cuenta → Información de la cuenta → Automatización). Este servidor aplica las partes mecánicas; la aprobación y la etiqueta son tuyas para obtener y configurar.

  • El caso de uso del acuerdo de desarrollador que enviaste debe describir lo que hace el agente (publicación, lecturas de métricas propias, investigación de nicho).

Desarrollo

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

Fuentes: documentación de la API de X (docs.x.com, leída el 2026-08-19: precios, restricciones de manage-posts, changelog, media v2, OAuth 2.0), y xai-org/x-algorithm@11a71f8 (home-mixer/params/param.rs, scorers/, filters/, visibility-filtering/, phoenix/, grox/). Consulta docs/FOR_YOU_PLAYBOOK.md en el clon de x-algorithm para la investigación completa con citas archivo:línea.

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