Manage and diagnose Minecraft servers through the self-hosted Fabricator panel.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Self-hosted web dashboard for managing Minecraft servers.
| Feature | Status | |
|---|---|---|
| ๐งฉ | Loaders: Fabric, Quilt, NeoForge, Forge, Paper, Purpur, Folia, Pufferfish, Vanilla | โ Available |
| ๐ฆ | Mod & plugin management: install, remove, and browse Modrinth mods and plugins | โ Available |
| ๐ | Logs & monitoring: live log stream, TPS and RAM graphs | โ Available |
| ๐ฅ | Player management: online players, player heads, custom actions | โ Available |
| ๐พ | Backups & restore: manual snapshots, restore from any backup | โ Available |
| ๐ | World import: upload a world archive and swap it in | โ Available |
| ๐ฅ๏ธ | Multiple servers: manage several instances from one dashboard | โ Available |
| โถ๏ธ | Auto-start: always, never, or last-state restore | โ Available |
| โ | Managed Java runtimes: downloaded and pinned per server | โ Available |
| ๐ | playit.gg tunnels: public access without port forwarding | โ Available |
| ๐ณ | Docker: single multi-arch (amd64/arm64) image, runs non-root | โ Available |
| โจ๏ธ | CLI (fabricator): status, start/stop, update, version, uninstall | โ Available |
| โฌ๏ธ | Self-update: from the web UI, or via the CLI or install script | โ Available |
| โจ๏ธ | CLI: expanded server and mod management commands | ๐ Planned |
| โฐ | Scheduled commands | ๐ Planned |
| ๐ | One-click Minecraft / Fabric server upgrades | ๐ Planned |
| ๐ | Metrics tab: CPU, RAM, and usage over time | ๐ Planned |
| ๐ | User roles and permissions | ๐ Planned |
| โ๏ธ | Editor & files: better text editor, view archived logs | ๐ Planned |
| ๐ฅ | More install targets: Proxmox VE, CasaOS, Umbrel, Unraid, Coolify/Dokploy | ๐ Planned |
A single multi-arch image is published to GHCR for every release. It runs as a
non-root user and keeps all state on one /data volume.
The packaged docker-compose.yml publishes the panel to host loopback only
(127.0.0.1:5000). On first use you'll be prompted to create the operator password.
Minecraft server ports aren't published by default; use the built-in playit.gg tunnel,
or map each server's port explicitly (e.g. 25565:25565).
To update, pull the new image and recreate the container โ your data persists in the named volume:
Docker is the simplest way to run Fabricator on Linux, macOS, or Windows (via Docker Desktop / WSL2).
The script downloads a release tarball from GitHub Releases, installs dependencies, creates a fabricator user and systemd unit, and starts the app. Supported distros: Debian/Ubuntu (and derivatives), Arch, Fedora/RHEL family. systemd and curl are required.
By default this installs the latest published release.
Updating. The easiest way is from the panel itself: Fabricator checks GitHub Releases and you can update from the sidebar. You can also re-run the installer, which detects an existing install and updates in place (backing up servers.json and fabricator.env, keeping your data under /var/lib/fabricator):
Or update from the CLI:
After install, open http://<host>:5000 (the default packaged config binds to all interfaces โ use a firewall or reverse proxy if the host is reachable from untrusted networks).
For local development, the app defaults to loopback-only; see .env.example.
Environment variables are documented in .env.example. For production-like paths, set FLASK_ENV=production, SERVER_ROOT, and SERVER_INDEX_FILE (see Configuration).
| Requirement | |
|---|---|
| Docker | Any OS with Docker Engine or Docker Desktop (recommended path) |
| OS | Linux (Debian/Ubuntu, Arch, or Fedora/RHEL, systemd) for the native installer |
| Python | 3.11+ (manual/native install) |
| Node.js | 20.x (frontend build only) |
The native installer targets Linux. On macOS and Windows, run Fabricator via Docker.
With Docker, set these as environment: entries in docker-compose.yml; the image already pins every data path onto the /data volume. For the native install, the installer writes /etc/fabricator/fabricator.env (group fabricator, mode 0640). Common variables:
The playit.gg tunnel makes a server reachable without port forwarding. The installer
provisions the pinned, sha256-verified playit and playit-cli binaries automatically โ
no separate step. Turn the tunnel on per server under Server โ Settings โ Network (or
Overview โ Public access), which walks you through the one-time playit.gg account claim.
Set PLAYIT_ENABLED=true above only if you want it to auto-start on boot.
Managed Java runtimes are stored under /var/lib/fabricator/java by default when FLASK_ENV=production.
After editing, restart the service:
The management panel requires a login by default. On first boot (no credential configured yet) it starts in a locked setup mode: open the panel and you'll be taken to a one-time page to create the operator password โ in the browser, the same on Linux and Docker (no terminal needed). Until a password is set, only that page is reachable.
The session signing key is generated and persisted automatically on first boot;
the password is stored, hashed, in a 0600 auth.json in the data directory
next to servers.json (/var/lib/fabricator under systemd, /data in Docker).
Advanced / declarative setup. You can skip the setup page by providing the credential up front โ useful for Docker/automation and recommended on untrusted networks (see the security note):
SECRET_KEY to a fixed value (otherwise auto-generated):
python -c "import secrets; print(secrets.token_hex(32))"FABRICATOR_AUTH_PASSWORD_HASH:
fabricator hash-passwordpython -m backend.auth hashPrecedence: env hash > persisted file > setup mode (and for the signing key: env > file > auto-generated).
To run without the built-in login (only if you front Fabricator with your
own reverse-proxy authentication), set FABRICATOR_DISABLE_AUTH=1. This is the
only supported way to disable it.
Change or reset the password. Once logged in, change it from the panel header
(Change password). Forgot it / locked out? Delete auth.json from the data
directory and restart โ the app drops back into setup mode so you can set a new
one. The file lives next to servers.json: /var/lib/fabricator/auth.json under
systemd, /data/auth.json in Docker. (Deleting it only resets the password/key;
your servers are untouched.)
Security note (trust-on-first-use). The first-boot setup page is reachable by anyone who can reach the panel until the password is set. On an untrusted network, set
FABRICATOR_AUTH_PASSWORD_HASHbefore first exposure instead of relying on the open setup page.
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/fabricator-panel-mcp)<a href="https://allmcps.com/mcp/fabricator-panel-mcp"><img src="https://allmcps.com/api/badge/fabricator-panel-mcp?style=directory" alt="Fabricator Panel MCP on AllMCPs" /></a>