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 installCopie
.env.examplea.envy complete sus credenciales de API de TwitterConstruya el proyecto:
npm run buildIniciar el servidor:
npm start
Related MCP server: MCP-Twikit
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_nameErrores 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 buildInicio:
npm startModo 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: