MCP Server - Twitter NoAuth

by baryhuang
Verified

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.

MCP サーバー - Twitter NoAuth

ローカル認証情報やトークンの設定なしでTwitter APIアクセスを提供するMCP(Model Context Protocol)サーバー。ツイートの検索、ユーザーのツイートの取得、ツイートの投稿、ツイートへの返信といったTwitterのコア操作を提供します。

デモビデオ

https://www.youtube.com/watch?v=LOxFqCTPedc

MCP Twitter NoAuth サーバーを選ぶ理由

重要な利点

  • ヘッドレス & リモート操作: このサーバーは、ブラウザーやローカル ファイル アクセスのないリモート環境で完全にヘッドレスで実行できます。
  • 分離されたアーキテクチャ: どのクライアントも OAuth フローを独立して完了し、資格情報をコンテキストとしてこの MCP サーバーに渡すことができるため、資格情報の保存とサーバーの実装が完全に分離されます。

いいけど批判的ではない

  • 重点的な機能: ツイートの検索、ユーザーのツイートの取得、ツイートの投稿、ツイートへの返信など、Twitter の基本的な操作を提供します。
  • Docker 対応: コンテナ化を考慮して設計されており、適切に分離された、環境に依存しないワンクリック セットアップを実現します。
  • 信頼できる依存関係: Twitter API 統合用の標準 Python リクエスト ライブラリに基づいて構築されています。

特徴

  • Twitter APIを使用してツイートを検索する
  • 特定のユーザーの最近のツイートを取得する
  • 特定のユーザーによる最近の返信を取得する
  • 新しいツイートを投稿する
  • 既存のツイートに返信する
  • アクセストークンを個別に更新する
  • 自動リフレッシュトークン処理

前提条件

  • Python 3.10以上
  • Twitter API 認証情報 (クライアント ID、クライアント シークレット、アクセス トークン、リフレッシュ トークン)

インストール

# Clone the repository git clone https://github.com/yourusername/mcp-twitter-noauth.git cd mcp-twitter-noauth # Install dependencies pip install -e .

ドッカー

Dockerイメージの構築

# Build the Docker image docker build -t mcp-twitter-noauth .

Claude Desktopでの使用

Dockerの使用

Claude 構成に以下を追加することで、Claude Desktop が Docker イメージを使用するように構成できます。

{ "mcpServers": { "twitter": { "command": "docker", "args": [ "run", "-i", "--rm", "buryhuang/mcp-twitter-noauth:latest" ] } } }

注: この設定では、 「ツールの使用」セクションに示されているように、ツール呼び出しで Twitter API 認証情報を提供する必要があります。認証情報の保存とサーバー実装を分離するため、Twitter 認証情報は環境変数として渡されません。

クロスプラットフォームパブリッシング

複数のプラットフォーム向けにDockerイメージを公開するには、 docker buildxコマンドを使用します。以下の手順に従ってください。

  1. 新しいビルダー インスタンスを作成します(まだ作成していない場合)。
    docker buildx create --use
  2. 複数のプラットフォーム用のイメージをビルドしてプッシュします
    docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t buryhuang/mcp-twitter-noauth:latest --push .
  3. 指定されたプラットフォームでイメージが使用可能であることを確認します
    docker buildx imagetools inspect buryhuang/mcp-twitter-noauth:latest

使用法

サーバーはMCPツールを通じてTwitter機能を提供します。専用のトークン更新ツールにより、認証処理が簡素化されます。

サーバーの起動

mcp-server-twitter-noauth

ツールの使用

Claude のような MCP クライアントを使用する場合、認証を処理する主な方法は 2 つあります。

トークンの更新(最初のステップまたはトークンの有効期限が切れたとき)

アクセス トークンとリフレッシュ トークンの両方がある場合:

{ "twitter_access_token": "your_access_token", "twitter_refresh_token": "your_refresh_token", "twitter_client_id": "your_client_id", "twitter_client_secret": "your_client_secret" }

