ReforgerForge MCP

ReforgerForge MCP

Enables AI-powered modding for Arma Reforger with 50 tools for API search, code generation, project scaffolding, and Workbench control.

Category
Visit Server

README

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured