Fabricator Panel Mcp

io.github.philderks由 GitHub 帳號 philderks 發布v0.1.0更新於 Oct 24, 2026

Manage and diagnose Minecraft servers through the self-hosted Fabricator panel.

概覽

AI 產生的概覽

讓助理透過自架的 Fabricator 面板檢視 Minecraft 伺服器,並在持有 manage 權杖時對其採取動作。

可以做什麼
透過 HTTP API 連接 Fabricator 面板,提供診斷模組包伺服器的工具:列出伺服器與狀態、讀取主控台輸出與當機日誌、列出已安裝模組、稽核可相容的更新、檢查 Modrinth 專案與版本,以及查看 CPU、記憶體、執行環境與備份中繼資料。使用 manage 範圍權杖時,還能啟動、停止或重新啟動伺服器、重試安裝、依 Modrinth 專案 id 安裝或更新單一模組,以及刪除已安裝的模組 jar。面板決定權杖能存取什麼,本套件只是更窄的整理層。
適用情境
當你自架 Fabricator 面板,並希望助理協助找出模組包伺服器當機原因,或執行例行的模組與重新啟動操作時使用。read 權杖足以完成診斷;只有需要助理改動內容時才需要 manage 權杖。
執行需求
由 MCP 用戶端啟動的本機程序,需要 PATH 中有 uv(唯一的硬性前提,缺少時伺服器無法啟動)。Fabricator 面板必須可從本機存取,並已啟用 MCP 存取。需設定 FABRICATOR_URL(預設 FABRICATOR_TOKEN,即在面板 Settings 的 Model Context Protocol 下建立的 API 權杖。
安裝前請注意
FABRICATOR_TOKEN 以明文保存在 MCP 用戶端設定檔中且不會過期;不再使用的權杖應在面板中撤銷。manage 權杖允許助理啟動、停止、安裝、更新與刪除模組,而伺服器日誌包含模組與玩家寫入的文字,因此 manage 權杖可能據此採取行動。除非確實需要改動,否則優先使用 read 權杖。只有直接位於 mods 資料夾中的 jar 才會被列出或可刪除。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Fabricator Panel Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

fabricator-panel-mcp

Beta. Young, and the way the client is configured may change between releases.

An MCP server for the Fabricator Minecraft panel. It runs on your machine, next to your MCP client, and talks to your panel over its HTTP API using an API token you mint in the panel's Settings, under Model Context Protocol.

It is built for one job: working out why a modpack server is crashing. Read the log, see what is installed, check a mod against Modrinth, remove or update it, restart.

This package is not a security boundary. What a token may do is decided and enforced by the panel, against the token, on the server side. The tool set here is a curation layer: it is narrower than what the token can reach, and it stays honest about the difference.

Connect your MCP client

Paste this into your MCP client configuration. Create the token in Fabricator's Settings → Model Context Protocol.

json
{  "mcpServers": {    "fabricator": {      "command": "uvx",      "args": ["fabricator-panel-mcp"],      "env": {        "FABRICATOR_URL": "http://YOUR-PANEL:5000",        "FABRICATOR_TOKEN": "YOUR_API_TOKEN"      }    }  }}

Requirements

  • The panel, reachable from this machine, with MCP access enabled in Settings → Model Context Protocol.
  • An API token. read is the recommended default — it cannot change anything. Use manage only when you want the assistant to be able to act.
  • uv installed and on your PATH. This is the one hard prerequisite, and it is not bundled with any MCP client. If uv is missing, your client will report the Fabricator server as failing to launch or disconnecting at startup — it looks like a broken server, not like a panel or token problem, because the process never starts. Installing uv fixes it.

What the assistant can do

The token's scope decides this, and the panel enforces it — not this package.

ScopeWhat it reaches
readList servers and their status · read console output and crash logs · list/identify installed mods and audit their compatible updates · batch-check Modrinth project compatibility · inspect exact Modrinth versions and search modpacks (catalog only) · CPU and memory use · server-specific Java/runtime and install diagnostics · loader and Minecraft-version discovery · backup coverage, schedules, and snapshot metadata · search Modrinth
manageEverything above, plus: start / stop / restart a server · start or retry server installation using its saved configuration · install or update one mod by Modrinth project id · delete installed mod jars

read is the documented default. It answers every diagnostic question and cannot change anything on your server.

Whatever the scope, a large part of the panel is refused to every token: the console, file reading and writing, server settings, creating or deleting servers, Java installation, the updater, backup creation and snapshot restore, world import, and all player administration including the player lists. The read-only backup and snapshot metadata tools do not expose archive paths or files. Those refusals happen in the panel, and this package surfaces them as they are rather than hiding the tools.

Known limitation: mods in subfolders

Only jars sitting directly in a server's mods folder are listed, and only those can be removed. A jar inside a subfolder is invisible to the listing and cannot be deleted with remove_mods — manage it through the panel UI instead. The tools say so rather than failing opaquely.

Security notes

  • Server logs contain text written by mods and by players. Anything that can print to the server console — a mod, a player's chat message, a nickname, the MOTD — ends up in what the assistant reads. A manage token lets an assistant act on what it reads there. Prefer a read token unless you specifically want it to be able to change things.
  • The token sits in plain text in your MCP client's configuration file. Treat that file like a password: anyone who can read it can use the token.
  • Tokens do not expire. Revoke any you no longer use, from the same Settings panel.
  • Turning MCP access off in the panel makes existing tokens stop working immediately without deleting them.

Configuration

Two environment variables, set by your MCP client on the process it spawns:

VariableRequiredDefaultMeaning
FABRICATOR_URLnohttp://127.0.0.1:5000Base URL of the panel
FABRICATOR_TOKENyes—The API token from the panel's Settings

The token is never read from the command line. argv is visible to every process on the machine and lands in shell history; a spawned process's environment is neither.

Development

The package is a dependency island: its own pyproject.toml, its own lockfile, its own interpreter pin, resolved and run entirely separately from the panel. The panel's requirements.txt is not involved and does not change.

bash
cd mcpuv sync                 # create .venv from uv.lock, provisioning CPython 3.11uv run pytest           # run this package's suite

CI, and anyone who wants the exact recorded environment:

bash
cd mcpuv sync --frozen        # fails if uv.lock has drifted from pyproject.tomluv run pytest -q

Changing a dependency is the only thing that moves the recipe, and both files are committed together:

bash
cd mcpuv add "mcp>=1.28"git add pyproject.toml uv.lock

The committed recipe is pyproject.toml + uv.lock + .python-version. A stand without a committed recipe is a scratchpad ghost; do not regenerate the lock as a side effect of unrelated work.

Isolation from the panel suite

Four independent mechanisms keep this suite and the panel's from touching each other:

  1. Separate resolution — this pyproject.toml + uv.lock; the panel keeps requirements.txt. Neither references the other.
  2. Separate environment — mcp/.venv. The panel's environment has no mcp/httpx; this one has no Flask.
  3. Separate pytest rootdir — the [tool.pytest.ini_options] table in pyproject.toml stops pytest's upward search here, so a run in mcp/ never loads the panel's conftest.py; the panel's pytest.ini sets testpaths = tests and norecursedirs = mcp so a run at the repo root never descends into this directory.
  4. Separate test workflow — .github/workflows/mcp-tests.yml runs the locked and unlocked jobs from mcp/.

Do not add a [tool.uv.workspace] to the repository root. A workspace would merge the two lockfiles and environments and destroy the island.

Testing rules

  • No test may reach the network. tests/conftest.py installs an autouse guard that turns an un-mocked request into a failed test. Drive the client with httpx.MockTransport.
  • The tool-to-route mapping is a data table, and a test asserts it is a subset of the routes the panel permits a token. If the panel's classification moves, that test goes red on purpose.

Licence

AGPL-3.0-only, inherited from the Fabricator repository.

來源:mcp/README.md,提交 416d7cd

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分