Skip to main content
Glama
wastelandgoats

ReforgerForge MCP

ReforgerForge MCP

The universal AI modding toolkit for Arma Reforger.

Describe what you want to build — your AI agent handles API research, code generation, project scaffolding, Workbench control, and in-editor testing. Works with any MCP-compatible agent: Cursor, Google Antigravity, Claude Desktop, Claude Code, Kiro, Windsurf, VS Code Copilot, Continue.dev, and more.

Forked from steffenbk/enfusion-mcp-BK with permission. ReforgerForge adds universal agent support, simplified setup, and ongoing maintenance as an independent project.

Features

  • 50 MCP tools — API search, wiki, asset browsing, code generation, Workbench live control

  • 8,693 indexed API classes — full Enfusion/Arma Reforger class hierarchy

  • 250+ wiki guides — searchable tutorials and documentation

  • Agent-agnostic — one server, install script for every major AI IDE

  • Zero modding experience required — natural language → built addon

Quick Start

git clone https://github.com/goatboynz/reforger-forge-mcp.git
cd reforger-forge-mcp
npm install
npm run build

Or on Windows:

.\scripts\setup.ps1

Then install into your agent(s):

# Install into ALL supported agents at once
.\scripts\install-agents.ps1 -All

# Or pick one
.\scripts\install-agents.ps1 -Agent antigravity
.\scripts\install-agents.ps1 -Agent cursor

Restart your agent and verify reforger-forge shows 50 tools.

Configure paths

Copy and edit the config file:

cp reforger-forge.config.example.json reforger-forge.config.json

Key

Description

workbenchPath

Arma Reforger Tools (Steam) install

gamePath

Arma Reforger game install

projectPath

Where your mods are saved

Re-run .\scripts\install-agents.ps1 after changing paths so all agents get updated env vars.


Agent Setup

ReforgerForge uses stdio MCP (local Node.js process). Every agent below runs the same server — only the config file location differs.

Agent

Config file

Install command

Cursor

%USERPROFILE%\.cursor\mcp.json

.\scripts\install-agents.ps1 -Agent cursor

Google Antigravity

%USERPROFILE%\.gemini\config\mcp_config.json

.\scripts\install-agents.ps1 -Agent antigravity

Claude Desktop

%APPDATA%\Claude\claude_desktop_config.json

.\scripts\install-agents.ps1 -Agent claude

Windsurf

%USERPROFILE%\.codeium\windsurf\mcp_config.json

.\scripts\install-agents.ps1 -Agent windsurf

VS Code (Copilot)

%APPDATA%\Code\User\mcp.json + .vscode\mcp.json

.\scripts\install-agents.ps1 -Agent vscode

Continue.dev

%USERPROFILE%\.continue\config.json

.\scripts\install-agents.ps1 -Agent continue

Kiro

.kiro/settings/mcp.json (workspace)

.\scripts\install-agents.ps1 -Agent kiro

All agents

All of the above

.\scripts\install-agents.ps1 -All

Google Antigravity

  1. Run .\scripts\install-agents.ps1 -Agent antigravity

  2. Open Antigravity → SettingsCustomizationsOpen MCP Config

  3. Confirm reforger-forge appears, then click Refresh in Installed MCP Servers

  4. The shared config is at ~/.gemini/config/mcp_config.json (same file used by Antigravity CLI)

Manual config (if needed):

{
  "mcpServers": {
    "reforger-forge": {
      "command": "node",
      "args": ["C:\\full\\path\\to\\reforger-forge-mcp\\dist\\index.js"],
      "env": {
        "ENFUSION_WORKBENCH_PATH": "C:\\Program Files (x86)\\Steam\\steamapps\\common\\Arma Reforger Tools",
        "ENFUSION_GAME_PATH": "C:\\Program Files (x86)\\Steam\\steamapps\\common\\Arma Reforger",
        "ENFUSION_PROJECT_PATH": "C:\\Users\\YOU\\Documents\\My Games\\ArmaReforgerWorkbench\\addons"
      }
    }
  }
}

Cursor

Workspace config: .cursor/mcp.json (included). Global: run install script or merge configs/cursor-global.json.

Restart → MCP: Restart Servers

Claude Desktop

Merge configs/claude-desktop.json or run install script.

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Claude Code

# Windows
claude mcp add --scope user reforger-forge -- cmd /c node "FULL_PATH\reforger-forge-mcp\dist\index.js"

# macOS / Linux
claude mcp add --scope user reforger-forge -- node /path/to/reforger-forge-mcp/dist/index.js

VS Code (GitHub Copilot)

Uses servers key (not mcpServers). Run install script — it writes both user-level and workspace .vscode/mcp.json.

Command palette: MCP: List Servers → verify reforger-forge is running.

Windsurf (Cascade)

