Mc Pack Builder

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

构建 Minecraft 整合包:依赖解析、冲突检测、导出清单

概覽

AI 產生的概覽

本機 MCP 伺服器,用來建置 Minecraft 模組包:建立包結構、在 Modrinth 搜尋模組、解析相依性、檢查相容性並匯出可散布的模組包。

可以做什麼
建立與讀取模組包目錄,包含 MC 版本、載入器、模組數量等中繼資料以及常見問題(create_pack、get_pack_info)。在 Modrinth 搜尋模組,查看版本歷程、相依性和支援的 MC 版本(search_mods、get_mod_info)。解析模組完整的直接與間接相依鏈,並為現有模組包中的所有模組產生相依清單(resolve_dependencies、generate_dependency_list)。依目標 MC 版本檢查已安裝模組的已知不相容(check_pack_compatibility)。匯出可散布的模組包:清理多餘檔案、解開巢狀壓縮檔、產生模組清單,並可選擇分卷(export_standard_pack)。
適用情境
適合在製作或維護 Minecraft 模組包時使用,讓助理在 Modrinth 上查找模組、追蹤相依性、提示已知衝突(例如 OptiFine 與 Fabric),並產生乾淨的發布用匯出。本機模組包工具可離線使用,只有 Modrinth 查詢需要連網。
執行需求
以本機 Node.js 程序執行(需 Node.js 18+ 與 npm),在 MCP 用戶端設定建置後入口檔案的絕對路徑。不需帳號或 API 金鑰;可用環境變數或 .env 檔覆寫 Modrinth API 位址、User-Agent、分卷大小與略過目錄。搜尋、模組資訊與相依解析需要網路連線。
安裝前請注意
匯出與模組包工具會寫入磁碟:export_standard_pack 會建立輸出目錄、清理檔案,並可能讀取 .minecraft 目錄,請確認路徑正確並檢視回傳報告。Modrinth 查詢會把搜尋字詞與專案 ID 傳送到 Modrinth API,或傳送到 PACK_BUILDER_MODRINTH_API_BASE 指定的位址。相容性規則來自可編輯的規則檔,可能未涵蓋所有衝突。

安裝

在 SourceWeft 中

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

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

其他 MCP 客戶端

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

README

mc-pack-builder-mcp

[M8ven Verified]

MCP server for Minecraft modpack building. Creates pack structures, searches mods on Modrinth, resolves dependencies, checks compatibility, and exports standardized modpacks ready for distribution.

Tools

ToolDescription
create_packCreate a new modpack directory structure (pack.mcmeta, version.txt, loader.txt, mods/)
get_pack_infoRead existing modpack metadata: MC version, loader, mod count, and common issues
search_modsSearch Modrinth for mods by keyword, returns ID, name, description, download count
get_mod_infoGet detailed info about a Modrinth mod: version history, dependencies, supported MC versions
resolve_dependenciesRecursively resolve a mod's full dependency chain (direct + indirect)
check_pack_compatibilityCheck installed mods against a target MC version for known incompatibilities
generate_dependency_listGenerate a complete dependency list for all mods in an existing pack
export_standard_packExport a clean, distribution-ready modpack: cleanup extras, unwrap nested zips, generate modlist, optional volume splitting

Features

  • Pack structure creation — generates standard modpack directory with all required files
  • Modrinth integration — search and query mod metadata directly from the Modrinth API
  • Dependency resolution — follows the full dependency tree to ensure all requirements are met
  • Compatibility checking — detects known conflicts (e.g. OptiFine with Fabric, Sodium vs Embeddium)
  • Export standard pack — automatically cleans .minecraft extras, unwraps nested zip bundles, generates a styled modlist.html or plain modlist.txt, and optionally splits large packs into ≤256 MB volumes for easy distribution
  • Offline operation — all local pack tools work without network; only search/info tools need Modrinth

Installation

Prerequisites

  • Node.js 18+
  • npm

Build

bash
cd mc-pack-builder-mcpnpm installnpm run build

Run as standalone MCP server

bash
node dist/index.js

The server communicates via stdio (JSON-RPC 2.0). It can be consumed by any MCP-compatible client.

Configuration for MCP clients

Add to your MCP client config:

json
{  "mcpServers": {    "mc-pack-builder": {      "command": "node",      "args": ["${MC_PACK_BUILDER_ROOT}/dist/index.js"]    }  }}

Path note: Replace ${MC_PACK_BUILDER_ROOT} with the absolute path to this project's root directory. On Windows, use forward slashes: ["C:/Users/xxx/Desktop/mc-pack-builder-mcp/dist/index.js"]. Alternatively, set an environment variable MC_PACK_BUILDER_ROOT pointing to the project root and use the variable in the config.

