noita-data
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NOITA_DATA_DIR | No | Path to the Noita data directory. If not set, the server looks for ./data or the repository root data directory. | |
| NOITA_TRANSLATIONS | No | Path to a translations CSV file or directory to enable Chinese search and translation lookup. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_dirA | 列出 data/ 下某个目录的直接子项(不递归)。 返回每一项的名称、游戏内路径、类型、大小与扩展名,用于定位文件。 |
| read_textA | 按行读取一个文本文件(xml / lua / txt / csv 等)。 offset 为 1 起始行号,limit 为最多返回行数; 返回 total_lines 便于继续翻页。二进制文件会被拒绝。 |
| read_xmlB | 把 XML 解析成嵌套字典返回。 属性直接平铺为键;同名子节点合并成数组;文本放在 "_text"。 max_nodes 限制节点总数,超出部分标记 "_truncated"。 |
| searchA | 在文本文件内容中搜索(默认忽略大小写)。 query 为子串;regex=True 时按正则解释。存在译文表时, query 会先反查成 $key 一起匹配(可直接搜中文),命中行附带译文。 glob 用于缩小范围,例如 "/*.lua"、"scripts//*.xml"。 返回命中的文件、行号与行内容。 |
| translateA | 查询本地化词条:给 key 返回译文,给译文返回 key。 数据来自 data/translations/*.csv;文件不存在时 available=False, 此时搜索仍然可用,只是不能按中文等译文反查。 |
| spellA | 把一个法术在 scripts/gun/gun_actions*.lua 各版本表里的条目并列返回。 只解析源码文本,不执行 Lua、不做取舍:每个版本给出字段与行号区间, 需要看函数体时再用 read_text 按行区间读取。 |
| spell_bundleA | 一次性汇总一个法术的数值:卡牌字段 + 投射物实体 + 特效 + 音效。 会自动跟随 related_projectiles、合并一层 、查 materials.xml 的粒子颜色、 读取 SpriteComponent 指向的图集帧定义。只读,不执行 Lua、不做换算。 拿不到的东西列在 not_available 里(贴图像素、音频采样、引擎公式)。 |
| entityB | 读取任意实体 XML,合并一层 ,返回它的全部组件。 组件不做筛选(Projectile / DamageModel / Homing / ParticleEmitter … 都保留), 适合自己实现行为逻辑时逐个组件取值。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Most tools have clearly distinct purposes (directory listing, raw text read, XML parse, search, translation, entity read). There is mild overlap between spell / spell_bundle (both about spells, though one returns aggregated numbers and the other Lua source entries) and between entity / read_xml (both read entity XML), but the descriptions clarify the boundaries well enough.
A partial verb_noun pattern exists (list_dir, read_text, read_xml), but it is broken by bare nouns (entity, spell) and noun compounds (spell_bundle), plus a bare verb (search, translate). Mixed conventions but each name is still readable and unambiguous.
Eight tools is well-scoped for a read-only data-inspection server, and each tool covers a distinct layer (listing, raw IO, parsing, search, localization, domain-specific aggregation). No redundant or filler tools.
The surface covers the core read-only lifecycle: locate files, read raw text, parse XML, search content, resolve translations, and domain-specific entity/spell inspection. Minor gaps like a spell/entity index or bulk listing exist but search plus list_dir let agents work around them.