Arma Reforger MCP Server
The Arma Reforger MCP Server provides a comprehensive toolkit for local, security-focused modding, including project inspection, script analysis, resource validation, documentation search, log diagnostics, safe Workbench automation, and archive operations.
Server & Configuration:
server_statusdisplays configured capabilities, safety gates, and path availability;get_mod_development_standardreturns versioned engineering rules;audit_mod_structurechecks structure compliance.Project Discovery & Inspection:
list_projectsdiscovers.gprojaddons;inspect_projectparses metadata, inventories assets, resolves dependencies, and checks script module placement;validate_resourceschecks.metafiles, GUID uniqueness, resource paths, and reference mismatches.File Operations:
read_project_filereads bounded line ranges;search_workspaceperforms literal search across scripts, configs, and resources;write_project_filepreviews or atomically writes approved text resources with concurrency protection.Enforce Script Tools:
analyze_enforce_scriptruns heuristics for conventions and performance;generate_script_templatecreates bilingual class/component/modded-class/workbench-plugin templates.Log Diagnostics:
inspect_logsanalyzes Workbench/game logs and groups actionable errors with bilingual remediations.Documentation Search:
search_official_docssearches curated offline catalog;search_local_apisearches installed Doxygen HTML.Workbench Automation:
workbench_statusqueries live state;workbench_commandprepares and launches allowlisted modules (ResourceManager, ScriptEditor, WorldEditor, etc.); additional tools support bridge calls, resource opening, and script validation.Layout & Archive Handling:
inspect_layoutchecks widget declarations and local resource references;inspect_source_archive,extract_source_archive,export_project_archive,export_layout_bundlehandle source ZIPs and layout bundles safely.
Provides a tool to search locally installed Doxygen HTML documentation for Arma Reforger and Enfusion APIs.
Click on "Install 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., "@Arma Reforger MCP Servervalidate resources in my addon"
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.
Arma Reforger MCP Server — Enfusion & Enforce Script Modding
Arma Reforger MCP is a local, security-focused Model Context Protocol server and native Claude Code + Codex plugin for Arma Reforger modding, Enfusion Workbench automation, Enforce Script, UI layouts, and editable source bundles. It combines offline project intelligence with the official loopback Workbench NET API and a bundled, auditable NetApiHandler bridge.
Static analysis is intentionally conservative and heuristic. Enfusion Workbench remains the final compiler, importer, resource database, and runtime validator.
Windows/Workbench support is currently Beta and available for public testing. The Windows CI matrix and a real Workbench compatibility preflight pass, while native-Windows hardware acceptance remains pending. If something fails, please open a Windows/Workbench bug report so the maintainer can reproduce and fix it.
Why this MCP exists
Generic filesystem tools do not understand Enfusion projects. This server models the parts that matter when an Arma Reforger addon fails:
.gprojIDs, GUIDs, configurations, and dependency GUIDsvalid Enforce Script modules below
Scripts/creator-tag and Enfusion style conventions
.metaownership, duplicate GUIDs, and{GUID}pathreferencesWorkbench/game log categories and likely remediation
the local Doxygen API shipped with Arma Reforger Tools
safe Workbench command construction without shell execution
The repository also packages three reusable Claude/Codex skills:
$develop-arma-reforger-mod— inspect, research, implement, review, and verify addon changes$diagnose-arma-reforger-mod— trace project, dependency, script, resource, replication, and runtime failures$control-arma-reforger-workbench— safely orchestrate live Workbench, layout, bridge, and source-bundle operations
Related MCP server: enfusion-mcp
MCP capabilities
Tool | Purpose | Side effects |
| Diagnose runtime, paths, Workbench, limits, and cache | None |
| Show configuration, path availability, and safety gates | None |
| Discover and parse | None |
| Return the versioned mod structure and engineering rules | None |
| Inventory assets, dependencies, and structure compliance | None |
| Audit official or enterprise addon-structure rules | None |
| Read bounded text ranges with SHA-256 | None |
| Literal search across scripts and Enfusion text resources | None |
| Check | None |
| Run documented convention/performance heuristics | None |
| Generate tagged, bilingual Enforce Script skeletons | None |
| Group actionable Workbench/game errors | None |
| Search a curated primary-source catalog | None |
| Search installed Arma Reforger and Enfusion Doxygen HTML | None |
| Dry-run or atomically write approved text resources | Opt-in |
| Inspect widget declarations and local resource references | None |
| Export a layout, metadata, and local source dependencies | Opt-in |
| Inventory a source ZIP and reject traversal/ZIP-bomb risks | None |
| Extract an authorized source ZIP below a configured root | Opt-in |
| Export editable addon source with a JSON manifest | Opt-in |
| Install the bundled read-only NET API bridge source | Opt-in |
| Query live Workbench, compiler, and World Editor state | None |
| Compile a script configuration in live Workbench | None |
| Open a mounted resource in Workbench | Opt-in |
| Focus an allowlisted Workbench editor module | Opt-in |
| Query bridge info, mounted resources, or World Editor state | Opt-in |
| Call a verified custom | Opt-in |
| Prepare or launch an allowlisted Workbench command | Opt-in |
Resources are available at reforger://contracts/v1, reforger://server/status, reforger://projects, reforger://standards/mod-development, reforger://docs/official, and reforger://workbench/capabilities. The versioned contract resource fixes the advertised tool, resource, prompt, result-metadata, and error-envelope shapes for compatibility review. Prompts cover script review, failure diagnosis, standards-aware feature planning, and safe Workbench control.
Professional mod structure and rules
get_mod_development_standard exposes the complete bilingual, versioned standard. It distinguishes hard engine requirements, official Bohemia guidelines, and this MCP's enterprise engineering policy so advisory preferences are never mislabeled as compiler facts. audit_mod_structure accepts official and enterprise profiles; inspect_project includes the enterprise audit by default.
The addon layout is content-driven. Only the project descriptor is universal; create conditional areas only when the addon owns that concern:
<AddonName>/
|-- <AddonName>.gproj
|-- Scripts/Game/<TAG>/<Feature>/
|-- Scripts/WorkbenchGame/<TAG>/<Editor>/
|-- Configs/<TAG>/<Feature>/
|-- Prefabs/<TAG>/<Feature>/
|-- UI/<TAG>/<Feature>/{Layouts,Imagesets,Textures}/
|-- Assets/<Domain>/<TAG>/<Feature>/
|-- Worlds/<TAG>/<World>/
\-- Sounds/<TAG>/<Feature>/For larger teams, keep CI, repository-side tests, architecture/runbook documentation, tooling, contribution/security policy, changelog, and license in a repository wrapper outside the publishable addon tree when practical. The standard also defines reviewable gates for architecture, verified APIs, GUID integrity, multiplayer authority/JIP, security boundaries, measured performance, regression evidence, CI, release/rollback, provenance, and ownership.
Quick start
Requirements
Node.js 20.19 or newer
npm 10 or newer
Arma Reforger Tools for Workbench execution and local Doxygen API search
A local Arma Reforger addon source directory containing a
.gproj
Clean end-user download
For normal use, download the *-standalone.zip asset from GitHub Releases. It contains the single bundled MCP runtime, plugin manifests, skills, essential documentation, and the Workbench bridge. Extract it and run node dist/cli.js --version; no dependency, build, or test installation is required.
Release automation rejects tests, fixtures, source files, E2E tools, source maps, coverage, logs, local configuration, generated databases, and temporary files in the published package. Developer clones intentionally retain tests and CI as quality evidence, while generated Git archives exclude test/E2E directories. Each release also publishes a CycloneDX SBOM and SHA256SUMS; GitHub stores keyless Sigstore attestations for SLSA build provenance and the SBOM. Verify downloads with sha256sum --check SHA256SUMS and gh attestation verify <artifact> -R maxionice/arma-reforger-mcp.
Developer installation from GitHub
git clone https://github.com/maxionice/arma-reforger-mcp.git
cd arma-reforger-mcp
npm ci
npm run buildSmoke-test the CLI:
node dist/cli.js --help
node dist/cli.js --versionUse as a Codex plugin
The repository root is a Codex plugin. .codex-plugin/plugin.json bundles the MCP server and all skills through Codex's native inline MCP server map.
Use either the extracted standalone release or a locally built clone as the plugin source. Start a new Codex session after installing so the tools and skills are loaded.
Use as a Claude Code plugin
Claude Code reads .claude-plugin/plugin.json, its root .mcp.json, and the same skills/ directory:
claude plugin validate . --strict
claude --plugin-dir .Restart the development session or run /reload-plugins after replacing/rebuilding the package. Both clients receive identical MCP tools and bilingual workflows; only their native plugin manifest differs.
Configure a standalone MCP client
Use an absolute server path and configure at least one addon root:
{
"mcpServers": {
"arma-reforger": {
"command": "node",
"args": ["C:/Tools/arma-reforger-mcp/dist/cli.js"],
"env": {
"ARMA_REFORGER_PROJECT_ROOTS": "C:/Users/you/Documents/My Games/ArmaReforgerWorkbench/addons",
"ARMA_REFORGER_ARCHIVE_ROOTS": "C:/Users/you/ArmaSourceArchives",
"ARMA_REFORGER_EXPORT_DIR": "C:/Users/you/ArmaExports",
"ARMA_REFORGER_DOCS_DIR": "C:/Program Files (x86)/Steam/steamapps/common/Arma Reforger Tools/Workbench/docs",
"ARMA_REFORGER_LOG_DIRS": "C:/Users/you/Documents/My Games/ArmaReforgerWorkbench/logs;C:/Users/you/Documents/My Games/ArmaReforger/logs"
}
}
}
}For Codex config.toml, the equivalent standalone configuration is:
[mcp_servers.arma-reforger]
command = "node"
args = ["C:/Tools/arma-reforger-mcp/dist/cli.js"]
[mcp_servers.arma-reforger.env]
ARMA_REFORGER_PROJECT_ROOTS = "C:/Users/you/Documents/My Games/ArmaReforgerWorkbench/addons"
ARMA_REFORGER_DOCS_DIR = "C:/Program Files (x86)/Steam/steamapps/common/Arma Reforger Tools/Workbench/docs"
ARMA_REFORGER_LOG_DIRS = "C:/Users/you/Documents/My Games/ArmaReforgerWorkbench/logs;C:/Users/you/Documents/My Games/ArmaReforger/logs"Configuration
Copy .env.example as a reference. The server reads environment variables from its parent MCP client; it does not load .env automatically.
Variable | Default | Description |
| Workbench addon folder on Windows | Semicolon-separated allowed project roots |
| Workbench and game log folders on Windows | Semicolon-separated read-only log roots |
| None | Semicolon-separated local Workbench Doxygen roots |
| Project roots | Allowed ordinary source-ZIP roots |
| None | Existing directory for generated source ZIPs |
| None | Absolute Workbench executable |
| Matching Steam-library game data | Semicolon-separated dependency addon roots |
|
| Enable non-dry-run project writes |
|
| Enable Workbench launch |
|
| Enable source ZIP extraction/export |
|
| Enable UI/custom NET API actions |
|
| Loopback host only |
|
| Ordered ports to probe |
|
| Timeout per NET API attempt |
|
| Per-file read/write safety limit |
|
| Default search result limit |
|
| Maximum recursive directory depth |
|
| Maximum files accepted in a source ZIP |
|
| Maximum declared expanded ZIP size |
|
| Maximum files traversed by one project operation |
|
| Maximum duration of one MCP tool request |
|
| Project-discovery cache lifetime |
|
| Structured stderr logs: silent/error/info/debug |
CLI equivalents include --archive-root, --export-dir, --workbench-addon-dir, --net-api-port, --allow-archive-operations, and --allow-workbench-actions. Run node dist/cli.js --help for the complete list.
Live Workbench control
In Workbench, check File → Options → General → Net API → Enabled.
Configure the local port if your Workbench build differs from the probed defaults.
Call
workbench_status; then use focused operations such asworkbench_validate_scriptsorworkbench_open_resource.For mounted-resource discovery and World Editor snapshots, preview and install
workbench/ARM_MCPWorkbenchBridge.cwithinstall_workbench_bridge, reload scripts, and callworkbench_bridge_call.Extend control with your own audited
NetApiHandler, then call it throughworkbench_custom_call. This is deliberately gated because handler side effects are project-defined.
The server controls documented NET API and CLI surfaces; it does not perform brittle mouse/keyboard automation. Complete project-specific automation is achieved by adding typed Workbench handlers or command-line plugins, not by exposing arbitrary shell access.
Published Workshop data is compressed, indexed, and protected and cannot be reconstructed into editable source. Archive tools support only ordinary source ZIPs that you own or may modify.
Safety model
Every project read/write is confined to canonical configured roots.
Symlinks are skipped during traversal, and resolved paths are checked again.
Writes default to
dryRun: true, support optimistic SHA-256 concurrency checks, restrict extensions, and use an atomic same-directory rename.Writes require
ARMA_REFORGER_ALLOW_WRITES=trueor--allow-writes.Workbench launch requires both a validated executable name and
ARMA_REFORGER_ALLOW_PROCESS_EXECUTION=trueor--allow-process-execution.Live NET API access is loopback-only; UI/custom calls require a separate Workbench-action gate.
ZIP inspection rejects absolute/traversal paths, backslashes, symlinks, encryption, excessive entry counts, and excessive expanded size.
Actual extraction/export requires both write and archive gates. Extraction additionally requires an explicit source-rights acknowledgement.
Workbench is spawned with
shell: false; the MCP never exposes arbitrary command execution.MCP protocol traffic uses stdout. Diagnostics use stderr so JSON-RPC cannot be corrupted.
See SECURITY.md for the trust boundary and reporting process.
Recommended workflow
Run
doctor, thenserver_statusandlist_projects.Read the relevant
get_mod_development_standardsections and runaudit_mod_structure.Inspect the target with
inspect_project.Search and read existing implementation patterns.
Verify unknown APIs against local Doxygen or official documentation.
Analyze scripts and validate resources.
Preview writes with
dryRun: trueandexpectedSha256.Call
workbench_statusandworkbench_validate_scripts, or prepare a Workbench command withexecute: falsewhen offline.Inspect layouts and preview exports/extractions before enabling their gates.
Compile/reload and test in the matching stable or experimental Workbench branch.
Development
npm ci
npm run check
npm run build
npm run verify:package
npm pack --dry-runThe test suite covers parsers, Enforce Script heuristics, GUID/resource validation, log classification, path confinement, project discovery, and an end-to-end MCP client/server call.
Real Workbench validation is deliberately separate because it requires licensed native-Windows tooling and a genuine addon. The package includes an original, writable acceptance addon template; prepare it without overwriting existing sources with node dist/e2e/cli.js --prepare-addon <absolute-new-directory>. The E2E CLI reads Steam's libraryfolders.vdf, auto-detects stable or experimental Tools and matching game data across separate libraries, and still accepts explicit paths for non-standard layouts. Native Windows is enforced by default, while --allow-compatibility-layer permits a clearly classified Wine/Proton preflight that never counts as production evidence. Follow the bilingual Windows E2E runbook or dispatch the self-hosted Real Workbench E2E workflow. A redacted evidence report is generated for every completed real run.
src/
├── domain/ # Enfusion-aware parsers and analyzers
├── security/ # Canonical project-root confinement
├── services/ # Files, projects, docs, logs, writes, Workbench
├── shared/ # Bilingual result and utility types
├── server.ts # MCP tools, resources, and prompts
└── cli.ts # stdio entry point
workbench/ # Bilingual bridge plus reproducible real E2E addon template
skills/ # Development, diagnosis, and Workbench-control workflows
.codex-plugin/ # Native Codex manifest
.claude-plugin/ # Native Claude Code manifest
.mcp.json # Claude Code bundled MCP launch definition
tests/ # Unit, fixture, and MCP integration tests
docs/ # Architecture and research decisionsRead Architecture, Research, Windows E2E, and Contributing before substantial changes.
Research basis
The implementation is derived from primary sources: the Bohemia Interactive Community Wiki, the official Workbench NET API, the official Arma Reforger samples, the generated Arma Reforger Script API, and the official MCP TypeScript SDK. The exact findings and design consequences are recorded in docs/RESEARCH.md.
Trademark and affiliation
This is an independent open-source project and is not affiliated with or endorsed by Bohemia Interactive. Arma Reforger, Enfusion, and related marks belong to their respective owners. Do not copy Bohemia Interactive game data or sample assets into this repository; follow the applicable Bohemia Interactive licenses.
License
The MCP implementation is available under the MIT License.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityCmaintenanceAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.Last updated1180100MIT
- Alicense-quality-maintenanceAn MCP server for Arma Reforger and Enfusion engine modding that enables users to create mods, search API classes, and generate scripts through natural language. It provides a comprehensive suite of tools for scaffolding addons, generating prefabs, and building projects using the Workbench CLI.Last updated1,74214
- AlicenseAqualityBmaintenanceMCP server for DayZ Enforce Script that gives AI coding assistants deep knowledge of the DayZ scripting API with semantic search, code validation, class hierarchy, and reverse call graphs.Last updated81MIT
- Flicense-qualityCmaintenanceEnables AI-powered modding for Arma Reforger with 50 tools for API search, code generation, project scaffolding, and Workbench control.Last updated1
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/maxionice/arma-reforger-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server