X Developer Platformがこっそり公開した、ちょっと面白いリポジトリがある。その名も「xmcp」。AIアシスタントからX(旧Twitter)のAPIをそのまま扱えるようにするMCPサーバーだ。スター数はすでに385を超え、静かに注目を集めている。

MCPとは何か、なぜXがMCPサーバーを出したのか

MCPは「Model Context Protocol」の略称で、AIモデルが外部のツールやデータソースと通信するために使う標準プロトコルだ。Anthropicが主導して策定し、現在はClaudeやGrok、各種AIエージェントフレームワークが広くサポートしている。

簡単に言えば、「AIが使える道具箱につなぐ共通の差し込み口」である。MCPサーバーを用意すれば、それに対応したAIはそのサーバーの機能を自分のツールとして呼び出せる。コード生成や検索だけでなく、外部APIの操作、ファイル管理、データベースアクセスなど、何でも「ツール化」できる。

X Developer PlatformがxmcpというMCPサーバーを公開したことの意味は大きい。これまでAIからX APIを呼び出すには、自分でSDKを叩くコードを書くか、機能を別のツールに手実装する必要があった。xmcpはその手間を一掃する。AIとX APIのあいだに公式の「橋」が架かったかたちだ。

OpenClaw・Claude Codeとxmcpを組み合わせると何ができるか

xmcpの真価が発揮されるのは、OpenClawやClaude Codeのようなエージェント型ツールと組み合わせたときだ。

OpenClaw + xmcp の場合、OpenClawが自律的にタスクを実行するループのなかにX APIの操作を組み込める。たとえば「毎朝9時に生成AI関連キーワードのトレンドを収集して要約をXに投稿する」という定型業務をコードなしで構築できる。OpenClawはMCPツールをエージェントの「腕」として使うので、xmcpの全エンドポイントがそのまま選択肢になる。

Claude Code + xmcp では、開発中の調査をX情報でサポートする使い方が現実的だ。ライブラリのエラーについてXで最新の議論を検索して解決策を探す、競合製品のリリースに対するエンジニアの反応を収集してプロダクト判断の材料にする、といった調査フローをClaude Codeのセッション内で完結させられる。

どちらのケースでもコードを書く必要はない。AIへの指示文(プロンプト)だけでX APIを操作できるのがxmcpの本質だ。

「Xは情報収集ツール」として使い倒す

Xは信頼性の高いニュースソースとは言い難い側面がある。誤情報や未確認情報も流通するし、感情的なリアクションも多い。それでも情報収集ツールとして見ると、他に代えがたい特性がある。

速報性がメディアより圧倒的に速い。地震・障害・リリース告知といった出来事は、ニュースサイトの記事が出るより先にXで拡散する。searchPostsRecentを使えば、AIが数分前の投稿まで含めてリアルタイムに状況を把握できる。

一次情報に近い場所にいる人の声がある。企業の中の人・研究者・開発者が非公式に状況を共有するのもXの特性だ。プレスリリースには出ない現場のニュアンスを拾える。

量的なシグナルが取れるgetPostsCountsRecentでキーワードの投稿数の推移を集計すれば、話題がどのくらいの勢いで広がっているかを数値で把握できる。バズの初期段階を見つけるアンテナとして使える。

xmcpを使ったリサーチフローの例:

  1. searchPostsRecent で気になるトピックを検索
  2. getPostsCountsRecent でここ数日の投稿数の推移を確認
  3. 投稿のエンゲージメント上位をgetPostsAnalyticsで抽出
  4. ClaudeにXの反応を要約させて、信頼性の高い一次ソース(論文・公式ブログ)と突き合わせる

最後の「突き合わせ」がポイントだ。X情報はあくまで速報シグナルとして扱い、内容の検証は別のソースで行うのが現実的な使い方になる。

自動化の注意点:凍結リスクを避けるために

xmcpを使えばAI経由でフォロー・いいね・投稿を自動実行できる。しかし、Xの利用規約は自動化に厳格な制限を設けており、行き過ぎた使い方はアカウント凍結につながる。

やってはいけないこと:

  • 大量の自動フォロー・アンフォロー(スパムと判定される)
  • 同一または類似内容の投稿を短期間に多数作成
  • 特定の話題への機械的ないいね・リポストの繰り返し
  • DMの一括自動送信(スパム報告されやすい)
  • 複数アカウントでの協調的な自動操作

