Twitter MCP Server

Un servidor para interactuar con Twitter, que permite publicar tweets, leer cronologías y gestionar tu cuenta a través del estándar MCP.

Documentación

Twitter MCP Server

Una potente integración de Twitter para agentes de IA que aprovecha el estándar Model Context Protocol (MCP), proporcionando un conjunto completo de funcionalidades de Twitter a través de una interfaz limpia y consistente.

Resumen

Este servidor proporciona acceso a las funciones de Twitter a través de herramientas MCP, permitiendo una integración perfecta con asistentes de IA y otros clientes compatibles con MCP. Está construido sobre la biblioteca agent-twitter-client y proporciona un manejo robusto de errores, limitación de velocidad y formato de respuesta consistente.

Características

Lectura básica

  • Obtener tweets de usuarios con soporte de medios
  • Obtener perfiles de usuario con información detallada
  • Buscar tweets por hashtags o palabras clave
  • Filtrar resultados de búsqueda por más recientes/destacados
  • Límite de velocidad (máximo 50 tweets por solicitud)

Interacciones de usuario

  • Dar me gusta/Quitar me gusta a tweets
  • Retweetear/Deshacer retweet
  • Publicar tweets con:
    • Contenido de texto
    • Adjuntos de medios (imágenes, videos)
    • Funcionalidad de respuesta
    • Capacidad de citar tweets

Características avanzadas

  • Obtener relaciones de usuario (seguidores/siguiendo)
  • Obtener temas de tendencia
  • Acceder a diferentes tipos de línea de tiempo:
    • Línea de tiempo de inicio
    • Línea de tiempo de seguidos
    • Línea de tiempo de usuario
  • Gestión de listas (obtener tweets de listas)

Medios e interacciones avanzadas

  • Manejo de medios:
    • Subida de imágenes (JPEG, PNG, GIF)
    • Subida de videos (MP4)
    • Soporte de texto alternativo
  • Creación de hilos
  • Seguir/Dejar de seguir usuarios

Herramientas

Herramientas de lectura

  • get_tweets - Obtener tweets recientes de un usuario
  • get_profile - Obtener información del perfil de un usuario
  • search_tweets - Buscar tweets por hashtag o palabra clave

Herramientas de interacción

  • like_tweet - Dar me gusta o quitar me gusta a un tweet
  • retweet - Retweetear o deshacer retweet
  • post_tweet - Publicar un nuevo tweet con medios opcionales
  • create_thread - Crear un hilo de Twitter

Herramientas de línea de tiempo

  • get_timeline - Obtener tweets de diferentes tipos de línea de tiempo
  • get_list_tweets - Obtener tweets de una lista de Twitter
  • get_trends - Obtener temas de tendencia actuales

Herramientas de gestión de usuarios

  • get_user_relationships - Obtener lista de seguidores o siguiendo
  • follow_user - Seguir o dejar de seguir a un usuario

Instalación

  1. Instalar dependencias:
npm install
  1. Compilar el servidor:
npm run build
  1. Configurar variables de entorno:
# Required: Twitter Account Credentials (for user authentication)
TWITTER_USERNAME=your_username
TWITTER_PASSWORD=your_password
TWITTER_EMAIL=your_email

# Twitter API Authentication (Optional)
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET_KEY=your_api_secret_key
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret
  1. Añadir la configuración del servidor a tu cliente MCP:

En MacOS:

~/Library/Application Support/Claude/claude_desktop_config.json

En Windows:

%APPDATA%/Claude/claude_desktop_config.json

Configuración:

{
  "mcpServers": {
    "twitter-mcp-server": {
      "command": "/path/to/twitter-mcp-server/build/index.js"
    }
  }
}

Desarrollo

Para desarrollo con reconstrucción automática:

npm run watch

Depuración

Dado que los servidores MCP se comunican a través de stdio, puedes usar el Inspector MCP para depurar:

npm run inspector

El Inspector proporcionará una URL para acceder a las herramientas de depuración en tu navegador.

Manejo de errores

El servidor implementa un manejo integral de errores:

  • Validación de entrada para todos los parámetros
  • Protección contra límite de velocidad
  • Mensajes de error detallados
  • Propagación adecuada de errores
  • Registro para depuración

Formato de respuesta

Todas las herramientas devuelven respuestas en un formato consistente:

{
  content: [{
    type: "text",
    text: string // JSON stringified response or error message
  }]
}

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una solicitud de extracción (Pull Request).

Licencia

Licencia MIT - consulte el archivo LICENSE para más detalles