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 分