安全に使う目安:

  • 自動操作は「補助」に留め、実行前に人間が内容を確認するフローを維持する
  • X_API_TOOL_ALLOWLIST で書き込み系ツールを制限し、読み取り専用運用から始める
  • 自動投稿をするなら1日数件程度に抑え、内容のクオリティも担保する

Xの自動化ポリシーはプラットフォームの判断で変わることもある。公式のDeveloper Policyで最新ルールを定期的に確認することを勧める。

セットアップ手順

前提として必要なものが2つある。Python 3.9以上X Developer Platformのアプリ(APIキーとトークンの取得用)だ。X Developer AccountはX Developer Portalから申請できる。

1. リポジトリのクローンと環境構築

git clone https://github.com/xdevplatform/xmcp.git
cd xmcp
python -m venv .venv
source .venv/bin/activate  # Windowsは .venv\Scripts\activate
pip install -r requirements.txt

2. 環境変数の設定

.envファイルを用意する。env.exampleをコピーして書き換えるのが最速だ。

cp env.example .env

最低限必要な項目は3つ。

X_OAUTH_CONSUMER_KEY=あなたのAPI Key
X_OAUTH_CONSUMER_SECRET=あなたのAPI Key Secret
X_BEARER_TOKEN=あなたのBearer Token

OAuth1のコールバックURLもX Developer PortalのAuthentication settingsに登録が必要だ。

http://127.0.0.1:8976/oauth/callback

3. サーバー起動とAIクライアントへの接続

python server.py

起動するとブラウザで認証フローが始まる。承認するとMCPエンドポイントがhttp://127.0.0.1:8000/mcpで立ち上がる。Claude DesktopなどMCP対応クライアントの設定に以下を追加すれば接続できる。

{
  "mcpServers": {
    "xmcp": {
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

ホワイトリスト機能:用途に合わせてツールを絞る

140以上のツールを全部読み込むと、AIのコンテキストが重くなる場合がある。X_API_TOOL_ALLOWLIST環境変数で必要なツールだけを絞り込める。

# 情報収集専用(読み取りのみ)
X_API_TOOL_ALLOWLIST=searchPostsRecent,searchPostsAll,getUsersPosts,getTrendsByWoeid,searchNews,getPostsCountsRecent

# 投稿管理専用
X_API_TOOL_ALLOWLIST=createPosts,deletePosts,getPostsAnalytics,getUsersMe

セキュリティの観点からも、使わない書き込み系ツールは最初から無効にしておくのが安全だ。変更後はサーバーの再起動が必要。

全ツールリスト:140以上のエンドポイントで何ができるか

xmcpはX APIのOpenAPI仕様をFastMCP経由でそのままツール化している。カテゴリごとに使えるツールと、それで何ができるかをまとめた。

投稿操作

ツール名できること
createPosts投稿の新規作成。テキスト・メディア添付・返信・引用に対応
deletePosts投稿の削除
repostPost / unrepostPostリポスト・リポスト取り消し
likePost / unlikePostいいね・いいね取り消し
hidePostsReply自分の投稿への返信を非表示にする
getPostsById / getPostsByIds投稿IDを指定して取得(1件・複数件)
getPostsAnalytics投稿のインプレッション・エンゲージメントなどの分析データ取得
getPostsLikingUsers特定投稿にいいねしたユーザー一覧
getPostsRepostedBy特定投稿をリポストしたユーザー一覧
getPostsQuotedPosts特定投稿の引用リポスト一覧
searchPostsRecent直近1週間の投稿を全文検索
searchPostsAll全期間の投稿を全文検索(Proプラン以上)
getPostsCountsRecent / getPostsCountsAllキーワードの投稿数をタイムライン集計

ユーザー操作

ツール名できること
getUsersByUsername / getUsersByUsernamesユーザー名でプロフィール情報取得
getUsersById / getUsersByIdsIDでプロフィール情報取得
getUsersMe認証中の自分のプロフィール取得
getUsersFollowersフォロワー一覧取得
getUsersFollowingフォロー中一覧取得
followUser / unfollowUserフォロー・アンフォロー
muteUser / unmuteUserミュート・ミュート解除
getUsersMentions自分へのメンション一覧
getUsersTimeline特定ユーザーのタイムライン取得
getUsersPosts特定ユーザーの投稿一覧
getUsersLikedPosts特定ユーザーがいいねした投稿
getUsersBlockingブロックリスト取得
getUsersMutingミュートリスト取得
getUsersAffiliates関連アカウント(アフィリエイト)取得
searchUsersユーザー検索

ダイレクトメッセージ(DM)

ツール名できること
createDirectMessagesByConversationId既存会話にDMを送信
createDirectMessagesByParticipantId相手のIDを指定してDMを送信
createDirectMessagesConversationグループDM会話を作成
deleteDirectMessagesEventsDMを削除
getDirectMessagesEventsDM一覧取得
getDirectMessagesEventsById特定DMの取得
getChatConversation / getChatConversations会話スレッドの取得
sendChatMessageチャットメッセージを送信
blockUsersDms / unblockUsersDmsDM送信元のブロック・解除

リスト管理

ツール名できること
createLists / deleteLists / updateListsリストの作成・削除・更新
addListsMember / removeListsMemberByUserIdリストへのメンバー追加・削除
followList / unfollowListリストのフォロー・解除
pinList / unpinListリストのピン留め・解除
getListsByIdリスト情報の取得
getListsMembersリストメンバー一覧
getListsFollowersリストフォロワー一覧
getListsPostsリストのタイムライン取得
getUsersOwnedListsユーザーが所有するリスト一覧
getUsersFollowedListsフォロー中リスト一覧
getUsersPinnedListsピン留めリスト一覧
getUsersListMembershipsユーザーが所属するリスト一覧

ブックマーク

ツール名できること
createUsersBookmark投稿をブックマークに追加
deleteUsersBookmarkブックマーク削除
getUsersBookmarksブックマーク一覧取得
getUsersBookmarkFoldersブックマークフォルダ一覧
getUsersBookmarksByFolderIdフォルダ別のブックマーク取得

メディアアップロード

ツール名できること
mediaUpload画像・動画のアップロード(シンプルな一括処理)
initializeMediaUpload / appendMediaUpload / finalizeMediaUpload大きなファイルを分割アップロード
createMediaMetadataメディアにalt textなどのメタデータ付与
createMediaSubtitles / deleteMediaSubtitles動画字幕の追加・削除
getMediaByMediaKey / getMediaByMediaKeysメディア情報の取得
getMediaUploadStatusアップロード状態の確認
getMediaAnalyticsメディアのインプレッション・再生数などの分析

トレンド・ニュース

ツール名できること
getTrendsByWoeid地域コード(WOEID)を指定してトレンドワード取得
getTrendsPersonalizedTrends自分のアカウントに合わせたパーソナライズトレンド
getNewsニュースフィードの取得
searchNewsニュース検索

スペース・コミュニティ

ツール名できること
getSpacesById / getSpacesByIdsスペース情報の取得
getSpacesByCreatorIds特定ユーザーが作成したスペース
getSpacesBuyers / getSpacesPostsスペース参加者・関連投稿
searchSpacesスペース検索
getCommunitiesById / searchCommunitiesコミュニティ情報・検索
createCommunityNotes / deleteCommunityNotesコミュニティノートの作成・削除
evaluateCommunityNotesコミュニティノートの評価

分析・コンプライアンス

ツール名できること
getInsights28Hr直近28時間のインサイト取得
getInsightsHistorical過去の統計データ取得
getUsageAPI利用状況の確認
createComplianceJobs / getComplianceJobsデータコンプライアンスジョブの作成・取得
getActivitySubscriptionsアクティビティサブスクリプション管理

まとめ:コードを書かずにX APIの全機能をAIに渡す

xmcpの登場で「AIでXを使う」という体験が大きく変わった。これまではAPIを叩くコードを書けるエンジニアだけが使えた機能が、MCPに対応したAIクライアントがあれば誰でも口頭指示で使えるようになった。

情報収集・分析・投稿補助・リスト管理――そのどれも、今日から試せる。ただし、自動化できるからといって無秩序に動かすのは禁物だ。Xの規約を守りながら、人間の判断を介在させる設計を意識して使うのが長く付き合うコツになる。

GitHubリポジトリ(xdevplatform/xmcp)はMITライセンスで公開されており、フォーク・改変も自由だ。