アクセス トークンの有効期限が切れている場合は、リフレッシュ トークンだけで更新できます。

{ "twitter_refresh_token": "your_refresh_token", "twitter_client_id": "your_client_id", "twitter_client_secret": "your_client_secret" }

これにより、新しいアクセス トークンとその有効期限が返され、後続の呼び出しで使用できるようになります。

ツイートの検索

Twitter API を使用してツイートを検索します。

{ "twitter_access_token": "your_access_token", "query": "your search query", "max_results": 10 }

応答には、テキスト、作成時間、作成者情報などのツイート データが含まれます。

ユーザーのツイートを取得する

特定のユーザーの最近のツイートを取得します。

{ "twitter_access_token": "your_access_token", "user_id": "twitter_user_id", "max_results": 10 }

ユーザーの返信を取得する

特定のユーザーによる最近の返信を取得します。

{ "twitter_access_token": "your_access_token", "user_id": "twitter_user_id", "max_results": 10 }

ツイートを投稿する

新しいツイートを投稿する:

{ "twitter_access_token": "your_access_token", "text": "This is a test tweet from the MCP Twitter server" }

ツイートに返信する

既存のツイートに返信する:

{ "twitter_access_token": "your_access_token", "tweet_id": "id_of_tweet_to_reply_to", "text": "This is a reply to the original tweet" }

トークン更新ワークフロー

  1. まず、次のいずれかの方法でtwitter_refresh_tokenツールを呼び出します。
    • 完全な認証情報(アクセストークン、リフレッシュトークン、クライアントID、クライアントシークレット)、または
    • アクセストークンの有効期限が切れている場合は、リフレッシュトークン、クライアントID、クライアントシークレットのみ
  2. 返された新しいアクセス トークンを後続の API 呼び出しに使用します。
  3. トークンの有効期限が切れたことを示す応答を受け取った場合は、 twitter_refresh_tokenツールを再度呼び出して新しいトークンを取得します。

このアプローチでは、すべての操作でクライアント資格情報を要求せず、必要なときにトークンの更新も可能にすることで、ほとんどの API 呼び出しが簡素化されます。

Twitter API認証情報の取得

必要な Twitter API 資格情報を取得するには、次の手順に従います。

  1. Twitter開発者ポータルへアクセス
  2. 新しいプロジェクトとアプリを作成する
  3. OAuth 2.0認証を設定する
  4. アプリのOAuth設定を構成する
  5. クライアントIDとクライアントシークレットを生成する
  6. OAuthフローを完了してアクセストークンとリフレッシュトークンを取得します

トークンの更新

このサーバーは自動トークン更新を実装しています。アクセストークンの有効期限が切れると、サーバーはリフレッシュトークン、クライアントID、クライアントシークレットを使用して、ユーザーの介入なしに新しいアクセストークンを取得します。

セキュリティに関する注意事項

このサーバーはTwitter APIの認証情報に直接アクセスする必要があります。トークンと認証情報は常に安全に保管し、信頼できない相手と共有しないでください。

ライセンス

詳細については、LICENSE ファイルを参照してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

ローカル資格情報の設定を必要とせずに Twitter API アクセスを提供し、ツイートの検索、ユーザーのツイートの取得、ツイートの投稿、ツイートへの返信などの Twitter のコア操作を可能にするヘッドレス MCP サーバーです。

  1. Demo Video
    1. Why MCP Twitter NoAuth Server?
      1. Critical Advantages
      2. Nice but not critical
    2. Features
      1. Prerequisites
        1. Installation
          1. Docker
            1. Building the Docker Image
          2. Usage with Claude Desktop
            1. Docker Usage
          3. Cross-Platform Publishing
            1. Usage
              1. Starting the Server
              2. Using the Tools
              3. Token Refresh Workflow
            2. Obtaining Twitter API Credentials
              1. Token Refreshing
                1. Security Note
                  1. License
                    ID: gbwa9qveo7