Twitter NoAuth
Fornece acesso à API do Twitter sem exigir configuração local de credenciais. As credenciais devem ser fornecidas em tempo de execução.
Documentação
Servidor MCP - Twitter NoAuth
Um servidor MCP (Model Context Protocol) que fornece acesso à API do Twitter sem necessidade de configuração local de credenciais ou tokens. Oferece operações principais do Twitter, como busca de tweets, obtenção de tweets de usuários, publicação de tweets e respostas a tweets.
Vídeo de Demonstração
https://www.youtube.com/watch?v=LOxFqCTPedc
Por que o Servidor MCP Twitter NoAuth?
Vantagens Críticas
- Operação Headless e Remota: Este servidor pode ser executado completamente headless em ambientes remotos, sem navegador e sem acesso a arquivos locais.
- Arquitetura Desacoplada: Qualquer cliente pode concluir o fluxo OAuth de forma independente e, em seguida, passar as credenciais como contexto para este servidor MCP, criando uma separação completa entre o armazenamento de credenciais e a implementação do servidor.
Útil, mas não crítico
- Funcionalidade Focada: Oferece operações principais do Twitter, como busca de tweets, obtenção de tweets de usuários, publicação de tweets e respostas a tweets.
- Pronto para Docker: Projetado com containerização em mente para uma configuração bem isolada, independente do ambiente e com um clique.
- Dependências Confiáveis: Construído sobre a biblioteca padrão requests do Python para integração com a API do Twitter.
Recursos
- Buscar tweets usando a API do Twitter
- Obter tweets recentes de um usuário específico
- Obter respostas recentes de um usuário específico
- Publicar novos tweets
- Responder a tweets existentes
- Atualizar tokens de acesso separadamente
- Tratamento automático de renovação de tokens
Pré-requisitos
- Python 3.10 ou superior
- Credenciais da API do Twitter (client ID, client secret, access token e refresh token)
Instalação
# Clone the repository
git clone https://github.com/yourusername/mcp-twitter-noauth.git
cd mcp-twitter-noauth
# Install dependencies
pip install -e .
Docker
Construindo a Imagem Docker
# Build the Docker image
docker build -t mcp-twitter-noauth .
Uso com Claude Desktop
Uso com Docker
Você pode configurar o Claude Desktop para usar a imagem Docker adicionando o seguinte à sua configuração do Claude:
{
"mcpServers": {
"twitter": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"buryhuang/mcp-twitter-noauth:latest"
]
}
}
}
Observação: Com esta configuração, você precisará fornecer suas credenciais da API do Twitter nas chamadas de ferramenta, conforme mostrado na seção Usando as Ferramentas. As credenciais do Twitter não são passadas como variáveis de ambiente para manter a separação entre o armazenamento de credenciais e a implementação do servidor.
Publicação Multiplataforma
Para publicar a imagem Docker para múltiplas plataformas, você pode usar o comando docker buildx. Siga estes passos:
-
Crie uma nova instância de builder (se ainda não tiver):
docker buildx create --use -
Construa e envie a imagem para múltiplas plataformas:
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t buryhuang/mcp-twitter-noauth:latest --push . -
Verifique se a imagem está disponível para as plataformas especificadas:
docker buildx imagetools inspect buryhuang/mcp-twitter-noauth:latest
Uso
O servidor fornece funcionalidade do Twitter por meio de ferramentas MCP. O tratamento de autenticação é simplificado com uma ferramenta dedicada de renovação de tokens.
Iniciando o Servidor
mcp-server-twitter-noauth
Usando as Ferramentas
Ao usar um cliente MCP como o Claude, você tem duas maneiras principais de lidar com a autenticação:
Renovando Tokens (Primeiro Passo ou Quando os Tokens Expirarem)
Se você tiver tanto o access token quanto o 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"
}
Se o seu access token expirou, você pode renová-lo apenas com o refresh token:
{
"twitter_refresh_token": "your_refresh_token",
"twitter_client_id": "your_client_id",
"twitter_client_secret": "your_client_secret"
}
Isso retornará um novo access token e seu tempo de expiração, que você pode usar para chamadas subsequentes.
Buscando Tweets
Busque tweets usando a API do Twitter:
{
"twitter_access_token": "your_access_token",
"query": "your search query",
"max_results": 10
}
A resposta inclui dados do tweet, incluindo texto, horário de criação e informações do autor.
Obtendo Tweets de Usuários
Obtenha tweets recentes de um usuário específico:
{
"twitter_access_token": "your_access_token",
"user_id": "twitter_user_id",
"max_results": 10
}
Obtendo Respostas de Usuários
Obtenha respostas recentes de um usuário específico:
{
"twitter_access_token": "your_access_token",
"user_id": "twitter_user_id",
"max_results": 10
}
Publicando um Tweet
Publique um novo tweet:
{
"twitter_access_token": "your_access_token",
"text": "This is a test tweet from the MCP Twitter server"
}
Respondendo a um Tweet
Responda a um 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"
}
Fluxo de Renovação de Tokens
- Comece chamando a ferramenta
twitter_refresh_tokencom:- Suas credenciais completas (access token, refresh token, client ID e client secret), ou
- Apenas seu refresh token, client ID e client secret, se o access token tiver expirado
- Use o novo access token retornado para chamadas subsequentes à API.
- Se você receber uma resposta indicando expiração do token, chame a ferramenta
twitter_refresh_tokennovamente para obter um novo token.
Essa abordagem simplifica a maioria das chamadas à API, não exigindo credenciais de cliente para cada operação, ao mesmo tempo que permite a renovação de tokens quando necessário.
Obtendo Credenciais da API do Twitter
Para obter as credenciais necessárias da API do Twitter, siga estes passos:
- Acesse o Portal de Desenvolvedores do Twitter
- Crie um novo projeto e aplicativo
- Configure a autenticação OAuth 2.0
- Configure as configurações de OAuth para seu aplicativo
- Gere o client ID e o client secret
- Conclua o fluxo OAuth para obter access tokens e refresh tokens
Renovação de Tokens
Este servidor implementa renovação automática de tokens. Quando seu access token expira, o servidor usa o refresh token, o client ID e o client secret para obter um novo access token sem exigir intervenção do usuário.
Nota de Segurança
Este servidor requer acesso direto às suas credenciais da API do Twitter. Sempre mantenha seus tokens e credenciais seguros e nunca os compartilhe com partes não confiáveis.
Licença
Consulte o arquivo LICENSE para obter detalhes.