この記事ではMCPに特化して解説します。MCP(Model Context Protocol)全般は MCPサーバーの作り方2026完全ガイド をご覧ください。

概要

xmcpはX(旧Twitter)APIとLarge Language Models(LLM)を連携させるModel Context Protocol(MCP)の実装ツール。Claude等のAIアシスタントがX APIの機能を操作でき、ツイート分析・コンテンツ管理・トレンド監視を自動化する。MCPは2024年11月にAnthropicが発表した標準化プロトコルで、AIモデルが外部ツール・API・データベースにアクセスするための共通インターフェース。MCPサーバーの基本概念や構築方法についてはMCPサーバーの作り方 完全ガイドで詳しく解説している。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等)から利用可能。MCPクライアントとしてClaude Codeを使う場合の設定方法はAIO Sandboxも参考になる。

環境変数設定例

.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のシステム構成とデータフロー:

flowchart LR A["Claude API
(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等)で、業界動向を継続監視。定期実行のパイプライン構築にはApache Airflowのようなワークフロー管理ツールとの組み合わせも有効だ。結果を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を組み合わせた新しいアプリケーション開発の実験台となる。

参照ソース