Skip to main content
Glama

Enfusion MCP

CI License: MIT

A local Model Context Protocol server and Codex plugin for Enfusion Engine / Arma Reforger SDK. Give an MCP client access to your configured addon folders, Enforce Script, prefab/world source, resource GUIDs, and real Workbench startup diagnostics.

15 tools, 2 resources, 1 review prompt. Runs over stdio using the official MCP TypeScript SDK. Supports legacy MCP clients and protocol revision 2026-07-28.

Unofficial community project. Not affiliated with Bohemia Interactive. Arma Reforger, Enfusion and related marks belong to their owners. No SDK executables or game assets are redistributed.

What it does

  • Inspect .gproj identity and dependencies; browse and search source with file/line results.

  • Read Enforce Script classes/enums and {GUID}path references; resolve loose .meta ownership records.

  • Create addon descriptors and edit scripts, prefabs, worlds and configs with stale-edit detection and original-byte backups.

  • Preview or launch Resource Manager, Script Editor and World Editor with documented CLI parameters.

  • Install an original Enforce Script companion into your mod, start a separate Workbench validation run, and collect compiler/engine diagnostics.

  • Find official documentation links and use a reusable addon-review prompt.

This release focuses on source workflows and SDK startup validation. It does not automate terrain sculpting, place entities through a live world API, unpack PAKs, run a language server/debugger, compile all resource assets or publish to Workshop. World/prefab edits are text edits; finish resource import, visual inspection and play-testing in Workbench.

Related MCP server: Enfusion Workbench MCP

Quick start

Requires Node.js 22 or newer. Native Workbench execution requires Windows, Arma Reforger and Arma Reforger Tools from Steam. Source inspection works on Windows, Linux and macOS; Windows and Linux are tested in CI.

  1. Download enfusion-mcp-0.1.0.zip from Releases, verify it against SHA256SUMS.txt, and extract it. The ZIP includes the server and its dependencies in a single bundle; no npm install is needed to run it.

  2. Create an addon directory, or choose an existing one. Copy the Windows configuration example to a private path and edit the paths. Directories must already exist. SDK paths vary across Steam installations; select the executable actually installed on your system.

  3. Configure your MCP client with the absolute server and config paths:

{
  "mcpServers": {
    "enfusion": {
      "command": "node",
      "args": [
        "C:/Tools/enfusion-mcp/dist/server.cjs",
        "--config",
        "C:/ArmaMods/enfusion-mcp.config.json"
      ]
    }
  }
}

If your client uses a servers root (for example VS Code), put the same entry there and add "type":"stdio". Set the client's tool timeout above your chosen Workbench validation timeout; 330 seconds accommodates the server's maximum of 300 seconds.

  1. Restart the MCP connection and ask: “Use Enfusion to inspect my-mod and its dependencies.” Call enfusion_status to verify the roots and permissions.

The process waits for MCP requests on stdin. Starting it alone is not an interactive console. node dist/server.cjs --help prints command-line usage.

Codex plugin

The release contains a portable plugin.json / mcp.json package plus a .codex-plugin/plugin.json compatibility manifest and bundled enfusion-sdk skill. Select the extracted enfusion-mcp folder when loading it through a local plugin install surface. Plugin launch reads ~/.config/enfusion-mcp/config.json by default (on Windows, under your user profile). Create this private file before using the tools. An unconfigured server still starts, but exposes no filesystem roots.

For a direct Codex MCP setup, use absolute paths in your Codex config:

[mcp_servers.enfusion]
command = "node"
args = ["C:/Tools/enfusion-mcp/dist/server.cjs", "--config", "C:/ArmaMods/enfusion-mcp.config.json"]
tool_timeout_sec = 330

The GitHub release is the public distribution. This project is not listed in OpenAI's public plugin directory and does not provide a remote HTTPS MCP endpoint. See the plugin packaging documentation for supported local package formats.

Configuration

Config precedence: --config, then ENFUSION_MCP_CONFIG, then ~/.config/enfusion-mcp/config.json. Only the default file may be absent; an invalid or missing explicit config fails startup. Unknown keys fail validation to catch typos.

Key

Default

Meaning

projects

[]

Up to 32 {id, root, writable} entries with existing absolute roots

projects[].writable

false

Permit supported text writes and validation artifacts in this project

workbenchPath

absent

Absolute installed Workbench .exe; required for preview/launch/validation

