Nightbreak Forge

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
90%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
80%
Cumplimiento del protocolo
100%

Hallazgos (2)

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

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,498Tokens (definiciones de herramientas)
~1.2 KBTamaño de respuesta típico
Impacto moderado en la atención (1.95% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (10)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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`).

Esquema de entrada

{
  "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).

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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"
  ]
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada10 herramientas