MCTOOLBOX
MC ToolboxMC TOOLBOX
Java Edition server protocol

Minecraft Server Management API Explorer

Browse the vanilla JSON-RPC methods, build positional params, inspect response schemas, and prepare a secure WebSocket connection without exposing a real server secret.

68
Methods
17
Notifications
15
Schemas
3.0
Protocol in 26.2
Callable methodRead only1.21.9+
minecraft:server/status

Read startup state, online players, and the running Minecraft version.

Parameters

This method takes no parameters.

Result

Result type
Server State
JSON-RPC request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "minecraft:server/status"
}
Example response
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "started": true,
    "players": [
      {
        "id": "853c80ef-3c37-49fd-aa49-938b674adae6",
        "name": "jeb_"
      }
    ],
    "version": {
      "name": "26.2",
      "protocol": 774
    }
  }
}

Connection and server.properties builder

Use a fixed port for tools and leave the secret empty once so Minecraft generates a valid 40-character value.

Security note: Never paste a real management secret into a public website. Bind to localhost or a private network, use a firewall, and use TLS across untrusted networks.
server.properties
management-server-enabled=true
management-server-host=localhost
management-server-port=25585
management-server-secret=
management-server-tls-enabled=true
management-server-tls-keystore=management-server.p12
management-server-allowed-origins=http://localhost:3000
Terminal connection
wscat -c wss://localhost:25585 -s minecraft-v1 -H "Authorization: Bearer YOUR_40_CHARACTER_SECRET"
Browser WebSocket example
const socket = new WebSocket('wss://localhost:25585', [
  'minecraft-v1',
  'YOUR_40_CHARACTER_SECRET'
]);

socket.addEventListener('open', () => {
  socket.send("{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"minecraft:server/status\"}");
});

socket.addEventListener('message', ({ data }) => {
  console.log(JSON.parse(data));
});
Protocol guide

What is the Minecraft Server Management Protocol?

The Server Management Protocol is a Java Edition dedicated-server API introduced in 1.21.9. It carries JSON-RPC 2.0 messages over WebSocket, so dashboards and automation can work with typed players, bans, settings, game rules, and server state instead of parsing console text.

Minecraft 26.2 uses protocol version 3.0 and can expose rpc.discover before the game server has fully started. Discovery is the safest way for a client to learn the methods and notifications supported by the exact server it reached.

This explorer is a reference and payload builder, not a remote control panel. It intentionally uses a placeholder secret and performs all editing locally in your browser.

Operational guidance

Management API versus RCON

RCON sends console commands and returns unstructured text. The management API returns typed JSON and can push join, leave, save, gamerule, and status events, which makes it a stronger fit for control panels, monitoring, and bots.

The API is Java Edition only and disabled by default. A production client should validate discovered schemas, handle standard JSON-RPC error objects, reconnect with backoff, and treat stop, clear, set, ban, kick, and operator writes as privileged actions.

Port 0 asks Minecraft to choose a random port; it does not disable the service. TLS defaults to enabled, and browser clients also need an allowed Origin plus the minecraft-v1 WebSocket subprotocol.

Frequently asked questions

Can this page connect to my live Minecraft server?

No. It builds examples locally and never asks for your real secret. Use the generated snippet in a trusted local tool, or use a maintained client library.

Why are params shown as a JSON array?

The Minecraft API methods use positional JSON-RPC parameters. Even a method with one logical argument sends that value inside the params array.

Does the protocol work on Bedrock Edition?

No. Minecraft Server Management Protocol is currently a Java Edition dedicated-server feature.

Should I hard-code the method list in a server panel?

Use rpc.discover at runtime when possible. The protocol has already changed across 1.21.9, 1.21.11, and 26.2.