MCP X Server について
MCP X Serverは、文章やトピックから投稿文を作成・推敲し、Xに公開するMCPサーバーです。ソーシャル投稿の作成と公開に利用できます。
主な機能
- 01文章やトピックから投稿文を作成
- 02投稿文の表現を推敲
- 03投稿をXに公開
- 04STDIOまたはSSEで実行
活用シーン
- 01トピックを投稿文の下書きにする
- 02公開前に投稿文を整える
- 03準備した投稿をXに公開
MCP 対応
MCPサーバーは、投稿文の作成、推敲、Xへの公開機能をMCPクライアントに提供します。READMEにはSTDIOとSSEでの接続方法が記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP X Server
MCP X Server では何ができますか?文章やトピックを入力すると、X への投稿を作成して推敲し、公開するのをサポートします。
STDIO で実行する方法
ローカル
mcp.json で MCP サーバーを設定します。
{
"mcpServices": {
"x-mcp": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp",
"--with",
"pydantic-ai",
"--with",
"pydantic-ai-slim[duckduckgo,openai]",
"--with",
"dotenv",
"--with",
"python-twitter-v2",
"fastmcp",
"run",
"mcp_x_server/server.py"
],
"env": {
"CONSUMER_KEY": "*******************",
"CONSUMER_SECRET": "*******************",
"ACCESS_TOKEN": "*******************",
"ACCESS_SECRET": "*******************",
"DEEPSEEK_API_KEY": "*******************"
}
}
}
}
Docker
mcp.json で MCP サーバーを設定します。
{
"mcpServices": {
"x-mcp-docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--name",
"mcp-x-server",
"-e",
"CONSUMER_KEY",
"-e",
"CONSUMER_SECRET",
"-e",
"ACCESS_TOKEN",
"-e",
"ACCESS_SECRET",
"-e",
"DEEPSEEK_API_KEY",
"wylu1037/mcp-x-server:latest"
],
"env": {
"CONSUMER_KEY": "********************************",
"CONSUMER_SECRET": "********************************",
"ACCESS_TOKEN": "********************************",
"ACCESS_SECRET": "********************************",
"DEEPSEEK_API_KEY": "sk-********************************"
}
}
}
}
UVX
mcp.json で MCP サーバーを設定します。
{
"mcpServices": {
"mcp-x-server": {
"command": "uvx",
"args": [
"mcp-x-server"
],
"env": {
"CONSUMER_KEY": "********************************",
"CONSUMER_SECRET": "********************************",
"ACCESS_TOKEN": "********************************",
"ACCESS_SECRET": "********************************",
"DEEPSEEK_API_KEY": "sk-********************************"
}
}
}
}
SSE で実行する
MCP サーバーを実行します
fastmcp run --transport sse mcp_x_server/server.py
mcp.json で MCP サーバーを設定します。
{
"mcpServices": {
"mcp-x-server": {
"url": "http://localhost:8000/sse"
}
}
}
PyPI に公開する(Python パッケージ管理サービスへの公開)
ビルドと公開をまとめて行える uv の使用をおすすめします。このプロジェクトには pyproject.toml と uv.lock が含まれており、この方法に適しています。
1. uv をインストールする(未インストールの場合)
curl -LsSf https://astral.sh/uv/install.sh | sh
または、公式ドキュメントに従って、お使いのプラットフォームに適したインストール方法を選択してください。
2. バージョン番号を更新する
pyproject.toml の [project] セクションで version フィールドを更新し、公開済みのバージョンと重複しないようにします。
uv を使用してバージョン番号を自動的に変更することもできます。例:
uv version --bump patch
3. 古いビルド成果物を削除する(任意)
rm -rf dist/ build/ *.egg-info
4. uv を使用して配布パッケージをビルドする
uv build
ビルドが完了すると、配布パッケージ(.whl と .tar.gz)が dist/ ディレクトリに生成されます。
5. PyPI の認証情報を設定する
PyPI の API Token(ユーザー名/パスワードではなく)の使用をおすすめします。環境変数を通じて uv に渡してください。
export UV_PUBLISH_TOKEN="pypi-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
6. uv を使用して PyPI に公開する
uv publish
TestPyPI に公開する場合は、pyproject.toml で [[tool.uv.index]] を設定してから、次のコマンドを実行します。
uv publish --index testpypi
説明:
- 従来の
python -m build+twine uploadの手順も使用できますが、ここでは uv の使用をおすすめします。- このリポジトリには
python setup.py uploadコマンドも残されています。このコマンドはパッケージを自動的にビルドしてtwineでアップロードし、git tag もプッシュします。通常は、従来の手順が明確に必要な場合にのみ使用します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。