Skip to main content
Glama
fufufukakaka

Pokemon SV Damage Calculator MCP

by fufufukakaka

Pokemon SV Damage Calculator MCP

ポケモンSVのダメージ計算MCPサーバ

ポケモン名・技名等の入力は日本語をベースとしています。

✨ 主な機能

🎯 高精度ダメージ計算

  • 16段階乱数ロール (85%-100%) による正確なダメージ範囲計算

  • 確定x発計算: 最小ダメージベースで100%確実にKOできる攻撃回数

  • 乱数x発分析: 確定x発未満での各攻撃回数でのKO確率

  • タイプ相性、テラスタル対応

  • 天気・フィールド効果のサポート

Related MCP server: Pokemon Showdown MCP Server

🚀 クイックスタート

必要要件

  • Python 3.12+

インストール

git clone https://github.com/your-username/pokemon_sv_damage_calc_mcp.git
cd pokemon_sv_damage_calc_mcp
poetry install

MCPサーバー起動

poetry run python src/pokemon_damage_fastmcp_server.py

Claude Desktop で用いる際は

docker build -t pokemon-damage-mcp .

でイメージをビルドした後、以下のように設定してください。

{
  "mcpServers": {
    "pokemon_damage_fastmcp_server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--network",
        "host",
        "pokemon-damage-mcp"
      ]
    }
  }
}

📖 使用方法

基本的なダメージ計算

# MCPツール呼び出し例
calculate_damage(
    attacker={
        "species": "ガブリアス",
        "ability": "さめはだ",
        "evs": {"attack": 252, "speed": 252, "hp": 4},
        "nature": "いじっぱり",
        "item": "こだわりハチマキ"
    },
    defender={
        "species": "テツノワダチ",
        "evs": {"hp": 252, "defense": 252, "sp_defense": 4},
        "nature": "わんぱく"
    },
    move={
        "name": "じしん",
        "is_critical": False
    }
)

返り値の例

{
    "move_name": "じしん",
    "min_damage": 150,
    "max_damage": 177,
    "average_damage": 163.5,
    "ko_probability": 0.0,
    "guaranteed_ko_hits": 2,
    "probable_ko_analysis": {},
    "calculation_details": {
        "type_effectiveness": 1.0,
        "stab_modifier": 1.5,
        "power": 100,
        "weather": "normal"
    }
}

🎯 確定x発・乱数x発の見方

  • guaranteed_ko_hits: 2確定2発: 最小ダメージでも2回攻撃すれば100%KO

  • probable_ko_analysis: {"1": 0.125}乱数1発: 1回攻撃で12.5%の確率でKO

複数技比較

compare_moves(
    attacker=attacker_data,
    defender=defender_data,
    moves=[
        {"name": "じしん"},
        {"name": "ドラゴンクロー"},
        {"name": "ストーンエッジ", "is_critical": True}
    ]
)

🛠️ 利用可能なMCPツール

ツール名

説明

主な返り値

calculate_damage

単一技のダメージ計算

ダメージ範囲、確定x発、乱数x発分析

compare_moves

複数技の比較

技別ダメージとおすすめ技

analyze_damage_range

詳細ダメージ分析

ダメージ分布、確定数分析

search_pokemon

ポケモン検索

マッチするポケモンリスト

get_pokemon_info

ポケモン詳細取得

種族値、タイプ、特性一覧

search_moves

技検索

マッチする技リスト

get_move_info

技詳細取得

威力、命中率、分類等

search_items

アイテム検索

マッチするアイテムリスト

get_item_info

アイテム詳細取得

効果、威力補正等

get_type_effectiveness

タイプ相性計算

倍率と効果説明

🎯 活用例

ダメージ計算の確認

ガブリアス@こだわりハチマキ じしん → テツノワダチ
ダメージ: 150-177 (確定2発)

乱数調整の参考

フリーザー ふぶき → テツノワダチ
ダメージ: 103-121
確定2発 (乱数1発: 0%)

技選択の最適化

技比較結果:
1. じしん: 平均163.5ダメージ (推奨)
2. ドラゴンクロー: 平均145.2ダメージ
3. ストーンエッジ: 平均134.8ダメージ

📁 プロジェクト構造

pokemon_sv_damage_calc_mcp/
├── src/
│   ├── damage_calculator_api/
│   │   ├── calculators/          # 計算エンジン
│   │   │   ├── damage_calculator.py   # メイン計算機
│   │   │   ├── stat_calculator.py     # 能力値計算
│   │   │   └── type_calculator.py     # タイプ相性
│   │   ├── models/               # データモデル
│   │   │   └── pokemon_models.py      # ポケモン関連クラス
│   │   └── utils/                # ユーティリティ
│   │       └── data_loader.py          # ゲームデータ読み込み
│   ├── pokemon_damage_fastmcp_server.py # MCPサーバー
│   └── main.py                   # FastAPI アプリケーション
├── data/                         # ゲームデータ
│   ├── zukan.txt                # ポケモン種族データ
│   ├── move.txt                 # 技データ
│   └── ...
├── tests/                        # テストコード
└── README.md

🤝 Contribution

プルリクエストやイシューを歓迎します!特に以下の改善点があれば:

  • 新しい特性・アイテム効果の追加

  • 計算精度の向上

  • バグ修正・パフォーマンス改善

  • ドキュメントの改善

📄 ライセンス

MIT License

🙏 謝辞

ポケモンSVのダメージ計算仕様や各種データの調査・検証に協力いただいたコミュニティの皆様に感謝いたします。


注意: このツールは競技用途・学習目的で作成されており、公式のポケモンゲームとは関係ありません。

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fufufukakaka/pokemon_sv_damage_calc_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server