Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Your server on HTTP: REST and WebSocket for sites, bots, and AI agents, with tokens, scopes, and an audit log.
WorldAPI runs on Fabric and NeoForge now, on a dedicated server and in the world you play alone. Everything Paper serves, the mods serve the same way, so sites, minecraft-mcp, minecraft-exporter, and the dashboard work with them unchanged. On Paper nothing changes but the jar's name.
Fabric and NeoForge
- 🧩 Three jars.
worldapi-paper,worldapi-fabric(needs Fabric API), andworldapi-neoforge, for Minecraft 26.3 on Java 25. On Modrinth each is its own version,4.2.0+paper,+fabric, and+neoforge; Hangar keeps the Paper one.worldapi.jaron GitHub stays the Paper jar, so old links keep working. - 🖥️ A dedicated mod server works as Paper does: the same REST API and WebSocket, config, tokens, permissions, admin panel, and
/worldapi./server/pluginslists the mods. Permissions in game come from fabric-permissions-api (LuckPerms, for one) or NeoForge's PermissionAPI, else operator level 2. - 🌍 Worlds by dimension. On the mods the worlds are
overworld,the_nether,the_end, and a mod's own asnamespace:path. Every platform also takes the other's names, soworld_netherfinds the Nether on Fabric, andthe_netheron Paper. - 🔌 Expansions in mods. A Fabric or NeoForge mod shares its data through the same expansion library as a plugin: WorldAPI finds it through
META-INF/services. - 📜 Java scripts stay on Paper. On the mods
/scriptsanswers 501not_supported.
Singleplayer
- 🎮 Your world on HTTP. Put the mod in your game, open a world, and WorldAPI listens on
127.0.0.1:8110for as long as it's open, then frees the port when you leave. A second game takes the next port. - 💾 Each world its own data. History, sessions, and issued tokens live in the save's
worldapi/folder, and move, copy, and go with it. The config and its token inconfig/worldapi/serve every world. - 🤖 minecraft-mcp finds the game by itself. While a world is open, WorldAPI writes its address and token to
~/.worldapi/local/, readable by you only./worldapi connectcopies the token and the line that adds minecraft-mcp to Claude Code. - 🛡️ Only this computer. A singleplayer world never listens beyond
127.0.0.1, and refuses requests whoseHostor a browser'sOriginpoints elsewhere, so a web page can't reach it through DNS rebinding. LAN guests play as usual and don't reach the API.
Everywhere
- 🧭 Where it runs.
GET /serveraddsplatform(paper,fabric,neoforge),side(dedicated, orintegratedunder a singleplayer world),lan,cheats, andpaused. - 👀 What a player looks at.
GET /players/{player}?include=targetadds the block and the entity in their line of sight within 64 blocks, and where their eyes are. Needsplayers:private. - 🔒 The same guard on Paper. A Paper server that listens on a loopback address checks
HostandOriginthe same way.
Platforms
Paper
26.3