Overwatch 2 Data MCP Server

io.github.BK927由 GitHub 账号 BK927 发布v0.3.2更新于 Oct 28, 2026

Overwatch 2 MCP for hero meta, public player stats, replays, patch notes, and OWCS Korea.

概览

AI 生成的概览

只读的 MCP 服务器,让助手查询《守望先锋 2》英雄环境、公开玩家数据、回放、补丁说明与 OWCS 韩国赛事数据。

可以做什么
  • 查询英雄、地图、模式、段位与地区,并按地图、段位和地区比较英雄数据
  • 按名称或 BattleTag 搜索公开玩家,读取公开的生涯、英雄与职责统计
  • 检索本地整理的榜单选手登记库,查找公开回放代码及其记录的播放证据
  • 读取官方补丁说明、回放兼容性提示,以及 OWCS 韩国的英雄、比赛、地图、禁用与战队数据
  • 查看数据源健康状态与已存覆盖范围,每条结果保留来源网址、观测日期、筛选条件与警告
适用场景
适合需要助手基于有来源、有日期的证据回答《守望先锋 2》问题:跨地区与段位的英雄环境对比、公开资料查询、补丁背景,或与排位统计分开呈现的 OWCS 韩国赛事数据。
运行要求
以 stdio 本地进程运行(可选 Streamable HTTP),需要 Python 3.11+ 与 uv,并安装 mcp 附加依赖。会在本地创建按用户区分的 SQLite 数据库,可用 --db 或 OW_DB_PATH 变量指定。未声明需要账号、API 密钥或认证。需要刷新的查询要能访问公开数据源。
安装前请注意
HTTP 服务器没有内置认证,应保持默认的本地回环绑定,不要直接暴露端口。查询会把筛选条件和公开玩家标识发送给 OverFast、暴雪、OWTICS、OWReplays 等第三方来源。数据仅在请求时抓取,结果可能过期或不完整;回放代码不保证可播放,榜单也不是实时 Top 500。该项目为非官方项目,与暴雪无关。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Overwatch 2 Data MCP Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Overwatch 2 Data MCP Server & Agent Skill — Hero Meta, Player Stats, Replays, Patch Notes & OWCS Korea

English | 한국어

Query Overwatch 2 hero meta, public player stats, evidenced rankers, replay codes, official patch notes, and OWCS Korea data from an MCP client or a standalone agent skill. Both interfaces share ten read-only query operations and one SQLite store, with source URLs, observation dates, applied filters, cache state, and warnings preserved in every result.

Use it to compare heroes by region and rank, inspect public BattleTag profiles, retrieve curated ranker/replay evidence, connect patch changes to the available data period, and keep ranked statistics separate from esports metrics. Data is fetched only when requested; there is no scheduled collector, game-client automation, or private-profile access.

Built with Python 3.11+ and uv. Choose the skill, MCP server, or both.

Download releases · Distribution and registry guide

The legacy v0.3.1 MCPB keeps its original Overwatch AIO MCP display label. Version 0.3.2 and later use the Overwatch 2 Data MCP Server label. Published release assets remain immutable.

Choose an interface

InterfaceUse it forInstallation
Agent skillLet Codex select queries and interpret evidenceRoot skill and basic Python dependencies
MCP serverCall ow_* tools from an MCP clientThe mcp extra and a client registration
BothChoose the interface for each environmentBoth installations can share one DB

The skill runs its CLI independently. MCP does not require a skill installation. There is no automatic switching or duplicate execution.

Install the skill

Use the skills CLI for a project installation:

text
npx skills add BK927/overwatch-aio --skill overwatch-aio-skill --agent codex

Add --global for a personal installation. Python and uv are needed for queries; Node.js is only needed for this installer. Use the skill directory reported by the installer.

Alternatively, ask Codex's Skill Installer:

Install the skill at the root of BK927/overwatch-aio as overwatch-aio-skill. Use the specified commit if I provide one.

For a pinned installation, use its script with your local Codex skills path:

text
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>"

The Skill Installer's default personal directory is ~/.codex/skills/overwatch-aio-skill. Invoke $overwatch-aio-skill or ask an Overwatch data question. Your database, caches, and development environment are not distributed.

