Nightbreak Forge

Read-only knowledge of Nightbreak Minecraft plugins: wiki, source, config schemas and validation.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
90%
Naming quality
100%
Poisoning risk
100%
Permission match
80%
Protocol compliance
100%

Findings (2)

  • LOWTool 'fetch_plugin_source_file' suggests web access but openWorldHint=falsein fetch_plugin_source_file
  • LOWTool 'fetch_wiki_page' suggests web access but openWorldHint=falsein fetch_wiki_page

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,498Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (1.95% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "forge": {
      "url": "https://forge.nightbreak.io/mcp"
    }
  }
}

Remote endpoints

https://forge.nightbreak.io/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_plugin_source(query, repos, mode, path_prefix, max_results)

Search the EliteMobs, MagmaCore, BetterStructures, FreeMinecraftModels, CannonRTP and ResurrectionChest source code for a query. By default searches every mirrored repo by file content (grep). MagmaCore contains shared core functionality (Lua engine, base entity tables, scripting helpers) used by every plugin — always check it for hooks, helpers, or context methods that feel like they should be common across plugins. FreeMinecraftModels (freeminecraftmodels) has its own LuaItemTable / LuaPropTable and prop-specific hooks. Use this BEFORE answering plugin-specific questions or generating Lua/YAML files.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Text or regex to grep for. Symbol names, hook names, error messages."
    },
    "repos": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "elitemobs",
          "magmacore",
          "betterstructures",
          "freeminecraftmodels",
          "cannonrtp",
          "resurrectionchest"
        ]
      },
      "description": "Optional. Defaults to every mirrored repo."
    },
    "mode": {
      "type": "string",
      "enum": [
        "content",
        "path"
      ],
      "description": "\"content\" (default) greps file contents; \"path\" matches file paths."
    },
    "path_prefix": {
      "type": "string",
      "description": "Optional. Restrict to a subdirectory like \"src/main/java/\"."
    },
    "max_results": {
      "type": "number",
      "description": "Default 20."
    }
  },
  "required": [
    "query"
  ]
}
🟢fetch_plugin_source_file(repo, path, line_start, line_end)

Fetch a file from a mirrored plugin source repo. Optional line slicing for large files.

Input Schema

{
  "type": "object",
  "properties": {
    "repo": {
      "type": "string",
      "enum": [
        "elitemobs",
        "magmacore",
        "betterstructures",
        "freeminecraftmodels",
        "cannonrtp",
        "resurrectionchest"
      ]
    },
    "path": {
      "type": "string",
      "description": "Repo-relative path, e.g. \"src/main/java/com/magmaguy/elitemobs/powers/lua/LuaPowerRuntime.java\"."
    },
    "line_start": {
      "type": "number",
      "description": "Optional. Read from this line (1-indexed)."
    },
    "line_end": {
      "type": "number",
      "description": "Optional. Read up to and including this line."
    }
  },
  "required": [
    "repo",
    "path"
  ]
}
🟢get_local_lua_reference(script_type, scope)

Read the current Nightbreak Forge local Lua validator/editor reference. Use this to see which hooks, fields, methods, exact values, and handle helpers the editor currently knows about. **Pass `script_type` matching the file you are working on:** `"lua-power"` (default, EliteMobs boss powers — includes context handles, `em`, and exact values), `"fmm-script"` (FMM props), or `"npc-script"` (EliteMobs NPC scripts in `npc_scripts/`), or `"mind-behavior"` (EliteMobs Mind AI programs in `behaviors/`, selected by a boss's `behavior` field), `"fmm-pet-behavior"` (FreeMinecraftModels pet behavior modules in `pet_behaviors/`, id `fmm:pet/<file name>`; loaded from FMM 2.13.0), or `"em-enchantment-script"` / `"fmm-enchantment-script"` (the Lua effect of an EliteMobs or FreeMinecraftModels enchantment in `enchantments/`). Each returns that script type's own hooks and `context.*` namespaces — the boss reference does NOT contain NPC, FMM, Mind or enchantment APIs, so query the matching type.

Input Schema

{
  "type": "object",
  "properties": {
    "script_type": {
      "type": "string",
      "enum": [
        "lua-power",
        "npc-script",
        "mind-behavior",
        "em-enchantment-script",
        "fmm-script",
        "fmm-enchantment-script",
        "fmm-pet-behavior"
      ],
      "description": "Which script type's reference to return. Defaults to \"lua-power\"."
    },
    "scope": {
      "type": "string",
      "description": "Optional scope. For lua-power: \"hooks\", \"context\", \"boss\", \"player\", \"event\", \"script\", \"handles\", \"em\", or \"values\". For fmm-script/npc-script: \"hooks\", \"context\", or a context namespace name (e.g. \"npc\", \"player\", \"prop\", \"projectile\")."
    }
  }
}
🟢validate_lua_power_draft(content, script_type, path)

Validate a draft Lua script against the local Nightbreak Forge Lua validator. Use this before finalizing generated Lua files to catch unknown helpers, invalid fields, or malformed file structure. **IMPORTANT: pass `script_type` matching the file you are generating.** Use `"lua-power"` (default) for EliteMobs custom-boss Lua powers (files in `powers/`), `"fmm-script"` for FreeMinecraftModels prop scripts (files in `scripts/`), `"npc-script"` for EliteMobs NPC scripts (files in `npc_scripts/`), `"mind-behavior"` for Mind programs and modules (files in `behaviors/`), `"fmm-pet-behavior"` (FreeMinecraftModels pet behavior modules in `pet_behaviors/`, id `fmm:pet/<file name>`; loaded from FMM 2.13.0), or `"em-enchantment-script"` / `"fmm-enchantment-script"` for EliteMobs or FreeMinecraftModels enchantment scripts (files in `enchantments/`). They have different valid hook names and context namespaces — passing the wrong type produces false-positive errors (e.g. `on_right_click` is valid for `fmm-script`, `on_npc_interact` for `npc-script`, but both are rejected for `lua-power`).

Input Schema

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "Full Lua script file content to validate."
    },
    "script_type": {
      "type": "string",
      "enum": [
        "lua-power",
        "npc-script",
        "mind-behavior",
        "em-enchantment-script",
        "fmm-script",
        "fmm-enchantment-script",
        "fmm-pet-behavior"
      ],
      "description": "Which validator ruleset to apply. `\"lua-power\"` for EliteMobs boss powers, `\"fmm-script\"` for FMM prop scripts, `\"npc-script\"` for EliteMobs NPC scripts, `\"mind-behavior\"` for behaviors/ programs and modules, `\"fmm-pet-behavior\"` (FreeMinecraftModels pet behavior modules in `pet_behaviors/`, id `fmm:pet/<file name>`; loaded from FMM 2.13.0). Defaults to `\"lua-power\"`."
    },
    "path": {
      "type": "string",
      "description": "Optional path such as \"powers/example.lua\" or \"scripts/fireball_wand.lua\" for reporting context."
    }
  },
  "required": [
    "content"
  ]
}
🟢search_wiki(query, max_results)

Search the Nightbreak wiki for relevant pages and snippets. Matching is by word and case-insensitive, ranked by title, page name and body. Each result has a `page` value to pass to fetch_wiki_page. Use for high-level docs, examples, and tutorials — not for symbol verification (use search_plugin_source for that).

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Keywords to search for, such as \"lua power files\", \"creating bosses\", or \"elitescript bridge\"."
    },
    "max_results": {
      "type": "number",
      "description": "Maximum number of results to return. Defaults to 10."
    }
  },
  "required": [
    "query"
  ]
}
🟢fetch_wiki_page(path)

Fetch and extract readable content from a specific Nightbreak wiki page such as "EliteMobs/lua_getting_started". Page names change as the wiki grows: take them from search_wiki results. A missing page returns `suggestions` with the closest existing pages.

Input Schema

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "Wiki page path relative to the site root, for example \"EliteMobs/lua_getting_started\" or \"EliteMobs/creating_bosses\"."
    }
  },
  "required": [
    "path"
  ]
}
🟢get_authoring_notes

Where each config type's files go and the plugin rules Forge's own assistant follows: per-type notes, the newer plugins' knowledge, boss movement and combat AI, and the Lua hook quick reference. Read it once before writing files.

Input Schema

{
  "type": "object",
  "properties": {}
}
🟢list_config_types(plugin)

The config file types Forge knows for the released plugins, with each type's plugin, label, server path, format and wiki page. Pass a type to get_config_schema or as the path when validating.

Input Schema

{
  "type": "object",
  "properties": {
    "plugin": {
      "type": "string",
      "description": "Optional plugin id to filter by, such as \"elitemobs\", \"betterstructures\" or \"fmm\"."
    }
  }
}
🟢get_config_schema(type, field)

One config type's fields as Forge edits and validates them: key, value type, default, whether it is required, description and allowed values. Long option lists are shortened; pass field to get one field with all its options.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "description": "A type from list_config_types, such as \"custom-boss\" or \"fmm-pet\"."
    },
    "field": {
      "type": "string",
      "description": "Optional field key; returns only that field, with every allowed value."
    }
  },
  "required": [
    "type"
  ]
}
🟢validate_config_files(files)

Validate plugin config files (YAML and Lua) with Forge's validator: required fields, allowed values, plugin rules, Lua analysis, and references between the files you send (a boss's powers, a dungeon's bosses). Send each file with its server path, such as "plugins/EliteMobs/custombosses/frost_king.yml", so Forge can tell its type. A reference to a file you did not send is reported as not found in the workspace, which here means this call's files. Up to 50 files per call. Nothing is stored.

Input Schema

{
  "type": "object",
  "properties": {
    "files": {
      "type": "array",
      "description": "The files to check together.",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Server path or plugin-relative path, such as \"plugins/EliteMobs/powers/frost_nova.lua\"."
          },
          "content": {
            "type": "string",
            "description": "The full file content."
          }
        },
        "required": [
          "path",
          "content"
        ]
      }
    }
  },
  "required": [
    "files"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools