Files
horizon/docs/api/launcher.md
T
Ludovic MarieandClaude Opus 5.5 0a1d3a7534 Horizon APIs: the docs portal and the stability and versioning policy
docs/api/ gets one page per surface other programs build on (mods,
shaders, agent control, servers, the launcher, data formats), each with an
overview measured from the source, the guide, the generated reference, examples,
its stability, what is not there yet and a changelog, plus the policy every
API follows (docs/api/stability.md): a version per API, semver lines,
experimental / preview / stable, deprecation windows, compatibility tests and
the level of every part today.

The website gets a "Build on Horizon" page (website/docs/apis.md) that
summarises them and links the repository's pages.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 20:50:20 +02:00

2.7 KiB

Launcher API

What a player's agent, a script or a pack maker can do with horizon-launcher: install and run versions, manage accounts, settings, mods, modpacks and hosted servers, from a terminal or over MCP. The launcher itself: launcher/README.md.

Overview

Every page of the launcher has a command, and every command but three has an MCP tool with the same arguments; a tool runs the command with --json. Tools that change the player's things for good need confirm: true; with No AI on, the MCP server is off.

Count
Commands 46: versions, installs, play, the server, notes, links, accounts, settings, logs, updates, data collection, modpacks, mods, hosted servers, MCP, benchmark
MCP tools 43, plus the game's tools as game_<tool> (agent-control.md)
Modpack formats it imports 3: a Modrinth .mrpack, a CurseForge zip, an instance folder

Guide

  1. horizon-launcher versions, horizon-launcher install latest, horizon-launcher play.
  2. Modpacks: horizon-launcher modpack import <file>, then modpack port and modpack play (modpacks.md).
  3. For an agent: horizon-launcher agent-config prints how to connect a client to horizon-launcher mcp.

Reference

launcher-commands.md, generated from launcher/src/cli.rs: every command, its arguments and its MCP tool.

Examples

horizon-launcher versions --installed --json
horizon-launcher mods search minimap --kind mod --json
horizon-launcher servers create --name "Weekend" --player Alex --json

Stability

Preview (stability.md): command names, arguments and MCP tool names are the contract; --json output shapes are not yet described in the reference.

Not there yet

  • A Horizon modpack manifest. A pack made for Horizon (not a port of a Java pack) needs its own file: the pack's id, name and version; the Horizon API lines and the release line it needs; its .hmod mods (id, version, SHA-256, where to download it, client, server or both); resource packs; default settings; and whether it has a server side. One manifest serves the launcher, horizon-server (a server installs the server side of the same pack) and the mod browser. Designed from what a pack maker does, versioned per stability.md, with a schema test.
  • JSON output schemas for every command, in the generated reference, so MCP tools declare their output.
  • A version in MCP serverInfo and --json output, as for agent control.
  • Compatibility tests: golden --json output per command.

Changelog

  • Unversioned so far: the command table and the generated reference are the contract.