关于 Overwatch 2 Data MCP Server
Overwatch 2 Data MCP Server 提供英雄数据、公开玩家统计、回放证据、补丁说明和 OWCS Korea 数据查询,也可作为 Agent Skill 使用。面向分析游戏数据的玩家与 Agent,结果保留来源、观测日期、筛选条件及警告。
主要功能
- 01比较英雄数据与地区、段位
- 02搜索公开玩家资料与统计
- 03查询已验证排名者和回放证据
- 04读取官方补丁说明
- 05查询 OWCS Korea 数据
- 06记录来源、日期与警告
适用场景
- 01比较不同地区和段位的英雄表现
- 02检查公开 BattleTag 玩家资料
- 03查找带有证据的排名者或回放
- 04结合补丁变更查看 OWCS Korea 数据
MCP 相关
MCP 服务提供十个只读查询工具,与 Agent Skill 共用 SQLite 存储和输入输出模式。数据按需获取,支持 stdio 与 Streamable HTTP。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Overwatch 2 数据 MCP 服务与 Agent 技能 — 英雄环境、玩家数据、回放、补丁说明与 OWCS Korea
English | 한국어
通过 MCP 客户端或独立的 Agent 技能,查询 Overwatch 2 英雄环境、公开玩家数据、有证据支持的高排名玩家、回放代码、官方补丁说明和 OWCS Korea 数据。两种接口共用十项只读查询操作和一个 SQLite 数据库,并在每个结果中保留来源 URL、观测日期、已应用的筛选条件、缓存状态和警告。
你可以用它按地区和段位比较英雄、查看公开的 BattleTag 资料、获取精选的高排名玩家和回放证据、将补丁变更与可用数据周期关联起来,并将竞技统计数据与电竞指标分开。数据仅在收到请求时获取;没有定时采集器、游戏客户端自动化或私人资料访问功能。
使用 Python 3.11+ 和 uv 构建。可选择技能、MCP 服务,或两者都选。
旧版
v0.3.1MCPB 保留原有的Overwatch AIO MCP显示 标签。0.3.2及之后的版本使用Overwatch 2 Data MCP Server标签。 已发布的发行版资源保持不变。
选择接口
| 接口 | 用途 | 安装 |
|---|---|---|
| Agent 技能 | 让 Codex 选择查询并解读证据 | 根目录技能和基本 Python 依赖 |
| MCP 服务 | 从 MCP 客户端调用 ow_* 工具 | mcp extra 和客户端注册 |
| 两者兼用 | 为不同环境选择合适的接口 | 两种安装可以共用一个 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。如果我提供了指定的 commit,请使用该 commit。
如需固定版本,请使用其脚本,并指定本地 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 回放,并展示其播放验证情况。”
- “结合 OWCS Korea 数据,说明 Reinhardt 最近的补丁变更。”
安装 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/身份验证、备份、单写入者数据库所有权,以及对上游实时出站连接的检查。 |
| Cloudflare Tunnel | 可由运营者管理的入口;未经验证 | 设计并测试好身份验证后,Tunnel 可置于家用服务器或 VM 前。它只是通往正在运行的主机的入口,并非 Cloudflare Workers 运行时。 |
| Google Cloud Run | 不支持开箱即用 | 本地 SQLite 数据库仅属于实例,且代码仓库没有无状态容器/存储设计。需要外部持久存储、身份验证和生命周期方面的改动。 |
| Cloudflare Workers | 不支持开箱即用 | 当前的 CPython MCP SDK 和本地 SQLite 设计并非面向 Worker 部署。移植时需要无状态 HTTP 处理程序、Worker 原生存储,以及兼容 Worker 的身份验证。 |
远程和家用服务器运行仅是一种由运营者管理的部署模式,并非内置的托管服务。除非请求先经过运营者控制的身份验证和 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 英雄、比赛、地图、禁用选择和战队数据 |
ow_status | 数据源健康状况和已存储的数据覆盖范围;默认离线 |
两个接口发布相同的输入/输出架构。MCP 会将结果作为 structuredContent 和 JSON 文本返回。只有 status=error 会令 isError=true;空结果、过期结果和部分结果仍会保留其质量状态和警告。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 和带 BOM 的 UTF-8。标准输出包含一个 JSON 对象;诊断信息会写入标准错误。对于 ok/empty/stale/partial,退出代码为 0;执行失败为 1;输入无效为 2。请检查 status 和警告。查询指南提供了更多韩语示例。
数据存储和兼容性
数据库选择顺序为 --db → OW_DB_PATH → ~/.overwatch-aio-skill/overwatch.db。由同一用户运行的进程会共用默认数据库,不受安装目录影响。使用绝对路径访问已有记录。将 --db 放在可执行文件名之后、query 或 serve 之前。
现有缓存、元数据观察记录、玩家、回放和手动添加的证据仍可读取。SQLite WAL 和事务支持技能并发写入及 MCP 读取。旧的 collection_jobs 表会保留,但不再使用。不会自动迁移或删除数据库。历史记录包含按请求生成的观察记录;未观察的时段不会回填。缓存响应不会创建新的观察记录。查询补丁时,会根据失效通知更新回放重新检查标记。HTTP 缓存保留上限为 256 条、64 MiB 和七天。
代码仓库为 BK927/overwatch-aio;Python 发行版和技能仍名为 overwatch-aio-skill。现有技能命令无需更改即可继续使用。较早版本的 MCP 用户更新路径并添加 --extra mcp 后,仍可使用 overwatch-aio-mcp serve。如有需要,可明确将 --db 指向旧的 data/overwatch.db。
常见问题
ASIA 代表韩国服务器吗?
不代表。ASIA 是服务提供方使用的地区标签,不能证明比赛服务器位于韩国。OWTICS 的 KOREA 也是服务提供方的分组;结果会将这些标签与有证据支持的玩家身份区分开。
这会提供实时 Top 500 排行榜吗?
不会。ow_rankers_search 会搜索本地整理的注册表,并返回其中记录的证据。它不声称覆盖完整的实时 Top 500 排行榜。
返回的回放代码一定能用吗?
不一定。仅凭公开代码无法证明回放当前仍可播放。只有在操作员登记了证据时,才会报告播放状态;此项目不会启动或控制 Overwatch 2。
它会持续收集数据或完全离线运行吗?
没有调度器。刷新查询会按需联系公开数据源。已存储的观察记录、整理的证据,以及兼容的缓存/状态查询会根据各操作的离线行为继续可用,但离线时无法获取更新的数据。
它能读取私人档案或作为公共 MCP 服务对外提供吗?
它不会绕过私人档案。公开托管并非开箱即用:当前的 HTTP 服务没有内置身份验证,因此运营者必须提供 TLS、身份验证、持久化存储、访问控制和备份。
数据来源与限制
数据来源包括 OverFast、Blizzard 英雄统计数据与补丁说明、OWTICS、OWReplays 和 OWCS Korea 发布的信息。向这些服务发送的请求可能包含查询筛选条件,以及所选操作所需的公开玩家标识符。
- ASIA 不代表韩国的比赛服务器。OWTICS KOREA 是服务提供方的分组。
- 排名榜覆盖有依据的本地注册表,并非完整的实时 Top 500 榜单。
- 公开回放代码不能证明回放可播放。播放证据由运营者记录;游戏客户端不受控制。
- 不会访问私人档案。缺失的统计数据与明确设置的隐私状态会区分处理。
- 英雄数据使用 0–100 的百分比。不虚构对局胜率。电竞指标与排位赛统计数据分开处理。
- 数据源变更、速率限制和解析失败都会明确显示。公开数据刷新不会覆盖手动设置的身份信息或播放证据。
这是一个非官方社区项目,与 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 连接与关闭,以及共享数据库访问。实时上游检查单独运行,且需显式选择启用:
uv run --frozen --no-dev python scripts/live_smoke.py --output docs/live-verification.json
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。