mc-pack-builder-mcp
Provides tools for searching Modrinth for mods, retrieving detailed mod metadata, and recursively resolving dependency chains via the Modrinth API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mc-pack-builder-mcp search for sodium mod on Modrinth"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Tool | Description |
| Create a new modpack directory structure (pack.mcmeta, version.txt, loader.txt, mods/) |
| Read existing modpack metadata: MC version, loader, mod count, and common issues |
| Search Modrinth for mods by keyword, returns ID, name, description, download count |
| Get detailed info about a Modrinth mod: version history, dependencies, supported MC versions |
| Recursively resolve a mod's full dependency chain (direct + indirect) |
| Check installed mods against a target MC version for known incompatibilities |
| Generate a complete dependency list for all mods in an existing pack |
| Export a clean, distribution-ready modpack: cleanup extras, unwrap nested zips, generate modlist, optional volume splitting |
Related MCP server: mc-rp-assistant-mcp
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.htmlor plainmodlist.txt, and optionally splits large packs into ≤256 MB volumes for easy distributionOffline 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 buildRun as standalone MCP server
node dist/index.jsThe 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 variableMC_PACK_BUILDER_ROOTpointing to the project root and use the variable in the config.
Configuration
本工具零配置即可用(内置默认值,任何环境开箱即用)。以下项目可通过环境变量或项目根目录 .env 文件覆盖(复制 .env.example 为 .env):
变量 | 默认值 | 说明 |
|
| Modrinth API 根地址,支持自建网关/代理 |
|
| 请求 User-Agent(Modrinth 要求标明来源) |
|
| 分卷导出时每卷的最大体积(MB) |
|
| 解压嵌套压缩包时跳过的顶层目录(逗号分隔) |
优先级:环境变量 > .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 # 环境变量配置示例
└── .gitignoreThe MCP uses the official @modelcontextprotocol/sdk v1.x with McpServer and StdioServerTransport.
Testing
npm run build
node test.jsTests create temporary directories under os.tmpdir() and clean up after themselves. No Minecraft installation is required.
Platform Compatibility
Tool | Windows | macOS | Linux |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
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
Available Tools
8 toolscheck_pack_compatibilityB
检查整合包中所有已安装模组与目标 MC 版本的兼容性,找出可能不兼容的模组
Inputs: pack_dir (required), mc_version.
create_packB
在指定目录创建一个新的 Minecraft 整合包结构(pack.mcmeta + version.txt + loader.txt + mods/ 目录)
Inputs: pack_dir (required), name, loader, mc_version, +1 more.
export_standard_packA
导出规范格式的整合包:自动清理多余文件、解压嵌套压缩包、生成 modlist、可选分卷打包。返回详细操作报告。
Inputs: source_pack_dir (required), output_dir, minecraft_dir, split_volumes, +5 more.
generate_dependency_listB
根据整合包中已安装的模组,生成完整的依赖清单(包含间接依赖的项目名和 Modrinth 链接)
Inputs: pack_dir (required).
get_mod_infoA
查询 Modrinth 上某个模组的详细信息:版本列表、依赖关系、支持的 MC 版本、下载链接
Inputs: project_id (required).
get_pack_infoA
读取已有整合包的配置信息:MC 版本、加载器、模组数量、检测常见问题
Inputs: pack_dir (required).
resolve_dependenciesA
递归解析某个模组的完整依赖链(含间接依赖),用于确认需要一起安装的模组列表
Inputs: project_id (required).
search_modsA
在 Modrinth 上搜索模组,返回 ID、名称、描述、下载量、链接等基本信息
Inputs: query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Most tools have clearly distinct resource+action targets (create_pack, search_mods, get_mod_info, export_standard_pack). The one soft overlap is resolve_dependencies vs generate_dependency_list, and get_pack_info's 'detect common issues' versus check_pack_compatibility, but descriptions distinguish them adequately.
All eight tools follow a consistent snake_case verb_noun pattern (create_pack, get_pack_info, search_mods, resolve_dependencies, check_pack_compatibility, generate_dependency_list, export_standard_pack). No mixing of conventions or vague standalone verbs.
Eight tools is well within the ideal 3-15 range and each maps to a distinct stage of the modpack workflow (create, inspect, search, resolve, verify, export). No obvious filler tools.
The surface covers creation, inspection, mod discovery, dependency resolution, compatibility checking, and export, but there is no tool to add or remove a mod from an existing pack, which is a core lifecycle operation. Export helps but agents cannot directly mutate pack contents, leaving a notable gap.
Maintenance
Related MCP Connectors
Start your own Minecraft: Java Edition server, add mods from Modrinth, and run its console.
Create, update, and publish changelog entries on your Patchlog changelog from any MCP client.
MCP registry & directory: search, find & install 31k+ MCP servers & tools. Catalog and marketplace.
Manage CloudPepper servers, Odoo instances, backups, and deployments over MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to search, read, and publish Minecraft mods on Modrinth, including creating projects and uploading jar files as new versions.7310 npm1MIT
- AlicenseBqualityBmaintenanceEnables reading, validating, and managing Minecraft resource packs, including structure checks, asset listing, pack comparison, and Modrinth queries.953 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables Minecraft modpack development by generating FTB Quests chapters and tasks, KubeJS scripts (weapons, armor, recipes), validating SNBT/config files, and providing diagnostic checks.22 npmMIT
- FlicenseAqualityCmaintenanceEnables MCP clients like Cursor to manage local CurseForge Minecraft instances by creating world-specific mod profiles, editing configs, diagnosing crashes, and applying changes on disk before launching the game.21-