Example requests:

  • “Compare Reinhardt and Ramattra in Asia Master, with sources and the actual data period.”
  • “Show Korea-specific data if available, and distinguish it from Asia data.”
  • “Find Reinhardt replays linked to evidenced Korean players and show their playback verification.”
  • “Explain Reinhardt's latest patch changes alongside OWCS Korea data.”

Install the MCP server

MCPB-compatible clients supporting the UV runtime (manifest 0.4) can install the .mcpb file from a GitHub release. Dependencies are prepared at first launch. The source installation below works with clients using ordinary stdio or Streamable HTTP configuration.

Clone the repository or use an installed skill directory. Replace <project-directory> with its absolute path:

text
git clone https://github.com/BK927/overwatch-aio.gituv sync --frozen --no-dev --extra mcp --project "<project-directory>"uv run --frozen --no-dev --extra mcp --project "<project-directory>" overwatch-aio-mcp serve

The default transport is stdio. Use the MCP JSON example or Codex TOML example. Codex also accepts:

text
codex mcp add overwatch-aio -- uv run --frozen --no-dev --extra mcp --project "<project-directory>" overwatch-aio-mcp serve

For Streamable HTTP, start the server and connect to http://127.0.0.1:8765/mcp:

text
uv run --frozen --no-dev --extra mcp --project "<project-directory>" overwatch-aio-mcp serve --transport streamable-http

--host and --port change the listen address. The default is local-only 127.0.0.1:8765. The server has no built-in authentication; public hosting requires separate authentication and TLS. See the official Codex MCP guide for client configuration.

Keep --extra mcp in MCP launch commands and in uv sync commands for environments used by MCP. A plain uv sync can remove optional dependencies. The skill command stays unchanged.

Deployment

EnvironmentStatusRequirements and limits
Local desktop, stdioSupportedPrimary setup. The MCP client starts the process and the per-user SQLite database persists locally.
Local desktop, Streamable HTTPSupportedKeep the default loopback bind unless an authenticated gateway is already in place. The server itself has no authentication.
Private home serverOperator-managed onlyUse a service manager, one durable SQLite database, backups, and TLS plus authentication at a trusted reverse proxy or private network boundary. Do not expose the raw MCP port.
Raspberry Pi 4 Model B (2 GB RAM)Tested hardware onlyThis records the hardware used for testing; it is not a recommendation, minimum requirement, or performance guarantee.
Google Compute Engine VMManual, unverifiedA single VM with persistent disk can host the process, but no image or Terraform module is provided. Add TLS/auth, backups, single-writer DB ownership, and live upstream egress checks.
Cloudflare TunnelPossible operator-managed ingress; unverifiedTunnel can sit in front of a home server or VM after authentication is designed and tested. It is only ingress to that running host, not a Cloudflare Workers runtime.
Google Cloud RunUnsupported as-isLocal SQLite is instance-local and the repository has no stateless container/storage design. External durable storage, authentication, and lifecycle changes are required.
Cloudflare WorkersUnsupported as-isThe current CPython MCP SDK and local SQLite design are not a Worker deployment. A port needs a stateless HTTP handler, Worker-native storage, and Worker-compatible authentication.

Remote and home-server operation is only an operator deployment pattern—not a built-in hosted service. Binding to a non-loopback address is unsafe unless requests first pass through operator-controlled authentication and TLS and the database is stored durably.

Available tools

ToolCapability
ow_catalogHeroes, maps, modes, tiers, regions, and supported filters
ow_metaHero rates, map/tier/region comparisons, and stored observations
ow_players_searchPublic name and BattleTag search
ow_player_getPublic profile and career/hero/role statistics
ow_rankers_searchLocally curated, evidenced ranker registry
ow_replays_searchPublic replay discovery and stored evidence filters
ow_replay_getReplay details and recorded playback evidence
ow_patchesOfficial patch notes and replay compatibility notices
ow_esportsOWCS Korea hero, match, map, ban, and team data
ow_statusSource health and stored coverage; offline by default

Both interfaces publish the same input/output schemas. MCP returns the result as structuredContent and JSON text. Only status=error sets isError=true; empty, stale, and partial results retain their quality status and warnings. overwatch-aio-mcp schema exports the contracts. Use the local curation CLI for evidence writes.

Direct CLI queries

