
Overwatch 2 Data MCP Server
io.github.BK927Published by GitHub account BK927v0.3.2Updated Oct 28, 2026
Overwatch 2 MCP for hero meta, public player stats, replays, patch notes, and OWCS Korea.
Overview
Read-only MCP server that lets an assistant query Overwatch 2 hero meta, public player stats, replays, patch notes and OWCS Korea data.
- What you can do
- Look up heroes, maps, modes, tiers and regions, and compare hero rates by map, tier and region
- Search public players by name or BattleTag and read public career, hero and role statistics
- Search a locally curated ranker registry and find public replay codes with recorded playback evidence
- Read official patch notes, replay compatibility notices and OWCS Korea hero, match, map, ban and team data
- Check source health and stored coverage, with source URLs, observation dates, filters and warnings kept in each result
- When to use it
- Useful when you want an assistant to answer Overwatch 2 questions with sourced, dated evidence: hero meta comparisons across regions and ranks, public profile lookups, patch context, or OWCS Korea esports data kept separate from ranked statistics.
- Requirements
- Runs locally as a stdio process (Streamable HTTP optional) using Python 3.11+ and uv; the MCP extra must be installed. A per-user SQLite database is created locally, selectable via --db or the OW_DB_PATH variable. No account, API key or authentication is declared. Refreshing queries need network access to public sources.
Installation
In SourceWeft
- Open Overwatch 2 Data MCP Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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.1MCPB keeps its originalOverwatch AIO MCPdisplay label. Version0.3.2and later use theOverwatch 2 Data MCP Serverlabel. Published release assets remain immutable.
Choose an interface
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:
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:
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:
The default transport is stdio. Use the MCP JSON example or Codex TOML example. Codex also accepts:
For Streamable HTTP, start the server and connect to http://127.0.0.1:8765/mcp:
--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
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
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
Example filters.json:
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
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:
Implementation specification · Verification record · Source contracts · SQLite schema
Source: README.md at commit 3550b4d
Tools
0Version history
1- v0.3.2LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.