Skip to content

Yuma007708/x-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

X-MCP

X(Twitter)に投稿するための、依存最小の自作MCPサーバー。

X公式のMCPサーバーは存在しないため、コミュニティ製の野良MCPに頼らず、Anthropic公式のMCP Python SDK(mcp)のみを使って自作した。投稿処理(OAuth 1.0a署名)は標準ライブラリ(hashlibhmacurllib)のみで実装しており、それ以外の外部依存は無い。

提供ツール

  • 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

X Developer Portalでの認証情報取得

  1. developer.x.com でアプリを作成
  2. アプリの「User authentication settings」で権限を Read and Write に設定(デフォルトはRead onlyなので要変更)
  3. 「Keys and tokens」から以下4つを発行
    • API Key(Consumer Key)
    • API Key Secret(Consumer Secret)
    • Access Token
    • Access Token Secret

現在のXの開発者プラットフォームは従量課金(Pay Per Use)制。投稿にはクレジット残高が必要になる場合がある。

Claude Codeへの登録

値は環境変数としてのみ渡し、コード中にハードコードしない。

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 listx-mcpが表示されれば成功。post_tweetツールが使えるようになる。

設計方針

  • 追加の外部パッケージは公式MCP SDK 1つのみ
  • 認証情報はすべて環境変数経由、リポジトリ・コードに含めない
  • 投稿以外の機能(DM、フォロー等)は持たせない(権限も読み書きのみに限定)

License

MIT — see LICENSE.

About

X (Twitter) posting MCP server built with the official MCP Python SDK only — no third-party dependencies for OAuth 1.0a signing.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages