Overwatch 2 Data MCP Server について
Overwatch 2 Data MCP Server は、ヒーローデータ、公開プレイヤー統計、リプレイの証拠、パッチノート、OWCS Korea のデータを照会でき、エージェントスキルとしても利用できます。ゲームデータを分析するプレイヤーやエージェント向けで、結果には出典、観測日、フィルター、警告が保持されます。
主な機能
- 01地域・ランク別のヒーローデータ比較
- 02公開プレイヤープロフィールと統計の検索
- 03根拠付きランカーとリプレイ証拠の照会
- 04公式パッチノートの取得
- 05OWCS Korea データの照会
- 06出典、日付、警告の保持
活用シーン
- 01地域やランクごとのヒーロー性能の比較
- 02公開 BattleTag プレイヤープロフィールの確認
- 03根拠のあるランカーやリプレイの検索
- 04パッチ変更と OWCS Korea データの確認
MCP 対応
MCP サーバーは読み取り専用のクエリツールを 10 個提供し、エージェントスキルと SQLite ストアおよびスキーマを共有します。データは要求時に取得し、stdio と Streamable HTTP に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Overwatch 2 データ MCP サーバー&エージェントスキル — ヒーローメタ、プレイヤー統計、リプレイ、パッチノート、OWCS Korea
英語 | 韓国語
MCP クライアントまたはスタンドアロンのエージェントスキルから、Overwatch 2 のヒーローメタ、公開プレイヤー統計、根拠が確認されたランカー、リプレイコード、公式パッチノート、OWCS Korea のデータを照会できます。どちらのインターフェースも、読み取り専用の10種類の照会操作と1つの SQLite ストアを共有します。すべての結果では、ソース URL、観測日、適用されたフィルター、キャッシュの状態、警告が保持されます。
地域やランクごとのヒーロー比較、公開 BattleTag プロフィールの確認、厳選されたランカーやリプレイの根拠の取得、パッチ変更と利用可能なデータ期間との関連付け、ランク統計とeスポーツ指標の区別に利用できます。データはリクエストされた場合にのみ取得されます。定期的な収集、ゲームクライアントの自動操作、非公開プロフィールへのアクセスはありません。
Python 3.11+ と uv で構築されています。スキル、MCP サーバー、または両方を選んでください。
従来の
v0.3.1MCPB では、元の表示ラベルOverwatch AIO MCPが維持されています。 バージョン0.3.2以降では、Overwatch 2 Data MCP Serverラベルが使われます。 公開済みのリリースアセットは変更されません。
インターフェースを選ぶ
| インターフェース | 用途 | インストール |
|---|---|---|
| エージェントスキル | Codex に照会を選択させ、根拠を解釈させる | ルートスキルと基本的な Python 依存関係 |
| MCP サーバー | MCP クライアントから ow_* ツールを呼び出す | mcp エクストラとクライアントへの登録 |
| 両方 | 環境ごとにインターフェースを選ぶ | どちらのインストールでも1つの DB を共有できます |
スキルは CLI を独立して実行します。MCP の利用にスキルのインストールは必要ありません。自動切り替えや重複実行はありません。
スキルをインストールする
プロジェクトにインストールするには、skills CLI を使用します。
npx skills add BK927/overwatch-aio --skill overwatch-aio-skill --agent codex
個人用にインストールするには --global を追加します。照会には Python と uv が必要です。このインストーラーに必要なのは Node.js のみです。インストーラーが報告するスキルディレクトリを使用してください。
または、Codex の Skill Installer に次のように依頼します。
BK927/overwatch-aio のルートにあるスキルを overwatch-aio-skill としてインストールしてください。コミットを指定した場合は、そのコミットを使用してください。
コミットを固定してインストールする場合は、ローカルの Codex スキルパスを指定して、そのスクリプトを使用してください。
python <Codex skills>/.system/skill-installer/scripts/install-skill-from-github.py --repo BK927/overwatch-aio --path . --name overwatch-aio-skill --ref <commit-SHA>
uv sync --frozen --no-dev --project "<installed-skill-directory>"
Skill Installer の個人用デフォルトディレクトリは ~/.codex/skills/overwatch-aio-skill です。$overwatch-aio-skill を呼び出すか、Overwatch のデータについて質問してください。データベース、キャッシュ、開発環境は配布されません。
リクエストの例:
- 「Asia Master で Reinhardt と Ramattra を比較し、ソースと実際のデータ期間を示してください。」
- 「利用可能であれば韓国固有のデータを表示し、Asia のデータと区別してください。」
- 「根拠が確認された韓国人プレイヤーに関連付けられた Reinhardt のリプレイを探し、再生確認の結果を示してください。」
- 「Reinhardt の最新のパッチ変更を OWCS Korea のデータとあわせて説明してください。」
MCP サーバーをインストールする
UV ランタイム(マニフェスト 0.4)をサポートする MCPB 対応クライアントでは、GitHub リリースから .mcpb ファイルをインストールできます。依存関係は初回起動時に準備されます。以下のソースからインストールする方法は、通常の stdio または Streamable HTTP 設定を使用するクライアントで動作します。
リポジトリをクローンするか、インストール済みのスキルディレクトリを使用します。<project-directory> を絶対パスに置き換えてください。
git clone https://github.com/BK927/overwatch-aio.git
uv sync --frozen --no-dev --extra mcp --project "<project-directory>"
uv run --frozen --no-dev --extra mcp --project "<project-directory>" overwatch-aio-mcp serve
デフォルトのトランスポートは stdio です。MCP JSON の例または Codex TOML の例を使用してください。Codex では、次の形式も使用できます。
codex mcp add overwatch-aio -- uv run --frozen --no-dev --extra mcp --project "<project-directory>" overwatch-aio-mcp serve
Streamable HTTP の場合は、サーバーを起動し、http://127.0.0.1:8765/mcp に接続します。
uv run --frozen --no-dev --extra mcp --project "<project-directory>" overwatch-aio-mcp serve --transport streamable-http
--host と --port で待ち受けアドレスを変更できます。デフォルトはローカル専用の 127.0.0.1:8765 です。サーバーに認証機能は組み込まれていません。公開環境でホストするには、別途認証と TLS が必要です。クライアントの設定については、Codex 公式 MCP ガイドを参照してください。
MCP 用の環境で MCP 起動コマンドや uv sync コマンドを実行する場合は、--extra mcp を付けてください。通常の uv sync では、オプションの依存関係が削除されることがあります。スキルコマンドは変更しないでください。
デプロイ
| 環境 | 状況 | 要件と制限 |
|---|---|---|
| ローカルデスクトップ、stdio | サポート対象 | 標準的なセットアップです。MCP クライアントがプロセスを起動し、ユーザーごとの SQLite データベースがローカルに保持されます。 |
| ローカルデスクトップ、Streamable HTTP | サポート対象 | 認証済みゲートウェイがすでに導入されている場合を除き、デフォルトのループバックバインドを維持してください。サーバー自体に認証機能はありません。 |
| プライベートホームサーバー | 運用者による管理が必要 | サービスマネージャー、永続性のある単一の SQLite データベース、バックアップを使用し、信頼できるリバースプロキシまたはプライベートネットワーク境界で TLS と認証を設定してください。MCP ポートを直接公開しないでください。 |
| Raspberry Pi 4 Model B(2 GB RAM) | テスト済みハードウェアのみ | これはテストに使用したハードウェアの記録であり、推奨、最小要件、性能の保証ではありません。 |
| Google Compute Engine VM | 手動、未検証 | 永続ディスクを備えた単一 VM でプロセスをホストできますが、イメージや Terraform モジュールは提供されていません。TLS と認証、バックアップ、単一ライターによる DB の所有権管理、稼働中のアップストリームへの疎通確認を追加してください。 |
| Cloudflare Tunnel | 運用者が管理するイングレスとして利用可能、未検証 | 認証の設計とテストを行えば、ホームサーバーまたは VM の前段に Tunnel を配置できます。Tunnel は稼働中のホストへのイングレスにすぎず、Cloudflare Workers のランタイムではありません。 |
| Google Cloud Run | 現状のままでは非対応 | ローカルの SQLite はインスタンスごとに存在し、このリポジトリにはステートレスなコンテナ/ストレージ設計がありません。外部の永続ストレージ、認証、ライフサイクルの変更が必要です。 |
| Cloudflare Workers | 現状のままでは非対応 | 現在の CPython MCP SDK とローカル SQLite の設計は、Workers へのデプロイには対応していません。移植するには、ステートレスな HTTP ハンドラー、Workers ネイティブのストレージ、Workers 対応の認証が必要です。 |
リモートおよびホームサーバーでの運用は、あくまで運用者が管理するデプロイパターンであり、組み込みのホスティングサービスではありません。運用者が管理する認証と TLS を通してリクエストが処理され、データベースが永続的に保存される場合を除き、ループバック以外のアドレスにバインドするのは安全ではありません。
利用可能なツール
| ツール | 機能 |
|---|---|
ow_catalog | ヒーロー、マップ、モード、ティア、地域、対応するフィルター |
ow_meta | ヒーロー使用率、マップ/ティア/地域の比較、保存された観測データ |
ow_players_search | 公開名とBattleTagの検索 |
ow_player_get | 公開プロフィールとキャリア/ヒーロー/ロールの統計 |
ow_rankers_search | 証拠付きでローカルに管理されたランカーの登録情報 |
ow_replays_search | 公開リプレイの検索と保存された証拠によるフィルタリング |
ow_replay_get | リプレイの詳細と記録された再生証拠 |
ow_patches | 公式パッチノートとリプレイの互換性に関する通知 |
ow_esports | OWCS Koreaのヒーロー、試合、マップ、BAN、チームのデータ |
ow_status | ソースの健全性と保存済みデータの範囲。デフォルトではオフライン |
どちらのインターフェースも同じ入出力スキーマを公開します。MCPは結果をstructuredContentとJSONテキストで返します。isError=trueになるのはstatus=errorの場合のみです。結果が空、古い、または部分的な場合も、品質ステータスと警告は保持されます。overwatch-aio-mcp schemaでコントラクトをエクスポートできます。証拠の書き込みにはローカル管理CLIを使用してください。
CLIから直接クエリを実行する
uv run --frozen --no-dev --project "<skill-directory>" overwatch-aio-skill query ow_status
uv run --frozen --no-dev --project "<skill-directory>" overwatch-aio-skill query ow_meta --input-file "<filters.json>"
uv run --frozen --no-dev --project "<skill-directory>" overwatch-aio-skill schema
filters.jsonの例:
{"heroes":["reinhardt","ramattra"],"region":"ASIA","tier":"MASTER"}
ファイルを省略すると{}が渡され、--input-file -を指定すると標準入力から読み込みます。UTF-8とUTF-8 BOMに対応しています。標準出力には1つのJSONオブジェクトが出力され、診断情報は標準エラー出力に送られます。終了コードは、ok/empty/stale/partialの場合は0、実行失敗の場合は1、無効な入力の場合は2です。statusと警告を確認してください。クエリガイドには、韓国語でさらに多くの例が掲載されています。
データストレージと互換性
DBの選択順は**--db → OW_DB_PATH → ~/.overwatch-aio-skill/overwatch.db**です。デフォルトのDBはインストール先ディレクトリに関係なく、同じユーザーで実行されるプロセス間で共有されます。既存のレコードを使用する場合は、絶対パスを指定してください。--dbは実行ファイル名の後、queryまたはserveの前に指定してください。
既存のキャッシュ、メタ観測データ、プレイヤー、リプレイ、手動で登録された証拠は引き続き読み取り可能です。SQLiteのWALとトランザクションにより、スキルからの書き込みとMCPからの読み取りを並行して行えます。旧collection_jobsテーブルは保持されますが、使用されません。データベースが自動的に移動または削除されることはありません。履歴にはリクエスト時に行われた観測が含まれます。観測されていない期間は遡って補完されません。キャッシュされた応答は新しい観測データを作成しません。無効化通知によるリプレイ再確認フラグは、パッチをクエリすると更新されます。HTTPキャッシュは、256件、64 MiB、7日間を上限とします。
リポジトリはBK927/overwatch-aioで、Pythonディストリビューションとスキルは引き続きoverwatch-aio-skillです。既存のスキルコマンドは変更せずに動作します。古いMCPユーザーは、パスを更新して--extra mcpを追加すれば、従来どおりoverwatch-aio-mcp serveを使用できます。必要に応じて、--dbで旧data/overwatch.dbを明示的に指定してください。
FAQ
ASIAは韓国サーバーを意味しますか?
いいえ。ASIAはプロバイダーの地域ラベルであり、韓国の試合サーバーであることを証明するものではありません。OWTICSのKOREAもプロバイダーによるグループ分けです。結果では、これらのラベルは証拠で確認されたプレイヤーの識別情報と区別されます。
ライブのトップ500リーダーボードを提供していますか?
いいえ。ow_rankers_searchはローカルに管理された登録情報を検索し、記録されている証拠を返します。トップ500を網羅したライブデータを提供するものではありません。
返されるリプレイコードは必ず使用できますか?
いいえ。公開コードだけでは、現在再生できることを証明できません。再生状態は、運用担当者が証拠を登録している場合にのみ報告されます。このプロジェクトがOverwatch 2を起動または操作することはありません。
データを継続的に収集しますか?完全なオフライン動作に対応していますか?
スケジューラーはありません。更新を伴うクエリは、必要に応じて公開ソースに接続します。保存済みの観測データ、管理された証拠、互換性のあるキャッシュ/ステータスクエリは、それぞれのオフライン動作に応じて利用できますが、オフライン中に最新の状態になることはありません。
プライベートプロフィールを読み取ったり、パブリックな MCP サービスとして公開したりできますか?
プライベートプロフィールへのアクセス制限を回避することはありません。パブリックホスティングは、そのまま利用できる状態ではありません。現在の HTTP サーバーには認証機能が組み込まれていないため、運用者が TLS、認証、永続ストレージ、アクセス制御、バックアップを用意する必要があります。
ソースと制限
ソースには、OverFast、Blizzard のヒーロー統計とパッチノート、OWTICS、OWReplays、OWCS Korea のリリースが含まれます。これらのサービスへのリクエストには、選択した操作に必要なクエリフィルターと公開プレイヤー識別子が含まれる場合があります。
- ASIA は韓国のマッチサーバーを示すものではありません。OWTICS KOREA はプロバイダーのグループです。
- ランキング対象は、実証済みのローカルレジストリであり、最新のトップ 500 を完全に網羅するものではありません。
- 公開リプレイコードだけでは、再生可能であることは証明できません。再生の証拠は運用者が記録します。ゲームクライアントは制御しません。
- プライベートプロフィールにはアクセスしません。統計の欠落と明示的なプライバシー設定は区別されます。
- ヒーローの使用率には 0~100 の割合を使用します。対戦相手別の勝率を捏造することはありません。eスポーツ指標はランク統計とは別に扱われます。
- ソースの変更、レート制限、解析エラーはそのまま確認できます。公開データの更新によって、手動で設定した識別情報や再生の証拠が上書きされることはありません。
これは非公式のコミュニティプロジェクトであり、Blizzard Entertainment との提携や同社による承認を受けていません。Overwatch および関連する商標は、それぞれの所有者に帰属します。
開発と検証
uv sync --locked --extra dev
uv run --frozen --extra dev ruff check src tests scripts
uv run --frozen --extra dev ruff format --check src tests scripts
uv run --frozen --extra dev python scripts/validate_skill.py
uv run --frozen --extra dev pytest -q
uv sync --locked --extra dev --extra mcp
uv run --frozen --extra dev --extra mcp pytest -q
uv build
CI では、Windows/Linux × Python 3.11/3.13 × スキルのみ/MCP インストールを対象としています。依存関係の分離、共有コントラクト、実際の stdio/HTTP 接続とシャットダウン、共有 DB アクセスを確認します。実際の上流サービスを対象とするチェックは分離されており、オプトイン方式です。
uv run --frozen --no-dev python scripts/live_smoke.py --output docs/live-verification.json
実装仕様 · 検証記録 · ソースコントラクト · SQLite スキーマ
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。