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
访问服务器

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 → Settings → Customizations → Open 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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选