Minecraft Ops MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MSMP_URL | No | WebSocket URL for MSMP, e.g., ws://127.0.0.1:25585 | |
| RCON_HOST | No | Host for RCON connection, e.g., 127.0.0.1 | |
| RCON_PORT | No | Port for RCON connection, e.g., 25575 | |
| MSMP_SECRET | No | Secret for MSMP authentication | |
| MCSM_API_KEY | No | API key for MCSManager authentication | |
| MCSM_BASE_URL | No | The base URL for MCSManager API, e.g., http://127.0.0.1:23333 | |
| RCON_PASSWORD | No | Password for RCON authentication | |
| MCSM_DEFAULT_DAEMON_ID | No | Default daemon ID for MCSManager operations | |
| MINECRAFT_OPS_AUDIT_LOG | No | Path for audit log file, e.g., /tmp/minecraft-ops-mcp-audit.jsonl. Set to empty to disable. | |
| MCSM_DEFAULT_INSTANCE_UUID | No | Default instance UUID for MCSManager operations | |
| MINECRAFT_OPS_RAW_COMMAND_DENYLIST | No | Comma-separated list of denied command prefixes for raw commands, e.g., stop,op,deop,ban,ban-ip | |
| MINECRAFT_OPS_RAW_COMMAND_ALLOWLIST | No | Comma-separated list of allowed command prefixes for raw commands, e.g., list,time,help |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| server.list_daemonsA | List MCSManager daemon nodes. |
| server.get_daemon_systemA | Get MCSManager daemon system status summary. |
| server.list_instancesB | List instances on an MCSManager daemon. |
| server.get_instanceB | Get MCSManager instance details. |
| instance.createA | Create an MCSManager instance. Requires confirm=true or dry_run=true. |
| instance.update_configA | Update an MCSManager instance config. Requires confirm=true or dry_run=true. |
| instance.update_config_patchA | Read the current MCSManager instance config, deep-merge a patch, and update it. Requires confirm=true or dry_run=true. |
| instance.clone_from_templateA | Create a new MCSManager instance from an existing instance config. Requires confirm=true or dry_run=true. |
| instance.deleteA | Delete MCSManager instances. Requires confirm=true or dry_run=true. |
| instance.reinstallA | Reinstall an MCSManager instance from a package URL. Requires confirm=true or dry_run=true. |
| instance.run_update_taskA | Run the configured MCSManager update task. Requires confirm=true or dry_run=true. |
| server.startA | Start an MCSManager instance. Requires confirm=true or dry_run=true. |
| server.stopA | Stop an MCSManager instance. Requires confirm=true or dry_run=true. |
| server.restartA | Restart an MCSManager instance. Requires confirm=true or dry_run=true. |
| server.killA | Force-kill an MCSManager instance. Requires confirm=true or dry_run=true. |
| server.send_commandA | Send a raw console command through MCSManager. Requires confirm=true or dry_run=true. |
| server.get_logsB | Read MCSManager instance output logs. |
| server.save_worldB | Save the Minecraft world using MSMP, RCON, or MCSManager. |
| server.broadcastA | Broadcast a system chat message using MSMP, RCON, or MCSManager. |
| file.listB | List files in an MCSManager instance directory. |
| file.readB | Read a text file from an MCSManager instance. |
| file.download_prepareA | Create a temporary MCSManager daemon download token for one instance file. |
| file.download_localA | Download one MCSManager instance file to the MCP server local filesystem. Requires confirm=true or dry_run=true. |
| file.upload_prepareB | Create a temporary MCSManager daemon upload token for one instance directory. |
| file.upload_localA | Upload a local file into an MCSManager instance directory. Requires confirm=true or dry_run=true. |
| file.upload_urlA | Download a remote URL on the MCP server and upload it into an MCSManager instance. Requires confirm=true or dry_run=true. |
| file.writeA | Write a text file in an MCSManager instance. Requires confirm=true or dry_run=true. |
| file.write_newA | Create a text file with touch -> write, optionally refusing to overwrite existing files. Requires confirm=true or dry_run=true. |
| file.deleteA | Delete files or folders from an MCSManager instance. Requires confirm=true or dry_run=true. |
| file.moveA | Move or rename files in an MCSManager instance. Requires confirm=true or dry_run=true. |
| file.copyA | Copy files in an MCSManager instance. Requires confirm=true or dry_run=true. |
| file.mkdirB | Create a folder in an MCSManager instance. |
| file.touchB | Create an empty file in an MCSManager instance. |
| file.compressA | Create a zip archive in an MCSManager instance. Requires confirm=true or dry_run=true. |
| file.uncompressA | Extract a zip archive in an MCSManager instance. Requires confirm=true or dry_run=true. |
| rcon.commandA | Send a raw RCON command. Requires confirm=true or dry_run=true. |
| rcon.list_playersA | List online players through RCON using the fixed list command. |
| rcon.time_queryB | Query server time through RCON using time query daytime/gametime/day. |
| rcon.save_allB | Save the world through RCON using save-all or save-all flush. |
| msmp.discoverC | Call rpc.discover on the Minecraft Server Management Protocol endpoint. |
| msmp.callA | Call an arbitrary MSMP JSON-RPC method. Set read_only=true for safe reads; otherwise confirm=true is required. |
| msmp.players.listA | List connected players through MSMP. |
| msmp.players.kickA | Kick one or more players through MSMP. Requires confirm=true or dry_run=true. |
| msmp.server.statusC | Get server status through MSMP. |
| msmp.server.saveA | Save server state through MSMP. Requires confirm=true or dry_run=true. |
| msmp.server.stopA | Stop server through MSMP. Requires confirm=true or dry_run=true. |
| msmp.bans.getA | Get the player ban list through MSMP. |
| msmp.bans.addA | Add player bans through MSMP. Requires confirm=true or dry_run=true. |
| msmp.bans.removeA | Remove player bans through MSMP. Requires confirm=true or dry_run=true. |
| msmp.bans.setA | Replace the player ban list through MSMP. Requires confirm=true or dry_run=true. |
| msmp.bans.clearA | Clear the player ban list through MSMP. Requires confirm=true or dry_run=true. |
| msmp.ip_bans.getA | Get the IP ban list through MSMP. |
| msmp.ip_bans.addA | Add IP bans through MSMP. Requires confirm=true or dry_run=true. |
| msmp.ip_bans.removeA | Remove IP bans through MSMP. Requires confirm=true or dry_run=true. |
| msmp.ip_bans.setA | Replace the IP ban list through MSMP. Requires confirm=true or dry_run=true. |
| msmp.ip_bans.clearA | Clear the IP ban list through MSMP. Requires confirm=true or dry_run=true. |
| msmp.allowlist.getC | Get the allowlist through MSMP. |
| msmp.allowlist.addA | Add players to the allowlist through MSMP. Requires confirm=true or dry_run=true. |
| msmp.allowlist.removeA | Remove players from the allowlist through MSMP. Requires confirm=true or dry_run=true. |
| msmp.allowlist.setA | Replace the allowlist through MSMP. Requires confirm=true or dry_run=true. |
| msmp.allowlist.clearA | Clear the allowlist through MSMP. Requires confirm=true or dry_run=true. |
| msmp.operators.getC | Get operators through MSMP. |
| msmp.operators.addA | Add operators through MSMP. Requires confirm=true or dry_run=true. |
| msmp.operators.removeA | Remove operators through MSMP. Requires confirm=true or dry_run=true. |
| msmp.operators.setA | Replace the operator list through MSMP. Requires confirm=true or dry_run=true. |
| msmp.operators.clearA | Clear operators through MSMP. Requires confirm=true or dry_run=true. |
| msmp.gamerules.getB | Get game rules through MSMP. |
| msmp.gamerules.updateA | Update a game rule through MSMP. Requires confirm=true or dry_run=true. |
| msmp.server_settings.getA | Get one server setting through MSMP, for example difficulty or motd. |
| msmp.server_settings.listA | Discover readable and writable MSMP server settings from rpc.discover. |
| msmp.server_settings.setA | Set one server setting through MSMP. Requires confirm=true or dry_run=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| minecraft_health_check | A cautious operational health-check flow for a Minecraft instance. |
| minecraft_safe_restart | A staged restart plan that saves first and uses dry-run previews for risky steps. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Redacted configuration | Shows which backends are configured without exposing secrets. |
| Safety policy | Lists high-risk tools and confirmation semantics. |
| Tool catalog | Full MCP tool catalog with JSON schemas. |
TDQS
Scored across 71 tools
The tools are well-organized into clear categories (file, instance, msmp, rcon, server) with distinct purposes within each category. However, there is some potential for confusion between similar operations like server.save_world and rcon.save_all, or between different save methods. Overall, the hierarchical naming helps agents distinguish between tools effectively.
The tool names follow an extremely consistent pattern of category.verb_noun throughout (e.g., file.list, msmp.allowlist.get, server.start). All tools use snake_case with clear hierarchical organization, making the naming scheme predictable and easy to understand.
With 71 tools, this server has far too many tools for effective agent use. While the domain (Minecraft server management) is complex, the tool count creates overwhelming complexity and redundancy (e.g., multiple ways to save worlds, multiple player listing methods). A more streamlined set would be more appropriate.
The tool surface provides comprehensive coverage of Minecraft server management operations. It includes complete CRUD for files, instances, player management (allowlist, bans, operators), server control (start/stop/restart), configuration management, and multiple communication protocols (MSMP, RCON, MCSManager). No obvious gaps exist for the stated purpose.