Pokémon AI Demo について
Pokémon AI Demoは、ポケモンの情報確認や比較、対策候補の検索、チーム作成を行うフルスタックアプリです。プレイヤーやエージェント連携を想定し、Web画面とJSON APIを備え、自然言語の説明からチーム案を生成します。
主な機能
- 01ポケモンの能力やステータス表示
- 022匹のポケモンを比較
- 03弱点と対策候補の検索
- 04説明文からチームを生成
活用シーン
- 01ポケモンの技や進化を確認
- 02ポケモン同士のタイプ相性を比較
- 03指定したポケモンへの対策を検索
- 04希望するプレイスタイルに合わせて編成
MCP 対応
READMEにはエージェント連携向けのDjango REST APIが記載されていますが、MCPプロトコルの動作は説明されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Pokémon AI Demo
Pokémon のデータを調べたり、Pokémon 同士を比較したり、対抗策を提案したり、AI を使用してチームを生成したりできるフルスタックアプリケーションです。Django REST API バックエンドと React/MUI フロントエンドを備えています。
目次
システムのセットアップとデプロイ
前提条件
- Python 3.8+(バックエンド用)
- Node.js 16+ & npm(フロントエンド用)
- pip(Python パッケージマネージャー)
バックエンドのセットアップ(Django/DRF)
- バックエンドディレクトリに移動します:
cd mcp_server - 依存関係をインストールします:
pip install -r requirements.txt - マイグレーションを実行します:
python manage.py migrate - バックエンドサーバーを起動します:
API はpython manage.py runserverhttp://127.0.0.1:8000/api/で利用できます。
フロントエンドのセットアップ(React/MUI)
-
フロントエンドディレクトリに移動します:
cd mcp_frontend -
依存関係をインストールします:
npm install npm install @mui/material @emotion/react @emotion/styled npm install @mui/icons-material -
フロントエンドサーバーを起動します:
npm startアプリは
http://localhost:5173/で利用できます。 -
アプリを自動的に起動するには -
ターミナルで Windows の場合はコマンド start.bat を実行します
Linux ディストリビューションの場合は start.sh を実行します
環境変数
- デフォルトでは、フロントエンドはバックエンドが
http://127.0.0.1:8000/api/agent/にあることを想定しています。必要に応じて、mcp_frontend/src/App.jsxのAPI_BASEを調整してください。
dotenv の構成(.env)
- mcpserver フォルダー内に .env ファイルを作成します
- 内容 - " POKE_API_URL = "https://pokeapi.co/api/v2/" GOOGLE_API_KEY = "your api key" "
利用可能なモジュールとその使い方
バックエンドでは、次の 4 つの主要なエンドポイントを公開しています:
-
Pokémon 情報(
POST /api/agent/pokemon-info/)- 入力:
{ "name": "pikachu" } - 出力:基本情報、ステータス、特性、わざ、進化、フレーバーテキスト。
- 入力:
-
Pokémon の比較(
POST /api/agent/compare/)- 入力:
{ "pokemon1": "pikachu", "pokemon2": "bulbasaur" } - 出力:ステータスごとの比較、タイプ相性、共通および固有の特性。
- 入力:
-
対抗策の提案(
POST /api/agent/strategy/)- 入力:
{ "name": "charizard" } - 出力:弱点と、対抗策として推奨される Pokémon。
- 入力:
-
チームビルダー(
POST /api/agent/team/)- 入力:
{ "description": "balanced team with fire and water types" } - 出力:役割と画像を含む、AI が生成したチーム。
- 入力:
チームビルダーの使い方
- **目的:**自然言語の説明(例:「タイプの補完に優れた攻撃的なチーム」)に基づいて Pokémon チームを生成します。
- 使い方:
- Web UI の「Generate Team」セクションに移動します。
- 入力欄にチームの説明を入力します。
- 「Generate」をクリックします。
- AI が、それぞれに名前、役割、画像を含む Pokémon のチームを返します。
- API の使用方法:
{ "description": "your team idea" }を指定して/api/agent/team/に POST リクエストを送信します。- レスポンスで、構造化されたチームの提案を受け取ります。
Web インターフェースの概要
Web アプリは、次の 4 つのメインカードで構成されています:
- Pokémon を検索
- Pokémon の名前を入力すると、ステータス、タイプ、特性、わざ、進化系統、フレーバーテキストを確認できます。
- 2 匹の Pokémon を比較
- 2 匹の Pokémon の名前を入力すると、ステータス、タイプ相性、特性を並べて比較できます。
- 対抗策を提案
- Pokémon の名前を入力すると、弱点と推奨される対抗策を確認できます。
- チームを生成
- 希望するチームを説明すると、役割と画像を含む AI 生成チームを取得できます。
各セクションでは、スムーズに利用できるよう、即時のフィードバック、読み込みインジケーター、エラーメッセージが表示されます。
エージェント連携の手順
バックエンド API と外部エージェントやスクリプトを連携できます。使用例:
- Python の例:
import requests response = requests.post('http://127.0.0.1:8000/api/agent/pokemon-info/', json={"name": "pikachu"}) print(response.json()) - エンドポイント:
/api/agent/pokemon-info/(POST)/api/agent/compare/(POST)/api/agent/strategy/(POST)/api/agent/team/(POST)
- リクエスト/レスポンス形式: すべてのエンドポイントで JSON を受け取り、返します。
ライセンス
このプロジェクトは教育/デモ目的であり、Nintendo、Game Freak、The Pokémon Company とは提携していません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。