text
uv run --frozen --no-dev --project "<skill-directory>" overwatch-aio-skill query ow_statusuv 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

Example filters.json:

json
{"heroes":["reinhardt","ramattra"],"region":"ASIA","tier":"MASTER"}

Omitting the file supplies {}; --input-file - reads stdin. UTF-8 and UTF-8 BOM are supported. Stdout contains one JSON object; diagnostics go to stderr. Exit codes are 0 for ok/empty/stale/partial, 1 for execution failure, and 2 for invalid input. Inspect status and warnings. The query guide provides more examples in Korean.

Data storage and compatibility

DB selection is --db → OW_DB_PATH → ~/.overwatch-aio-skill/overwatch.db. The default is shared by processes running as the same user, independently of installation directories. Use absolute paths for existing records. Place --db after the executable name, before query or serve.

Existing caches, meta observations, players, replays, and manual evidence remain readable. SQLite WAL and transactions support concurrent skill writes and MCP reads. The old collection_jobs table is preserved but unused. There is no automatic database move or deletion. History contains observations made on request; unobserved periods are not backfilled. Cached responses do not create new observations. Replay recheck flags from invalidation notices update when patches are queried. HTTP cache retention is bounded to 256 entries, 64 MiB, and seven days.

The repository is BK927/overwatch-aio; the Python distribution and skill remain overwatch-aio-skill. Existing skill commands work unchanged. Older MCP users can keep overwatch-aio-mcp serve after updating their path and adding --extra mcp. Point --db at the old data/overwatch.db explicitly if needed.

FAQ

Does ASIA mean the Korean server?

No. ASIA is a provider region label, not proof of a Korean match server. OWTICS KOREA is also a provider grouping; results keep those labels distinct from evidenced player identity.

Does this provide a live Top 500 leaderboard?

No. ow_rankers_search searches the locally curated registry and returns its recorded evidence. It does not claim complete, live Top 500 coverage.

Are returned replay codes guaranteed to work?

No. A public code alone does not prove current playability. Playback state is reported only when an operator has registered evidence; this project does not launch or control Overwatch 2.

Does it collect data continuously or work fully offline?

There is no scheduler. Refreshing queries contact their public sources on demand. Stored observations, curated evidence, and compatible cached/status queries remain available according to each operation's offline behavior, but cannot become fresher while offline.

Can it read private profiles or be exposed as a public MCP service?

It does not bypass private profiles. Public hosting is not turnkey: the current HTTP server has no built-in auth, so an operator must provide TLS, authentication, durable storage, access controls, and backups.

Sources and limits

Sources include OverFast, Blizzard hero statistics and patch notes, OWTICS, OWReplays, and OWCS Korea releases. Requests to these services can include query filters and public player identifiers needed for the selected operation.

  • ASIA does not establish a Korean match server. OWTICS KOREA is a provider grouping.
  • Rankers cover the evidenced local registry, not a complete live Top 500 list.
  • Public replay codes do not prove playability. Playback evidence is recorded by an operator; the game client is not controlled.
  • Private profiles are not accessed. Missing statistics and explicit privacy are distinguished.
  • Hero rates use percentages from 0–100. No invented matchup win rates. Esports metrics stay separate from ranked statistics.
  • Source changes, rate limits, and parsing failures remain visible. Public refreshes do not overwrite manual identity or playback evidence.

This is an unofficial community project and is not affiliated with or endorsed by Blizzard Entertainment. Overwatch and related marks belong to their respective owners.

Development and verification

text
uv sync --locked --extra devuv run --frozen --extra dev ruff check src tests scriptsuv run --frozen --extra dev ruff format --check src tests scriptsuv run --frozen --extra dev python scripts/validate_skill.pyuv run --frozen --extra dev pytest -quv sync --locked --extra dev --extra mcpuv run --frozen --extra dev --extra mcp pytest -quv build

CI covers Windows/Linux × Python 3.11/3.13 × skill-only/MCP installations. It checks dependency isolation, shared contracts, real stdio/HTTP connections and shutdown, and shared DB access. Live upstream checks are separate and opt-in:

text
uv run --frozen --no-dev python scripts/live_smoke.py --output docs/live-verification.json

Implementation specification · Verification record · Source contracts · SQLite schema

来源:README.md,提交 3550b4d

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.3.2最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。