Twitter NoAuth
Proporciona acceso a la API de Twitter sin requerir configuración local de credenciales. Las credenciales deben proporcionarse en tiempo de ejecución.
Documentación
Servidor MCP - Twitter NoAuth
Un servidor MCP (Model Context Protocol) que proporciona acceso a la API de Twitter sin necesidad de configurar credenciales o tokens locales. Ofrece operaciones principales de Twitter como buscar tweets, obtener tweets de usuarios, publicar tweets y responder a tweets.
Video de demostración
https://www.youtube.com/watch?v=LOxFqCTPedc
¿Por qué el servidor MCP Twitter NoAuth?
Ventajas críticas
- Operación headless y remota: Este servidor puede ejecutarse completamente headless en entornos remotos sin navegador y sin acceso a archivos locales.
- Arquitectura desacoplada: Cualquier cliente puede completar el flujo OAuth de forma independiente y luego pasar las credenciales como contexto a este servidor MCP, creando una separación completa entre el almacenamiento de credenciales y la implementación del servidor.
Agradable pero no crítico
- Funcionalidad enfocada: Proporciona operaciones principales de Twitter como buscar tweets, obtener tweets de usuarios, publicar tweets y responder a tweets.
- Listo para Docker: Diseñado pensando en la contenedorización para una configuración bien aislada, independiente del entorno y de un solo clic.
- Dependencias confiables: Construido sobre la biblioteca estándar de Python
requestspara la integración con la API de Twitter.
Características
- Buscar tweets usando la API de Twitter
- Obtener tweets recientes de un usuario específico
- Obtener respuestas recientes de un usuario específico
- Publicar nuevos tweets
- Responder a tweets existentes
- Refrescar tokens de acceso por separado
- Manejo automático de refresco de tokens
Requisitos previos
- Python 3.10 o superior
- Credenciales de la API de Twitter (client ID, client secret, access token y refresh token)
Instalación
# Clone the repository
git clone https://github.com/yourusername/mcp-twitter-noauth.git
cd mcp-twitter-noauth
# Install dependencies
pip install -e .
Docker
Construcción de la imagen Docker
# Build the Docker image
docker build -t mcp-twitter-noauth .
Uso con Claude Desktop
Uso con Docker
Puedes configurar Claude Desktop para usar la imagen Docker agregando lo siguiente a tu configuración de Claude:
{
"mcpServers": {
"twitter": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"buryhuang/mcp-twitter-noauth:latest"
]
}
}
}
Nota: Con esta configuración, deberás proporcionar tus credenciales de la API de Twitter en las llamadas a las herramientas como se muestra en la sección Uso de las herramientas. Las credenciales de Twitter no se pasan como variables de entorno para mantener la separación entre el almacenamiento de credenciales y la implementación del servidor.
Publicación multiplataforma
Para publicar la imagen Docker para múltiples plataformas, puedes usar el comando docker buildx. Sigue estos pasos:
-
Crea una nueva instancia de builder (si aún no lo has hecho):
docker buildx create --use -
Construye y sube la imagen para múltiples plataformas:
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t buryhuang/mcp-twitter-noauth:latest --push . -
Verifica que la imagen esté disponible para las plataformas especificadas:
docker buildx imagetools inspect buryhuang/mcp-twitter-noauth:latest
Uso
El servidor proporciona funcionalidad de Twitter a través de herramientas MCP. El manejo de autenticación se simplifica con una herramienta dedicada de refresco de tokens.
Iniciar el servidor
mcp-server-twitter-noauth
Uso de las herramientas
Al usar un cliente MCP como Claude, tienes dos formas principales de manejar la autenticación:
Refrescar tokens (primer paso o cuando los tokens expiran)
Si tienes tanto el access token como el refresh token:
{
"twitter_access_token": "your_access_token",
"twitter_refresh_token": "your_refresh_token",
"twitter_client_id": "your_client_id",
"twitter_client_secret": "your_client_secret"
}
Si tu access token ha expirado, puedes refrescarlo solo con el refresh token:
{
"twitter_refresh_token": "your_refresh_token",
"twitter_client_id": "your_client_id",
"twitter_client_secret": "your_client_secret"
}
Esto devolverá un nuevo access token y su tiempo de expiración, que puedes usar para llamadas posteriores.
Buscar tweets
Busca tweets usando la API de Twitter:
{
"twitter_access_token": "your_access_token",
"query": "your search query",
"max_results": 10
}
La respuesta incluye datos del tweet, incluyendo texto, hora de creación e información del autor.
Obtener tweets de un usuario
Obtén tweets recientes de un usuario específico:
{
"twitter_access_token": "your_access_token",
"user_id": "twitter_user_id",
"max_results": 10
}
Obtener respuestas de un usuario
Obtén respuestas recientes de un usuario específico:
{
"twitter_access_token": "your_access_token",
"user_id": "twitter_user_id",
"max_results": 10
}
Publicar un tweet
Publica un nuevo tweet:
{
"twitter_access_token": "your_access_token",
"text": "This is a test tweet from the MCP Twitter server"
}
Responder a un tweet
Responde a un tweet existente:
{
"twitter_access_token": "your_access_token",
"tweet_id": "id_of_tweet_to_reply_to",
"text": "This is a reply to the original tweet"
}
Flujo de refresco de tokens
- Comienza llamando a la herramienta
twitter_refresh_tokencon cualquiera de las siguientes opciones:- Tus credenciales completas (access token, refresh token, client ID y client secret), o
- Solo tu refresh token, client ID y client secret si el access token ha expirado
- Usa el nuevo access token devuelto para llamadas posteriores a la API.
- Si recibes una respuesta que indica expiración del token, llama nuevamente a la herramienta
twitter_refresh_tokenpara obtener un nuevo token.
Este enfoque simplifica la mayoría de las llamadas a la API al no requerir credenciales de cliente para cada operación, mientras que aún permite el refresco de tokens cuando sea necesario.
Obtención de credenciales de la API de Twitter
Para obtener las credenciales requeridas de la API de Twitter, sigue estos pasos:
- Ve al Portal de desarrolladores de Twitter
- Crea un nuevo proyecto y aplicación
- Configura la autenticación OAuth 2.0
- Configura los ajustes de OAuth para tu aplicación
- Genera el client ID y el client secret
- Completa el flujo OAuth para obtener el access token y el refresh token
Refresco de tokens
Este servidor implementa el refresco automático de tokens. Cuando tu access token expire, el servidor usará el refresh token, el client ID y el client secret para obtener un nuevo access token sin requerir intervención del usuario.
Nota de seguridad
Este servidor requiere acceso directo a tus credenciales de la API de Twitter. Mantén siempre tus tokens y credenciales seguros y nunca los compartas con partes no confiables.
Licencia
Consulta el archivo LICENSE para más detalles.