Global config only at ~/.codeium/windsurf/mcp_config.json. Run install script, then refresh MCP list in Cascade panel.

Continue.dev

Run install script. MCP servers live inside ~/.continue/config.json under mcpServers.

Any other MCP client

Use the stdio template at configs/agents/stdio-template.json. Replace REPLACE_WITH_ABSOLUTE_PATH with your clone path.

{
  "mcpServers": {
    "reforger-forge": {
      "command": "node",
      "args": ["/absolute/path/to/reforger-forge-mcp/dist/index.js"],
      "env": {
        "ENFUSION_WORKBENCH_PATH": "...",
        "ENFUSION_GAME_PATH": "...",
        "ENFUSION_PROJECT_PATH": "..."
      }
    }
  }
}

Complete Tool Reference (50 tools)

Legend: Offline = no Workbench needed | Live = requires Workbench running (wb_launch)

API & Documentation (Offline)

Tool

What it does

api_search

Search 8,693 Enfusion/Arma Reforger API classes and methods. Includes inherited methods, enum detection, sibling classes, and format: 'tree' for ASCII inheritance hierarchy.

component_search

Find ScriptComponent descendants — filter by category (character, vehicle, weapon, damage, inventory, ai, ui, etc.) and event handlers (e.g. OnDamage, EOnFrame).

wiki_search

Search 250+ pre-downloaded BIKI wiki pages and Enfusion tutorials. Returns previews — use wiki_read for full content.

wiki_read

Read the full content of a wiki page by title, including code examples (up to 100k chars, no truncation).

wb_knowledge

Search the bundled modding knowledge base — scripting, audio, weapons, vehicles, AI, UI, game modes, animation, and more. Use query='index' to list all topics.

Game Assets (Offline)

Tool

What it does

game_browse

Browse base game files (scripts, prefabs, configs) from loose files and .pak archives. Do not use filesystem tools on the game install directly.

game_read

Read a specific base game file — vanilla .c scripts, .et prefabs, .conf configs from loose files or .pak.

asset_search

Search game assets (prefabs, models, textures, scripts, configs) by name across loose files and .pak archives. Returns paths and GUIDs.

game_duplicate

Duplicate a base game prefab/config into your mod folder with full ancestor chain resolved. Optionally flatten=true to bake all inherited components. Registers with Workbench for a new GUID.

workshop_info

Read Workshop metadata from a mod's .gproj — mod ID, GUID, title, dependencies, configurations.

Project & Mod Management

Tool

Workbench?

What it does

project

No

Browse, read, or write files in your mod project directory (action: browse / read / write).

mod

Build only

Manage addons: action=create scaffold new addon, action=validate check structure, action=build compile with Workbench CLI.

workshop_info

No

Read .gproj Workshop publish metadata.

Code Generation (Offline)

Tool

What it does

script_create

Generate Enforce Script .c files — component, gamemode, action, entity, manager, modded, basic. Auto-fetches overridable parent methods from API index.

prefab

action=create: Generate .et prefab with components and ancestry. action=inspect: Full inheritance chain merge showing which ancestor each component/value comes from.

layout_create

Generate UI .layout files — hud, menu, dialog, list, custom widget types.

config_create

Generate .conf files — factions, mission headers, entity catalogs, editor placeables.

server_config

Generate server.json for local dedicated server testing.

Scenarios & Advanced Workflows

Tool

Workbench?

What it does

scenario_create

Live

Place scenario elements in open Workbench world — type=objective (SP/co-op Scenario Framework hierarchy) or type=base (Conflict multiplayer base).

scenario_create_conflict

No

Generate a complete Conflict multiplayer scenario (up to 7 files): mission header, SubScene stub, layer files with game mode, bases, capture zones, defenders, ambient vehicles.

animation_graph

No

Vehicle animation graph tool — action=author (generate .agr/.ast scaffolds), action=inspect (read/validate graphs), action=setup (full guided wizard).

building_setup

No

Set up destructible building from Blender export manifest — creates structure prefab with slot wiring and per-phase destruction components.

Workbench Connection & Diagnostics (Live)

Tool

What it does

wb_launch

Start Arma Reforger Workbench, install handler scripts into mod, wait for NET API. Auto-called by other wb_* tools when needed. Call wb_cleanup before publishing mod.

wb_connect

Test connection to Workbench NET API. Returns connection status and editor mode.

wb_diagnose

Full diagnostic — config, handler script locations, NET API status. Use when wb_launch or wb_connect fails.

wb_cleanup

Remove temporary EnfusionMCP handler scripts from mod before publishing. Safe even if never installed.

wb_state

Full Workbench snapshot — mode (edit/play), entity count, selection, terrain bounds, sub-scene, prefab edit status.

wb_reload

Reload scripts or plugins without restarting Workbench.

