概要
xmcpはX(旧Twitter)APIとLarge Language Models(LLM)を連携させるModel Context Protocol(MCP)の実装ツール。Claude等のAIアシスタントがX APIの機能を操作でき、ツイート分析・コンテンツ管理・トレンド監視を自動化する。MCPは2024年11月にAnthropicが発表した標準化プロトコルで、AIモデルが外部ツール・API・データベースにアクセスするための共通インターフェース。xmcpはこの仕様に準拠したX API統合例として機能し、学習教材としても有用。
主な機能
- ツイート投稿・削除:AIエージェントがプログラム的にX上のコンテンツを管理
- タイムライン取得・検索:特定キーワード・ハッシュタグ・ユーザーのツイートを取得し、LLMが内容解析
- トレンド監視:トレンドトピックを取得し、マーケティング調査や話題追跡を自動化
- ユーザー情報取得:プロフィール・フォロー関係・エンゲージメント統計を構造化データとして抽出
クイックスタート
インストール手順
xmcpのセットアップはPython環境で進む。
git clone https://github.com/xdevplatform/xmcp.git
cd xmcp
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
公式リポジトリをクローンし、仮想環境を作成してから依存パッケージをインストール。Python 3.9以上の環境を前提。
X API認証情報の設定
X Developer Portalで取得した認証情報を環境変数として設定。
export X_OAUTH_CONSUMER_KEY="your_consumer_key_here"
export X_OAUTH_CONSUMER_SECRET="your_consumer_secret_here"
export X_BEARER_TOKEN="your_bearer_token_here"
または.envファイルにて管理。セキュリティの観点から本番環境ではシークレット管理サービス(AWS Secrets Manager等)の利用を推奨。
.envファイルテンプレートはenv.exampleから複製:
cp env.example .env
MCPサーバー起動
python server.py
このコマンドでxmcpのMCPサーバーが起動。デフォルトではhttp://127.0.0.1:8000/mcpでリッスン。MCPクライアント経由で接続可能。
MCPサーバーへの接続確認
MCPサーバーが起動したら、MCPクライアントを通じてサーバーに接続。サーバーはX APIの機能をツールとして公開し、クライアント(Claude等)から利用可能。
環境変数設定例
.envファイルの主要な設定項目:
# 必須認証情報
X_OAUTH_CONSUMER_KEY=your_key
X_OAUTH_CONSUMER_SECRET=your_secret
X_BEARER_TOKEN=your_bearer_token
# サーバー設定(オプション)
MCP_HOST=127.0.0.1
MCP_PORT=8000
X_API_BASE_URL=https://api.x.com
X_API_TIMEOUT=30
# OAuth1設定(オプション)
X_OAUTH_CALLBACK_HOST=127.0.0.1
X_OAUTH_CALLBACK_PORT=8976
X_OAUTH_CALLBACK_PATH=/oauth/callback
X_OAUTH_CALLBACK_TIMEOUT=300
# ツールフィルタリング(オプション、カンマ区切り)
X_API_TOOL_ALLOWLIST=
# Grokテストクライアント(オプション)
XAI_API_KEY=
XAI_MODEL=grok-4-1-fast
MCP_SERVER_URL=http://127.0.0.1:8000/mcp
レート制限やタイムアウトをカスタマイズ可能。
アーキテクチャ
xmcpのシステム構成とデータフロー:
(LLMクライアント)"] --> B["MCPクライアント"] B --> C["MCP サーバー
(xmcp)"] C --> D["X API v2
(Twitter API)"] D --> E["X プラットフォーム
(ツイート・ユーザーデータ)"] E -.->|レスポンス| D D -.->|JSON形式| C C -.->|ツール実行結果| B B -.->|実行結果| A F["環境設定
(.env)"] --> C
MCPクライアントがMCPサーバーのインターフェースを通じてX APIへリクエストを送信。MCPサーバーは認証・レート制限管理・レスポンス変換を担当。
機能制限事項
xmcpで利用可能なX APIの機能は、OpenAPI仕様で定義された範囲に限定。ストリーミングとWebhookエンドポイントは除外されており、全X API機能の利用は不可。
競合ツールとの比較
| ツール | MCP対応 | X API統合 | 言語 | 保守状況 | 対象ユーザー |
|---|---|---|---|---|---|
| xmcp | ✓ | ✓ | Python | アクティブ | AI開発者・MCPユーザー |
| tweepy(Python) | ✗ | ✓ | Python | アクティブ | Pythonデータ分析者 |
| Twitterkit(Swift) | ✗ | ✓ | Swift | 保守 | iOSアプリ開発者 |
| n8n(ノーコード) | △ | ✓ | Node.js/UI | アクティブ | 非技術ユーザー |
xmcpの独自性はMCP準拠により、Claude等のLLMプラットフォームとのシームレス統合が可能な点。tweepyは言語レベルのラッパーであり、LLMエージェント向けではない。n8nはビジュアルワークフロー志向で、プログラマティックな拡張が限定的。
実践的な使い方
ユースケース1:ブランド監視・競合分析
AIエージェントが特定キーワードのツイートを自動収集し、センチメント分析・競合動向を日次レポート化。MCPサーバーを通じてX APIへのアクセスを実現。
import os
from datetime import datetime, timedelta
def search_and_analyze_tweets(keyword: str):
# MCPサーバーを通じてX APIへリクエスト
# キーワードに基づくツイート検索と分析処理
query = f"Query tweets about '{keyword}' from the last 24 hours and analyze sentiment and trends"
return query
# 実行
analysis = search_and_analyze_tweets("AI エージェント")
print(analysis)
このパターンは毎日実行スケジュール化(cron等)で、業界動向を継続監視。結果をSlackやメール配信することで、リアルタイム情報の把握が効率化。
ユースケース2:自動コンテンツ配信・エンゲージメント管理
複数のコンテンツテンプレートからAIが自動的に投稿内容を生成・最適な時間帯に投稿。エンゲージメントの高いツイートに対しては自動リプライ。
import schedule
import time
import os
def generate_and_post_tweet():
template = {
"topic": "AI・機械学習の最新動向",
"format": "インサイト記事へのリンク + 1-2行の考察"
}
# 投稿内容の生成処理
tweet_content = f"Generated content about {template['topic']}"
print(f"Generated tweet: {tweet_content}")
# MCPサーバーを通じてツイート投稿
return tweet_content
# 毎日9:00 JST に投稿するようスケジュール設定
schedule.every().day.at("09:00").do(generate_and_post_tweet)
# スケジューラー実行(バックグラウンド)
while True:
schedule.run_pending()
time.sleep(60)
毎日自動でコンテンツ生成・投稿。手動管理の負担大幅削減。
ユースケース3:リスト管理・情報キュレーション
トレンドトピックやキーワードに基づいてユーザーを自動カテゴリー分け。カスタムリストに追加し、フォーカスされた情報フローを構築。
import os
def create_curated_list(keyword: str):
# MCPサーバーを通じたユーザー検索とリスト作成処理
query = f"Find influential users in '{keyword}' field and create a list called '{keyword} Experts' with top users"
return query
# 実行
result = create_curated_list("機械学習")
print(result)
このパターンにより、自動的に専門家コミュニティを集約。特定分野の最新情報を効率的に追跡可能。
まとめ
xmcpはX APIとClaudeをMCPで統合するオープンソースツール。AIエージェントがプログラム的にツイート管理・コンテンツ分析・エンゲージメント最適化を自動化でき、以下のユーザーに推奨される:
- AI開発者:MCPの実装例として学習価値が高く、カスタムツール開発の参考に
- マーケター・コミュニティマネージャー:SNS運用の自動化により、手動作業の削減
- データ分析者:X APIからのデータ取得・LLMによる分析を一体化
- Python開発者:Pythonベースのセットアップで、既存スクリプトとの統合が容易
制限事項と注意点
API レート制限:X API v2 は無料プランで月300万ツイート読み込みが上限。大規模運用は有料プラン(Pro・Enterprise)を要検討。
認証トークン管理:Bearer Token の漏洩は勘定全体の危険。本番環境では必ずシークレット管理サービスを経由。
機能制限:ストリーミングとWebhookエンドポイントはxmcpでは利用不可。これらを必要とする用途には別途対応が必須。
MCPの成熟度:MCPは2024年11月発表の比較的新しい仕様。破壊的変更の可能性がある初期段階。Production利用時は定期的なアップデート確認が必須。
セットアップの前提条件:Python 3.9以上が必須。X Developer Platform アプリの登録と認証情報取得が事前に必要。
これらの制約を理解した上で活用すれば、X APIとAIを組み合わせた新しいアプリケーション開発の実験台となる。