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.
https://forge.nightbreak.io/mcpWhat 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
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
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
10 advertised
search_plugin_source
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.
{
"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/\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}fetch_plugin_source_file
Fetch a file from a mirrored plugin source repo. Optional line slicing for large files.
{
"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)."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_local_lua_reference
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.
{
"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\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}validate_lua_power_draft
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`).
{
"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\"`."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_wiki
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).
{
"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."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}fetch_wiki_page
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.
{
"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\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}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.
{
"type": "object",
"properties": {}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_config_types
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.
{
"type": "object",
"properties": {
"plugin": {
"type": "string",
"description": "Optional plugin id to filter by, such as \"elitemobs\", \"betterstructures\" or \"fmm\"."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_config_schema
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.
{
"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."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}validate_config_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.
{
"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."
}
}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
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.
Claude Code
claude mcp add --transport http nightbreak-forge-mcp https://forge.nightbreak.io/mcpCodex
codex mcp add nightbreak-forge-mcp --url https://forge.nightbreak.io/mcpCursor
{
"mcpServers": {
"nightbreak-forge-mcp": {
"url": "https://forge.nightbreak.io/mcp"
}
}
}Cline
{
"mcpServers": {
"nightbreak-forge-mcp": {
"type": "streamableHttp",
"url": "https://forge.nightbreak.io/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"nightbreak-forge-mcp": {
"type": "http",
"url": "https://forge.nightbreak.io/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http nightbreak-forge-mcp https://forge.nightbreak.io/mcpClaude Desktop
{
"mcpServers": {
"nightbreak-forge-mcp": {
"url": "https://forge.nightbreak.io/mcp"
}
}
}Windsurf
{
"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.
Other developer tools servers
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.