io.github.dcd887/mc-pack-builder

Registre officiel Autres

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

Que pouvez-vous faire avec io.github.dcd887/mc-pack-builder ?

  • 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

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package mc-pack-builder-mcp
Claude Code
claude mcp add mc-pack-builder -- npx -y mc-pack-builder-mcp@1.1.0
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mc-pack-builder": {
            "command": "npx",
            "args": [
                "-y",
                "mc-pack-builder-mcp@1.1.0"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. mc-pack-builder-mcp
  2. Tools
  3. Features
  4. Installation
  5. Configuration
  6. Usage Examples
  7. Architecture
  8. Testing
  9. Platform Compatibility
  10. License

mc-pack-builder-mcp

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
cd mc-pack-builder-mcp
npm install
npm run build
Run as standalone MCP server
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:

{
  "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
{
  "name": "create_pack",
  "arguments": {
    "pack_dir": "/path/to/MyModpack",
    "name": "My Modpack",
    "mc_version": "1.20.1",
    "loader": "fabric"
  }
}
Read pack info
{
  "name": "get_pack_info",
  "arguments": {
    "pack_dir": "/path/to/MyModpack"
  }
}
Search for a mod on Modrinth
{
  "name": "search_mods",
  "arguments": {
    "query": "sodium",
    "limit": 5
  }
}
Resolve dependencies
{
  "name": "resolve_dependencies",
  "arguments": {
    "project_id": "geckolib"
  }
}
Check pack compatibility
{
  "name": "check_pack_compatibility",
  "arguments": {
    "pack_dir": "/path/to/MyModpack",
    "mc_version": "1.20.1"
  }
}
Generate dependency list
{
  "name": "generate_dependency_list",
  "arguments": {
    "pack_dir": "/path/to/MyModpack"
  }
}
Export standard pack (release-ready)
{
  "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

npm run build
node 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

Questions fréquentes

Qu'est-ce que io.github.dcd887/mc-pack-builder ?

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

Comment installer io.github.dcd887/mc-pack-builder ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add mc-pack-builder -- npx -y mc-pack-builder-mcp@1.1.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.dcd887/mc-pack-builder ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

io.github.dcd887/mc-pack-builder est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.dcd887/mc-pack-builder ?

Il est publié par dcd887. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.