MCP server that bridges Claude to the Oxygen Not Included game via a local HTTP interface. Provides tools to query game state, map data, building information, and raw grid data from an ONI mod.
Three tools with minimal English descriptions (all in Chinese). oni_ping and oni_state have empty input schemas ({}), violating the requirement that every parameter needs a description. oni_map has a proper schema with typed parameters and descriptions, but the tool descriptions themselves are lengthy Chinese text without English translations, making them inaccessible to most LLM agents. No error handling guidance, no output schemas documented, no tool annotations. Naming follows verb_noun pattern (oni_*) but lacks clarity for non-domain-expert LLMs.
读一块矩形区域的格子数据 —— 缺氧的一切最后都是格子问题。 每格给三样:元素(图例缩写 + legend 对照表)、温度(摄氏)、质量(kg)。 气体的质量就是气压,固体的质量就是矿藏量。 参数: x, y: 区域左下角的格子坐标((0,0) 在地图左下) w, h: 宽高,各自上限 40。40x40 已经是一屏的量了。 返回的 rows 从上往下排,跟屏幕上看到的一致。 先用 oni_state 拿到 world.w / world.h 再决定看哪里。
确认游戏里的桥还活着。主菜单里也能用——它不碰游戏世界。
当前殖民地全景:名字、周期数、地图尺寸,以及每个复制体的名字 / 坐标 / 血量。 想知道"现在什么情况"就先调这个。
Tool descriptions are entirely in Chinese; LLM agents trained on English cannot understand when or why to call these tools. oni_ping and oni_state descriptions are non-empty but untranslated.
oni_ping and oni_state have empty input schemas ({}). Even tools with no parameters should document this explicitly.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing the response structure.
No error handling guidance. Tools do not indicate what errors are retryable, user-fixable, or fatal, or provide recovery suggestions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All three tools are READ_ONLY but this is not declared in the tool definition.