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

Docker Hub

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:

  1. Crie uma nova instância de builder (se ainda não tiver):

    docker buildx create --use
    
  2. 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 .
    
  3. 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

  1. Comece chamando a ferramenta twitter_refresh_token com:
    • 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
  2. Use o novo access token retornado para chamadas subsequentes à API.
  3. Se você receber uma resposta indicando expiração do token, chame a ferramenta twitter_refresh_token novamente 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:

  1. Acesse o Portal de Desenvolvedores do Twitter
  2. Crie um novo projeto e aplicativo
  3. Configure a autenticação OAuth 2.0
  4. Configure as configurações de OAuth para seu aplicativo
  5. Gere o client ID e o client secret
  6. 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.