addonRoots

[]

Absolute dependency addon folders, e.g. the game's addons directory

allowLaunch

false

Allow native Workbench processes; preview remains available without it

maxFileBytes

1048576

Maximum text file size; configurable from 1 KiB to 8 MiB

maxScanEntries

20000

Scan budget, 100–100000 entries; truncated scans are reported

The server does not infer roots from the current folder. Add SDK source folders as separate read-only roots if you have loose source to inspect. PAKs and resourceDatabase.rdb are not indexed. Overlapping roots cannot have conflicting write policies.

Example workflow

  1. Configure an existing empty writable folder as my-mod.

  2. Call enfusion_create_project with {"project":"my-mod","id":"MyMod","title":"My Mod"}. The default dependency is the base Arma Reforger project GUID; pass your own dependencies when appropriate.

  3. Create Scripts/Game/MyComponent.c with enfusion_write_file, or read existing source and pass the returned sha256 as expectedSha256 when editing.

  4. Enable allowLaunch in the private config and restart the connection. Install the companion with enfusion_install_companion, then run enfusion_workbench_validate.

  5. Inspect diagnostics and open the relevant resource in Workbench with enfusion_workbench_launch using dryRun:false.

Validation writes .enfusion-mcp/runs/<unique-id>/ under the configured addon; backup edits live under .enfusion-mcp/backups/. Add .enfusion-mcp/ to your mod's .gitignore. Retain or remove old runs/backups manually as needed.

Interpreting validation

Field

What it establishes

loaded

The companion produced a fresh valid result marker during this run

scriptStartupPassed

Marker, normal exit and no detected script compiler errors

cleanLogs

No error diagnostics were detected in the collected logs

success

Both script startup and log checks passed

timedOut

The server terminated its own process after the configured deadline

logsTruncated

Log/diagnostic limits were reached; positive validation is withheld

aborted

The MCP request was canceled and its validation process was terminated

A normal process exit alone never proves compilation. Missing markers, timeouts and compiler errors never return success:true. Native Workbench can wait after a script failure; the validation deadline bounds that wait. -noThrow is passed, but editor behavior still depends on the installed SDK version. Validation does not terminate an already-open user Workbench session.

Real SDK testing found that a valid addon could load successfully while the installed SDK emitted an asset-schema error and shutdown resource-leak diagnostics. These remain visible and keep success:false; see validation evidence.

Tool reference

See all tools, arguments, resources and prompts, the implementation plan, and security/privacy boundaries.

Build and test

git clone https://github.com/s0wingseason/enfusion-mcp.git
cd enfusion-mcp
npm ci
npm run check
npm run release

npm run check type-checks TypeScript, builds bundled artifacts and runs unit/integration tests. Tests use a real MCP client and temporary synthetic mod folders. CI runs on Windows and Linux with Node 22 and 24 and verifies an extracted release without node_modules.

For the optional SDK smoke test on Windows:

npm run test:live -- "C:/Program Files (x86)/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe" "C:/Program Files (x86)/Steam/steamapps/common/Arma Reforger/addons"

This creates isolated good/broken test addons under ignored local/, runs both through Workbench, and preserves raw logs locally. The smoke test expects script startup for the good addon and rejection of the deliberately broken addon. It reports unrelated engine errors separately and does not assert that the installed SDK has clean asset logs. Do not publish raw local logs without removing private paths and identifiers.

References and licensing

Integration follows Bohemia's startup parameters, Workbench plugin interface, plugin tutorial, and mod project setup. MCP uses the official TypeScript SDK.

Original code and companion: MIT. Bundled dependencies retain their licenses in dist/THIRD-PARTY-NOTICES.txt. Arma Reforger and its SDK remain subject to Bohemia's terms.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A local, security-focused MCP server for Arma Reforger modding, providing AI coding assistants with tools for project discovery, script analysis, resource validation, log diagnosis, API documentation search, file editing, and Workbench automation.
    13
    2
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server for Arma Reforger / Enfusion Workbench modding. Describe what you want to build, and Claude handles the rest — API research (8,803 indexed classes), code generation, project scaffolding, project-wide indexing and refactoring, live Workbench control, and in-editor testing.
    1
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables safe, vendor-neutral MCP-based interaction with Arma Reforger Enfusion Workbench through its loopback NET API, supporting read-only queries and serialized mutations via STDIO.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Answers 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.
    MIT