Workbench Editor Control (Live)

Tool

What it does

wb_play

Enter play mode (Play in Editor). Compiles scripts and launches world for testing.

wb_stop

Exit play mode, return to World Editor.

wb_save

Save current world. Optionally Save As to new path. Edit mode only.

wb_undo_redo

Undo or redo the last World Editor action.

wb_open_resource

Open a resource in its editor (.et → Prefab Editor, .c → Script Editor, etc.).

wb_execute_action

Run any Workbench menu action by path (e.g. Tools,Reload Scripts). Destructive actions blocked.

Workbench Entities (Live)

Tool

What it does

wb_entity_create

Create entity from prefab at position/rotation. Optional name and target layer. Edit mode only.

wb_entity_delete

Delete entity by name. Edit mode only.

wb_entity_list

List entities in current world with pagination and optional name filter.

wb_entity_inspect

Get entity details — components, properties, position, children. By name or index.

wb_entity_modify

Move, rotate, rename, reparent, set/clear/list component properties, manage array items. Edit mode only.

wb_entity_select

Select, deselect, clear, or get current selection.

wb_entity_duplicate

Duplicate a scene entity (including locked base-game instances) into your mod as a standalone .et with new GUID.

wb_component

Add, remove, or list components on an entity. Edit mode only for add/remove.

wb_clipboard

Copy, cut, paste, paste at cursor, duplicate selected entities, check clipboard content.

Workbench World & Resources (Live)

Tool

What it does

wb_terrain

Query terrain height at coordinates or get world bounds (min/max extents).

wb_layers

Create, delete, rename layers; set active layer; toggle visibility/lock. Edit mode only for mutations.

wb_resources

Register new resources, rebuild resource databases, get resource info, open in editor.

wb_prefabs

Create entity templates, save prefab changes, GUID lookup, locate prefabs by path. Edit mode only for create/save.

wb_projects

List loaded addon projects, locate project by name, open .gproj file in Workbench.

wb_localization

Insert, delete, modify string table entries, or get full localization table.

wb_script_editor

Read/write lines in the open Script Editor file — get file, read/write/insert/remove lines, line count.

wb_validate

Validate material or texture resources using Workbench built-in validators. Returns errors and warnings.

Run node scripts/list-tools.mjs anytime to verify all 50 tools register on your machine.


Usage Examples

Create a HUD widget that shows player health and stamina
Make a zombie survival game mode with wave spawning
Search the API for all vehicle damage components
Launch Workbench, load my mod, and enter play mode
Generate a Conflict scenario for Everon with 3 bases
Inspect the inheritance chain for Rifle_M16A2.et

Configuration

Environment variables override config files:

Variable

Description

Default

ENFUSION_WORKBENCH_PATH

Arma Reforger Tools path

Steam default

ENFUSION_GAME_PATH

Arma Reforger game path

Sibling of Tools

ENFUSION_PROJECT_PATH

Mod output directory

~/Documents/My Games/.../addons

ENFUSION_WORKBENCH_HOST

NET API host

127.0.0.1

ENFUSION_WORKBENCH_PORT

NET API port

5775

REFORGER_FORGE_DEBUG

Enable debug logging

off

Config file search order:

  1. reforger-forge.config.json (project root)

  2. ~/.reforger-forge/config.json (user home)

  3. Legacy enfusion-mcp.config.json paths (backward compatible)


Requirements

  • Node.js 20+

  • Arma Reforger Tools (Steam) — for mod build and all wb_* tools

  • Arma Reforger (Steam) — for game asset browsing


Development

npm run build                  # Compile TypeScript
npm test                       # Run test suite (446 tests)
npm run dev                    # Run server in dev mode
node scripts/list-tools.mjs    # Verify all 50 tools register
.\scripts\install-agents.ps1 -All   # Push config to all agents

Project Structure

reforger-forge-mcp/
├── src/                         # TypeScript source
├── data/                        # API index, wiki, patterns, knowledge base
├── mod/                         # Workbench NET API handler scripts
├── configs/agents/              # Manual install templates
├── scripts/
│   ├── setup.ps1                # Build + configure
│   ├── install-agents.ps1       # Install into any AI agent
│   └── list-tools.mjs           # Verify tool registration
├── .cursor/mcp.json             # Cursor workspace
├── .vscode/mcp.json             # VS Code workspace
├── .kiro/settings/mcp.json      # Kiro workspace
└── dist/                        # Built server (generated)

Publishing to GitHub

git remote add origin https://github.com/goatboynz/reforger-forge-mcp.git
git push -u origin main

Credits & Attribution

ReforgerForge MCP is based on:

Used and modified with permission. MIT licensed.

License

MIT — see LICENSE

Latest Blog Posts

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/wastelandgoats/reforger-forge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server