Clash Royale MCP Server について
Clash Royale MCP Server は、プレイヤー、クラン、カード、ランキング情報を取得する MCP ツールを提供します。Chat Royale の一部として、バックエンドから Gemini にツールを接続します。
主な機能
- 01プレイヤーとクランの情報取得
- 02カード情報の取得
- 03ゲームランキングの確認
- 04Gemini 経由のツール実行
活用シーン
- 01プレイヤーやクラン情報の確認
- 02カード情報の調査
- 03ゲームランキングの取得
MCP 対応
Clash Royale API を利用し、プレイヤー、クラン、カード、ランキングのデータ取得ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Chat Royale
Gemini 2.0 と MCP ツールを活用し、リアルタイムのゲームデータにアクセスする AI 搭載の Clash Royale エージェントです。
技術的な詳細解説
このプロジェクトのアーキテクチャや構築プロセス、そのほか興味深い点について、技術的な解説記事を書きました。以下のウェブサイトでご覧いただけます。
アーキテクチャ
3 つのコンテナ化されたサービスで構成されています。
MCP サーバー(src/mcp/)- Clash Royale API ツールを公開する Python FastMCP サーバー:
- プレイヤー、クラン、カード、ランキング
バックエンド API(src/backend/)- Node.js/Express サーバー:
@modelcontextprotocol/sdkを介して Gemini と MCP クライアントを統合- 標準的な JSON リクエスト/レスポンス(ストリーミングなし)
- ツールの実行は、Gemini を反復的に呼び出して内部で処理
フロントエンド(src/frontend/)- React/TypeScript UI:
- Markdown に対応したシンプルなチャットインターフェース
- バックエンド API への標準的な HTTP リクエスト
動作の仕組み
- ユーザーがフロントエンドにメッセージを送信します
- フロントエンドがバックエンドの
/api/chatに POST します - バックエンドが MCP サーバーに接続し、ツールを検出します
- Gemini が利用可能なツールを使ってメッセージを処理します
- ツールが必要な場合:バックエンドが MCP 経由で実行し、結果を OpenAI に返します
- 最終応答が JSON としてフロントエンドに返されます
デプロイ
本番環境:Cloudflare CDN を使用した AWS Lightsail
CI/CD:main ブランチへのプッシュ/マージ時に GitHub Actions で自動デプロイ
# Deploy
docker-compose -f docker-compose.prod.yml up -d --build
開発
# Environment setup
# Backend: src/backend/.env - GEMINI_API_KEY
# MCP: src/mcp/.env - CR_API_KEY
# Run all services
docker-compose up -d
技術スタック
- MCP サーバー:Python 3.12、FastMCP、Clash Royale API
- バックエンド:Node.js、Express、TypeScript、Gemini SDK
- フロントエンド:React、TypeScript、Vite、TailwindCSS
- デプロイ:Docker、AWS Lightsail、Cloudflare、GitHub Actions
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。