Servidor MCP de Twitter
Una implementación de servidor de protocolo de contexto de modelo para la integración de API de Twitter.
Configuración
Clonar el repositorio
Instalar dependencias:
npm install
Copie
.env.example
a.env
y complete sus credenciales de API de TwitterConstruya el proyecto:
npm run build
Iniciar el servidor:
npm start
Variables de entorno
Credenciales de API de Twitter requeridas en .env
:
Herramientas disponibles
Operaciones de Tweet
postTweet
: Publicar un nuevo tweet{ "text": "Your tweet text here" }postTweetWithMedia
: Publica un tweet con un archivo multimedia adjunto{ "text": "Your tweet text", "mediaPath": "path/to/media/file", "mediaType": "image/jpeg|image/png|image/gif|video/mp4", "altText": "Optional alt text for accessibility" }getTweetById
: Obtener un tweet específico por ID{ "tweetId": "tweet_id", "tweetFields": ["created_at", "public_metrics"] }replyToTweet
: Responder a un tweet existente{ "tweetId": "tweet_id", "text": "Your reply text" }deleteTweet
: Eliminar un tweet{ "tweetId": "tweet_id" }
Búsqueda y análisis
searchTweets
: Buscar tweets{ "query": "search query", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }getHashtagAnalytics
: Obtén análisis de un hashtag{ "hashtag": "hashtag", "startTime": "ISO-8601 date", "endTime": "ISO-8601 date" }
Operaciones de usuario
getUserInfo
: Obtener información del usuario{ "username": "twitter_username", "fields": ["description", "public_metrics"] }getUserTimeline
: Obtener los tweets del usuario{ "username": "twitter_username", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }getFollowers
: Obtener los seguidores del usuario{ "username": "twitter_username", "maxResults": 100, "userFields": ["description", "public_metrics"] }getFollowing
: Obtener las cuentas que sigue un usuario{ "username": "twitter_username", "maxResults": 100, "userFields": ["description", "public_metrics"] }
Compromiso
likeTweet
: Me gusta un tweet{ "tweetId": "tweet_id" }unlikeTweet
: A diferencia de un tweet{ "tweetId": "tweet_id" }retweet
: retuitear un tuit{ "tweetId": "tweet_id" }undoRetweet
: Deshacer un retuit{ "tweetId": "tweet_id" }getRetweets
: Obtenga los usuarios que retuitearon un tweet{ "tweetId": "tweet_id", "maxResults": 100, "userFields": ["description", "public_metrics"] }getLikedTweets
: Obtén tweets que le gustan a un usuario{ "userId": "user_id", "maxResults": 100, "tweetFields": ["created_at", "public_metrics"] }
Gestión de listas
createList
: Crea una nueva lista{ "name": "List name", "description": "List description", "isPrivate": false }addUserToList
: Agregar un usuario a una lista{ "listId": "list_id", "username": "twitter_username" }removeUserFromList
: Eliminar un usuario de una lista{ "listId": "list_id", "username": "twitter_username" }getListMembers
: Obtener miembros de una lista{ "listId": "list_id", "maxResults": 100, "userFields": ["description", "public_metrics"] }
Manejo de errores
Todas las herramientas devuelven respuestas de error estandarizadas:
Parámetros faltantes:
Missing required parameter: parameter_name
Errores de API: Mensaje de error de la API de Twitter
Errores no encontrados: Mensaje de "no encontrado" apropiado para el recurso
Formato de respuesta
Todas las respuestas exitosas siguen este formato:
Desarrollo
Construir:
npm run build
Inicio:
npm start
Modo de vigilancia:
npm run dev
Estado: Funciona perfectamente Respuesta: Devuelve el ID del tweet Última prueba: Éxito
Estado: Funciona perfectamente Respuesta: Devuelve datos completos del tweet Última prueba: Éxito
Estado: Funciona perfectamente Respuesta: Confirmación de acción Última prueba: Éxito
Estado: Funciona perfectamente Respuesta: Confirmación de acción Última prueba: Éxito
Estado: Funciona perfectamente Respuesta: Devuelve el ID del tweet de respuesta Última prueba: Éxito
Estado: Funcionando perfectamente Respuesta: Datos de perfil de usuario completos Última prueba: Éxito
Estado: Funciona perfectamente Respuesta: Confirmación de acción Última prueba: Éxito
Estado: Funcionando perfectamente Respuesta: Confirmación de creación de lista Última prueba: Éxito
Estado: Funciona perfectamente Respuesta: Devuelve las listas de miembros y de propiedad. Última prueba: Éxito.
Estado: Error 400 Error: Parámetros de solicitud no válidos Solución necesaria: Validación de parámetros
Estado: Error 400 Error: Parámetros de solicitud no válidos Solución necesaria: Formato de parámetros de consulta
Estado: Error 400 Error: Parámetros de solicitud no válidos Solución necesaria: Validación de parámetros
Manejo de errores:
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Permite la interacción con Twitter a través de un Protocolo de Contexto de Modelo, lo que permite que los modelos de lenguaje grandes publiquen tweets, busquen tweets y respondan a tweets.
- Configuración
- Variables de entorno
- Herramientas disponibles
- Manejo de errores
- Formato de respuesta
- Desarrollo
Related Resources
Related MCP Servers
- -securityFlicense-qualityProvides AI agents with comprehensive Twitter functionality through the Model Context Protocol standard, enabling reading tweets, posting content, managing interactions, and accessing timeline data with robust error handling.Last updated -215
- -securityAlicense-qualityA Model Context Protocol server that enables AI to interact with Twitter, allowing functions like searching tweets, comparing sentiments across accounts, and retrieving timeline content.Last updated -MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI models and applications to interact directly with Twitter/X, providing capabilities to create posts, reply to tweets, retrieve user data, and manage account actions.Last updated -09MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to interact with Twitter without direct API access, supporting tweet operations, user interactions, and Grok AI integration.Last updated -416MIT License