Configuration

本工具零配置即可用(内置默认值,任何环境开箱即用)。以下项目可通过环境变量或项目根目录 .env 文件覆盖(复制 .env.example 为 .env):

变量默认值说明
PACK_BUILDER_MODRINTH_API_BASEhttps://api.modrinth.com/v2Modrinth API 根地址,支持自建网关/代理
PACK_BUILDER_USER_AGENTmc-pack-builder-mcp/1.1请求 User-Agent(Modrinth 要求标明来源)
PACK_BUILDER_VOLUME_MAX_MB256分卷导出时每卷的最大体积(MB)
PACK_BUILDER_SKIP_DIRSmods,config,resourcepacks,shaderpacks,saves,datapacks,worlds解压嵌套压缩包时跳过的顶层目录(逗号分隔)

优先级:环境变量 > .env 文件 > 内置默认值。改动后重启 MCP server 生效。

扩展兼容性规则:编辑 src/pack-rules.json(构建后为 dist/pack-rules.json),新增/覆盖规则即可,无需改代码。

  • rules.incompatible_pairs:互斥模组对,如 { "mods": ["sodium", "embeddium"], "reason": "..." },当同一整合包同时出现 ≥2 个名单内模组时告警。
  • rules.loader_incompatible:加载器专属不兼容,如 { "loader": "fabric", "mods": ["optifine"], "reason": "..." }。
  • rules.pack_format:MC 版本 → pack.mcmeta 的 pack_format 数字映射(create_pack 默认取值)。

Usage Examples

Create a new modpack

json
{  "name": "create_pack",  "arguments": {    "pack_dir": "/path/to/MyModpack",    "name": "My Modpack",    "mc_version": "1.20.1",    "loader": "fabric"  }}

Read pack info

json
{  "name": "get_pack_info",  "arguments": {    "pack_dir": "/path/to/MyModpack"  }}

Search for a mod on Modrinth

json
{  "name": "search_mods",  "arguments": {    "query": "sodium",    "limit": 5  }}

Resolve dependencies

json
{  "name": "resolve_dependencies",  "arguments": {    "project_id": "geckolib"  }}

Check pack compatibility

json
{  "name": "check_pack_compatibility",  "arguments": {    "pack_dir": "/path/to/MyModpack",    "mc_version": "1.20.1"  }}

Generate dependency list

json
{  "name": "generate_dependency_list",  "arguments": {    "pack_dir": "/path/to/MyModpack"  }}

Export standard pack (release-ready)

json
{  "name": "export_standard_pack",  "arguments": {    "source_pack_dir": "C:/Users/xxx/Desktop/MyModpack",    "output_dir": null,    "clean_minecraft_extra": true,    "minecraft_dir": "C:/Users/xxx/.minecraft",    "unwrap_nested": true,    "generate_modlist": true,    "modlist_format": "html",    "split_volumes": false,    "volume_max_mb": 256  }}

Output: Creates a _ready sibling directory (or custom output_dir) with the cleaned package. Returns a JSON report listing all actions taken, warnings, mod count, and — if volume splitting is enabled — per-volume paths and sizes.

Architecture

mc-pack-builder-mcp/├── src/│   ├── index.ts        # MCP server + all tool implementations│   └── pack-rules.json # 兼容性规则 & pack_format 映射(可外部扩展)├── dist/               # Compiled JavaScript (output of tsc)├── __tests__/│   └── unit.test.ts    # Unit tests (offline)├── package.json        # Node.js dependencies (@modelcontextprotocol/sdk, zod, adm-zip)├── tsconfig.json       # TypeScript config (CommonJS output)├── test.js             # Integration test runner├── test_logs/          # Test output logs (gitignored)├── .env.example        # 环境变量配置示例└── .gitignore

The MCP uses the official @modelcontextprotocol/sdk v1.x with McpServer and StdioServerTransport.

Testing

bash
npm run buildnode test.js

Tests create temporary directories under os.tmpdir() and clean up after themselves. No Minecraft installation is required.

Platform Compatibility

ToolWindowsmacOSLinux
create_pack✅✅✅
get_pack_info✅✅✅
search_mods✅✅✅
get_mod_info✅✅✅
resolve_dependencies✅✅✅
check_pack_compatibility✅✅✅
generate_dependency_list✅✅✅
export_standard_pack✅✅✅

All tools use cross-platform Node.js fs and path APIs. Network-dependent tools (search_mods, get_mod_info, resolve_dependencies) require internet access regardless of platform.

License

MIT

來源:README.md,提交 2c279ae

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未能啟動。

版本歷史

1
  1. v1.1.0最新Oct 23, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

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

  • 已宣告認證方式10 分

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

  • 已列出工具15 分

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

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