arga-enfusion
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@arga-enfusionlook up the GUID for /Prefabs/Characters/US_Soldier.et in data007"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
arga_enfusion_mcp
An MCP server that lets an AI agent read Arma Reforger .pak
archives and resolve GUIDs from resourceDatabase.rdb, instead of answering from memory.
It wraps the open-source enfusion_tools CLI
(MIT, by landaire) for the .pak formats, and parses the .rdb in pure Python.
This project uses landaire/enfusion_tools. It does not reimplement the
.pakformat: everypak_*tool runs theenfusionbinary built from that repository, so you need it installed (see Requirements).
resourceDatabase.rdbis not compressed: it is a flat index of resource paths and GUIDs..pakfiles are read by index, without unpacking them first.
Requirements
Python 3.12+ and
uvThe
enfusionCLI binary from enfusion_tools (prebuilt in its Releases, orcargo build --release)Arma Reforger installed
Related MCP server: enfusion-mcp
Setup
uv syncConfiguration is read from environment variables:
Variable | Required | Meaning |
| yes, unless | Path to the |
| for game paks and | The game's |
| for mods |
|
| for | Where extraction is allowed to write. Extraction is disabled when unset |
Register with an MCP client
Claude Code:
claude mcp add arga-enfusion \
--env ENFUSION_CLI="C:\path\to\enfusion.exe" \
--env REFORGER_DATA_DIR="C:\path\to\Arma Reforger\addons\data" \
--env REFORGER_MODS_DIR="C:\path\to\My Games\ArmaReforger\addons" \
-- uv --directory "C:\path\to\arga_enfusion_mcp" run arga-enfusion-mcpAny client that takes a JSON server definition:
{
"mcpServers": {
"arga-enfusion": {
"command": "uv",
"args": ["--directory", "C:\\path\\to\\arga_enfusion_mcp", "run", "arga-enfusion-mcp"],
"env": {
"ENFUSION_CLI": "C:\\path\\to\\enfusion.exe",
"REFORGER_DATA_DIR": "C:\\path\\to\\Arma Reforger\\addons\\data",
"REFORGER_MODS_DIR": "C:\\path\\to\\My Games\\ArmaReforger\\addons"
}
}
}
}Tools
Every tool takes a source: a short name, never a filesystem path.
Source | Resolves to |
|
|
|
|
| The whole directory (slower, scans every pak) |
Tool | Purpose |
| Available game paks and mods |
| Find files by glob pattern |
| Regex search in file contents, returns |
| Print one file |
| List files in a source |
| Archive metadata |
| Extract files under |
| Resource path to |
| GUID (with or without braces) to resource path |
For rdb_*, source is the resource database: data (default), core, or a mod folder name.
Notes
Where things live (vanilla):
data007holds the scripts (.c), Prefabs, Configs, Particles, Missions and Language.data008/data009hold Sounds,data010Terrains and UI. A mod has a singledata.pak.Empty is not absent. An empty result only covers the source you searched.
Configs inherit through
parent. Finding the file is not finding the value: a field can be defined two levels up.Paths:
pak_globreturns paths with a leading/. The.rdbstores them without one;rdb_guid_ofaccepts both.GUIDs: the brace form in
.et/.conf/.ptcfiles is the 8 stored bytes reversed, as uppercase hex.Output is bounded and the CLI has a timeout. Truncated output says so.
Safety model
Clients never send paths. A source name is validated (no separators, no
..) and looked up under the configured directories only.The CLI runs without a shell, and positional arguments go after
--.pak_extractwrites only underREFORGER_EXTRACT_DIR, in a subfolder named after the source.Anticipated failures (unknown source, missing config, CLI error) are returned to the model as tool errors with a readable message.
Development
uv run pytest
uv run ruff check .
uv run ruff format .A test that reads the real resourceDatabase.rdb runs only when REFORGER_DATA_DIR is set.
Credits
Pak reading is done by enfusion_tools by landaire.
Español
Servidor MCP que permite a un agente de IA leer archivos .pak
de Arma Reforger y resolver GUIDs desde resourceDatabase.rdb, en lugar de responder de memoria.
Envuelve la CLI open source enfusion_tools
(MIT, de landaire) para los formatos .pak, y analiza el .rdb en Python puro.
Este proyecto usa landaire/enfusion_tools. No reimplementa el formato
.pak: cada herramientapak_*ejecuta el binarioenfusioncompilado desde ese repositorio, por lo que es necesario tenerlo instalado (ver Requisitos).
resourceDatabase.rdbno está comprimido: es un índice plano de rutas de recursos y GUIDs. Los.pakse leen por índice, sin desempaquetarlos primero.
Requisitos
Python 3.12+ y
uvEl binario de la CLI
enfusionde enfusion_tools (precompilado en sus Releases, o concargo build --release)Arma Reforger instalado
Instalación
uv syncLa configuración se lee de variables de entorno:
Variable | Obligatoria | Significado |
| sí, salvo que | Ruta al ejecutable |
| para los paks del juego y | Directorio |
| para los mods |
|
| para | Dónde se permite escribir al extraer. La extracción queda deshabilitada si no se define |
Registro en un cliente MCP
Claude Code:
claude mcp add arga-enfusion \
--env ENFUSION_CLI="C:\ruta\a\enfusion.exe" \
--env REFORGER_DATA_DIR="C:\ruta\a\Arma Reforger\addons\data" \
--env REFORGER_MODS_DIR="C:\ruta\a\My Games\ArmaReforger\addons" \
-- uv --directory "C:\ruta\a\arga_enfusion_mcp" run arga-enfusion-mcpCualquier cliente que acepte una definición de servidor en JSON:
{
"mcpServers": {
"arga-enfusion": {
"command": "uv",
"args": ["--directory", "C:\ruta\a\arga_enfusion_mcp", "run", "arga-enfusion-mcp"],
"env": {
"ENFUSION_CLI": "C:\ruta\a\enfusion.exe",
"REFORGER_DATA_DIR": "C:\ruta\a\Arma Reforger\addons\data",
"REFORGER_MODS_DIR": "C:\ruta\a\My Games\ArmaReforger\addons"
}
}
}
}Herramientas
Todas las herramientas reciben un source: un nombre corto, nunca una ruta del sistema de archivos.
Source | Se resuelve a |
|
|
|
|
| El directorio completo (más lento, recorre todos los paks) |
Herramienta | Propósito |
| Paks del juego y mods disponibles |
| Buscar archivos por patrón glob |
| Búsqueda regex dentro del contenido, devuelve |
| Mostrar un archivo |
| Listar los archivos de una fuente |
| Metadatos del archivo |
| Extraer archivos bajo |
| Ruta de recurso a |
| GUID (con o sin llaves) a ruta de recurso |
Para rdb_*, source es la base de recursos: data (por defecto), core, o el nombre de la
carpeta de un mod.
Notas
Dónde está cada cosa (vanilla):
data007contiene los scripts (.c), Prefabs, Configs, Particles, Missions y Language.data008/data009contienen Sounds,data010Terrains y UI. Un mod tiene un únicodata.pak.Vacío no es ausente. Un resultado vacío solo cubre la fuente que se buscó.
Los configs heredan por
parent. Encontrar el archivo no es encontrar el valor: un campo puede estar definido dos niveles más arriba.Rutas:
pak_globdevuelve rutas con/inicial. El.rdblas guarda sin él;rdb_guid_ofacepta ambas.GUIDs: la forma entre llaves en los
.et/.conf/.ptcson los 8 bytes almacenados invertidos, en hexadecimal mayúscula.La salida está acotada y la CLI tiene un timeout. Si la salida se trunca, se indica.
Modelo de seguridad
Los clientes nunca envían rutas. El nombre de la fuente se valida (sin separadores ni
..) y se busca únicamente bajo los directorios configurados.La CLI se ejecuta sin shell, y los argumentos posicionales van después de
--.pak_extractescribe solo bajoREFORGER_EXTRACT_DIR, en una subcarpeta con el nombre de la fuente.Los fallos previstos (fuente desconocida, configuración faltante, error de la CLI) se devuelven al modelo como errores de herramienta con un mensaje legible.
Desarrollo
uv run pytest
uv run ruff check .
uv run ruff format .Un test que lee el resourceDatabase.rdb real se ejecuta solo cuando REFORGER_DATA_DIR está
definida.
Créditos
La lectura de .pak la hace enfusion_tools, de
landaire.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only MCP tools for AI agent discovery, structured resources, and NIULAI information.
Search MCP servers, agent skills and open-source AI projects, plus AI tools. Read-only.
Search and fetch AI agent skills, rules files and MCP servers indexed from GitHub.
Machine-readable utilities and datasets for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables AI-powered modding for Arma Reforger with 50 tools for API search, code generation, project scaffolding, and Workbench control.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables natural-language-driven Arma Reforger modding, including API research, code generation, project scaffolding, Workbench control, and in-editor testing.63 npm2MIT
- AlicenseNot gradedqualityBmaintenanceAnswers questions about your installed Arma Reforger / Enfusion game by reading local .pak archives and resources, and can optionally drive the Workbench editor for live inspection and modifications.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to build Arma Reforger mods from natural language, including API research, code generation, project scaffolding, Workbench control, and in-editor testing.MIT