Koskamo

Nightbreak Forge MCP

A read-only MCP server providing AI assistants with access to Nightbreak Minecraft plugins' wiki, source code, config schemas, and validation tools. It allows querying configuration types, validating YAML/Lua files, and searching plugin documentation without requiring authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Nightbreak Forge MCP logo, by NightbreakVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Nightbreak
MCP endpoint (Streamable HTTP)
https://forge.nightbreak.io/mcp
Vendor documentation

What you can do with it

  • Validate Minecraft plugin configuration files against schemas
  • Search and fetch plugin wiki documentation
  • Retrieve plugin source code from GitHub
  • Get Lua scripting references and static checks

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
nightbreak-forge 1.0.0
MCP protocol
2025-06-18
Tools
10 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Knowledge for writing and checking config files of MagmaGuy's Nightbreak Minecraft plugins (EliteMobs, BetterStructures, FreeMinecraftModels, EternalTD, CannonRTP, ResurrectionChest), from the same sources as the Nightbreak Forge editor at forge.nightbreak.io. Start with get_authoring_notes and list_config_types; get_config_schema gives a type's fields, defaults and allowed values. For behavior questions, search_wiki first, then search_plugin_source and fetch_plugin_source_file for exact rules (the GitHub source of the plugins and MagmaCore). ResourcePackManager and BetterFood are covered by the wiki only. Before you finish YAML or Lua for these plugins, run validate_config_files on every file you wrote (send related files together so references are checked), and validate_lua_power_draft for Lua scripts. Never invent keys, hooks or helpers that the schema, reference or source does not show. This server is read-only and stores nothing; it cannot reach the user's server or files.

Tools

10 advertised

search_plugin_source
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

search_plugin_source input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "mode": {
      "enum": [
        "content",
        "path"
      ],
      "type": "string",
      "description": "\"content\" (default) greps file contents; \"path\" matches file paths."
    },
    "query": {
      "type": "string",
      "description": "Text or regex to grep for. Symbol names, hook names, error messages."
    },
    "repos": {
      "type": "array",
      "items": {
        "enum": [
          "elitemobs",
          "magmacore",
          "betterstructures",
          "freeminecraftmodels",
          "cannonrtp",
          "resurrectionchest"
        ],
        "type": "string"
      },
      "description": "Optional. Defaults to every mirrored repo."
    },
    "max_results": {
      "type": "number",
      "description": "Default 20."
    },
    "path_prefix": {
      "type": "string",
      "description": "Optional. Restrict to a subdirectory like \"src/main/java/\"."
    }
  }
}
search_plugin_source annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fetch_plugin_source_file
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

fetch_plugin_source_file input schema
{
  "type": "object",
  "required": [
    "repo",
    "path"
  ],
  "properties": {
    "path": {
      "type": "string",
      "description": "Repo-relative path, e.g. \"src/main/java/com/magmaguy/elitemobs/powers/lua/LuaPowerRuntime.java\"."
    },
    "repo": {
      "enum": [
        "elitemobs",
        "magmacore",
        "betterstructures",
        "freeminecraftmodels",
        "cannonrtp",
        "resurrectionchest"
      ],
      "type": "string"
    },
    "line_end": {
      "type": "number",
      "description": "Optional. Read up to and including this line."
    },
    "line_start": {
      "type": "number",
      "description": "Optional. Read from this line (1-indexed)."
    }
  }
}
fetch_plugin_source_file annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_local_lua_reference
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_local_lua_reference input schema
{
  "type": "object",
  "properties": {
    "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\")."
    },
    "script_type": {
      "enum": [
        "lua-power",
        "npc-script",
        "mind-behavior",
        "em-enchantment-script",
        "fmm-script",
        "fmm-enchantment-script",
        "fmm-pet-behavior"
      ],
      "type": "string",
      "description": "Which script type's reference to return. Defaults to \"lua-power\"."
    }
  }
}
get_local_lua_reference annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
validate_lua_power_draft
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

validate_lua_power_draft input schema
{
  "type": "object",
  "required": [
    "content"
  ],
  "properties": {
    "path": {
      "type": "string",
      "description": "Optional path such as \"powers/example.lua\" or \"scripts/fireball_wand.lua\" for reporting context."
    },
    "content": {
      "type": "string",
      "description": "Full Lua script file content to validate."
    },
    "script_type": {
      "enum": [
        "lua-power",
        "npc-script",
        "mind-behavior",
        "em-enchantment-script",
        "fmm-script",
        "fmm-enchantment-script",
        "fmm-pet-behavior"
      ],
      "type": "string",
      "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\"`."
    }
  }
}
validate_lua_power_draft annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_wiki
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

search_wiki input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "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."
    }
  }
}
search_wiki annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fetch_wiki_page
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

fetch_wiki_page input schema
{
  "type": "object",
  "required": [
    "path"
  ],
  "properties": {
    "path": {
      "type": "string",
      "description": "Wiki page path relative to the site root, for example \"EliteMobs/lua_getting_started\" or \"EliteMobs/creating_bosses\"."
    }
  }
}
fetch_wiki_page annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_authoring_notes
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_authoring_notes input schema
{
  "type": "object",
  "properties": {}
}
get_authoring_notes annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
list_config_types
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

list_config_types input schema
{
  "type": "object",
  "properties": {
    "plugin": {
      "type": "string",
      "description": "Optional plugin id to filter by, such as \"elitemobs\", \"betterstructures\" or \"fmm\"."
    }
  }
}
list_config_types annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_config_schema
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_config_schema input schema
{
  "type": "object",
  "required": [
    "type"
  ],
  "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."
    }
  }
}
get_config_schema annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
validate_config_files
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

validate_config_files input schema
{
  "type": "object",
  "required": [
    "files"
  ],
  "properties": {
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "path",
          "content"
        ],
        "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."
          }
        }
      },
      "description": "The files to check together."
    }
  }
}
validate_config_files annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
596 ms
95th percentile latency
596 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 596 ms · metadata changed · 10 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http nightbreak-forge-mcp https://forge.nightbreak.io/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add nightbreak-forge-mcp --url https://forge.nightbreak.io/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable nightbreak-forge-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "nightbreak-forge-mcp": {
      "url": "https://forge.nightbreak.io/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "nightbreak-forge-mcp": {
      "type": "streamableHttp",
      "url": "https://forge.nightbreak.io/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start nightbreak-forge-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "nightbreak-forge-mcp": {
      "type": "http",
      "url": "https://forge.nightbreak.io/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http nightbreak-forge-mcp https://forge.nightbreak.io/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "nightbreak-forge-mcp": {
      "url": "https://forge.nightbreak.io/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "nightbreak-forge-mcp": {
      "serverUrl": "https://forge.nightbreak.io/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Nightbreak Forge MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Nightbreak Forge MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing