X(Twitter)に投稿するための、依存最小の自作MCPサーバー。
X公式のMCPサーバーは存在しないため、コミュニティ製の野良MCPに頼らず、Anthropic公式のMCP Python SDK(mcp)のみを使って自作した。投稿処理(OAuth 1.0a署名)は標準ライブラリ(hashlib・hmac・urllib)のみで実装しており、それ以外の外部依存は無い。
post_tweet(text: str)— 指定テキストをX APIのPOST /2/tweetsで投稿する。
- Python 3.10以上
- X Developer Portal(developer.x.com)のアカウントとアプリ
git clone https://github.com/Yuma007708/x-mcp.git
cd x-mcp
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt- developer.x.com でアプリを作成
- アプリの「User authentication settings」で権限を Read and Write に設定(デフォルトはRead onlyなので要変更)
- 「Keys and tokens」から以下4つを発行
- API Key(Consumer Key)
- API Key Secret(Consumer Secret)
- Access Token
- Access Token Secret
現在のXの開発者プラットフォームは従量課金(Pay Per Use)制。投稿にはクレジット残高が必要になる場合がある。
値は環境変数としてのみ渡し、コード中にハードコードしない。
claude mcp add x-mcp \
-e X_API_KEY=<コンシューマーキー> \
-e X_API_SECRET=<コンシューマーシークレット> \
-e X_ACCESS_TOKEN=<アクセストークン> \
-e X_ACCESS_SECRET=<アクセストークンシークレット> \
-- $(pwd)/.venv/bin/python $(pwd)/server.py登録後、claude mcp listにx-mcpが表示されれば成功。post_tweetツールが使えるようになる。
- 追加の外部パッケージは公式MCP SDK 1つのみ
- 認証情報はすべて環境変数経由、リポジトリ・コードに含めない
- 投稿以外の機能(DM、フォロー等)は持たせない(権限も読み書きのみに限定)
MIT — see LICENSE.