mc-pack-builder-mcp
mc-pack-builder-mcp
用于 Minecraft 整合包构建的 MCP 服务器。创建整合包结构、在 Modrinth 上搜索模组、解析依赖并检查兼容性。
工具
工具 | 描述 |
| 创建新的整合包目录结构(pack.mcmeta、version.txt、loader.txt、mods/) |
| 读取现有整合包元数据:MC 版本、加载器、模组数量及常见问题 |
| 按关键词在 Modrinth 上搜索模组,返回 ID、名称、描述、下载次数 |
| 获取 Modrinth 模组的详细信息:版本历史、依赖项、支持的 MC 版本 |
| 递归解析模组的完整依赖链(直接 + 间接) |
| 检查已安装模组与目标 MC 版本的已知不兼容性 |
| 为现有整合包中的所有模组生成完整的依赖列表 |
Related MCP server: mc-rp-assistant-mcp
功能
整合包结构创建 — 生成包含所有必需文件的标准整合包目录
Modrinth 集成 — 直接从 Modrinth API 搜索和查询模组元数据
依赖解析 — 跟踪完整依赖树以确保满足所有要求
兼容性检查 — 检测已知冲突(例如 OptiFine 与 Fabric、Sodium 与 Embeddium)
离线操作 — 所有本地整合包工具无需网络即可工作;只有搜索/信息工具需要 Modrinth
安装
先决条件
Node.js 18+
npm
构建
cd mc-pack-builder-mcp
npm install
npm run build作为独立 MCP 服务器运行
node dist/index.js服务器通过 stdio(JSON-RPC 2.0)进行通信。它可以被任何兼容 MCP 的客户端使用。
MCP 客户端配置
添加到您的 MCP 客户端配置:
{
"mcpServers": {
"mc-pack-builder": {
"command": "node",
"args": ["<path/to/mc-pack-builder-mcp>/dist/index.js"]
}
}
}使用示例
创建新的整合包
{
"name": "create_pack",
"arguments": {
"pack_dir": "/path/to/MyModpack",
"name": "My Modpack",
"mc_version": "1.20.1",
"loader": "fabric"
}
}在 Modrinth 上搜索模组
{
"name": "search_mods",
"arguments": {
"query": "sodium",
"limit": 5
}
}解析依赖
{
"name": "resolve_dependencies",
"arguments": {
"project_id": "geckolib"
}
}检查整合包兼容性
{
"name": "check_pack_compatibility",
"arguments": {
"pack_dir": "/path/to/MyModpack",
"mc_version": "1.20.1"
}
}架构
mc-pack-builder-mcp/
├── src/
│ └── index.ts # MCP server + all tool implementations
├── dist/ # Compiled JavaScript (output of tsc)
├── __tests__/
│ └── unit.test.ts # Unit tests (offline)
├── package.json # Node.js dependencies (@modelcontextprotocol/sdk, zod)
├── tsconfig.json # TypeScript config (CommonJS output)
├── test.js # Integration test runner
├── test_logs/ # Test output logs (gitignored)
└── .gitignore该 MCP 使用官方 @modelcontextprotocol/sdk v1.x,包含 McpServer 和 StdioServerTransport。
测试
npm run build
node test.js测试在 os.tmpdir() 下创建临时目录,并在测试后自行清理。无需安装 Minecraft。
平台兼容性
工具 | Windows | macOS | Linux |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
| ✅ | ✅ | ✅ |
所有工具均使用跨平台的 Node.js fs 和 path API。依赖网络的工具(search_mods、get_mod_info、resolve_dependencies)无论平台如何都需要互联网访问。
许可证
MIT
Available Tools
8 toolscheck_pack_compatibilityB
检查整合包中所有已安装模组与目标 MC 版本的兼容性,找出可能不兼容的模组
| Name | Required | Description | Default |
|---|---|---|---|
| pack_dir | Yes | 整合包根目录路径 | |
| mc_version | No | 目标 MC 版本,如不填则读取 version.txt |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It only states the check and outcome, without disclosing whether it reads or modifies files, requires network access, how it determines incompatibility, or how errors are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or repetition. Every part of the sentence contributes to the stated purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter check with full schema coverage, the description states the purpose and implies the result: potentially incompatible mods. However, with no annotations and no output schema, it leaves the agent unsure about side effects, scope, and return format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents pack_dir and the optional mc_version fallback to version.txt. The description adds no parameter syntax or meaning beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: check compatibility of all installed mods in the modpack against a target MC version and find potentially incompatible mods. It is clearly distinct from sibling tools like get_pack_info or resolve_dependencies, but does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when validating pack compatibility, but provides no explicit when-to-use guidance, prerequisites, or alternatives such as resolve_dependencies or generate_dependency_list. Usage is inferred rather than instructed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_packB
在指定目录创建一个新的 Minecraft 整合包结构(pack.mcmeta + version.txt + loader.txt + mods/ 目录)
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 整合包名称 | |
| loader | No | 加载器类型 | |
| pack_dir | Yes | 整合包根目录路径,例如 C:/Users/xxx/Desktop/MyModpack | |
| mc_version | No | MC 版本,如 1.20.1 | |
| pack_format | No | pack.mcmeta 的 pack_format 数字 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses which files and folders are created, but omits critical mutation behavior such as whether existing files are overwritten, whether pack_dir must already exist or be empty, and what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and the artifact list, with no redundant or filler text. It is appropriately sized for the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter creation tool with full schema coverage and no output schema, the description provides the essential purpose and created artifacts. However, with no annotations, it leaves important preconditions and overwrite behavior unanswered, so it is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all five parameters, including the pack_dir example and the loader enum. The description only implies pack_dir via '指定目录' and adds no extra parameter syntax or default guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('创建') and resource ('Minecraft 整合包结构'), and lists the exact artifacts produced (pack.mcmeta, version.txt, loader.txt, mods/). The creation operation is naturally distinct from sibling read/search/export tools, though the description does not explicitly name a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use this when creating a new modpack in a specified directory. However, it gives no when-not guidance, no prerequisites such as directory emptiness, and does not point to siblings like get_pack_info or export_standard_pack for other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_standard_packA
导出规范格式的整合包:自动清理多余文件、解压嵌套压缩包、生成 modlist、可选分卷打包。返回详细操作报告。
| Name | Required | Description | Default |
|---|---|---|---|
| output_dir | No | 输出目录路径;不填则自动生成同名 _ready 子目录 | |
| minecraft_dir | No | .minecraft 根目录路径,用于 clean_minecraft_extra | |
| split_volumes | No | 是否将最终包按卷拆分(超大整合包时使用,每卷不超过 volume_max_mb MB) | |
| unwrap_nested | No | 是否解压顶层的嵌套 .zip 文件(如附加包、子包)并删除原压缩包 | |
| volume_max_mb | No | 每个卷的最大体积(MB),默认 256 | |
| modlist_format | No | modlist 格式,默认 html | |
| source_pack_dir | Yes | 源整合包根目录路径,如 C:/Users/xxx/Desktop/MyModpack | |
| generate_modlist | No | 是否生成 modlist.html(或 modlist.txt) | |
| clean_minecraft_extra | No | 是否清理 .minecraft 中的 logs/crash-reports 等垃圾目录,需配合 minecraft_dir 使用 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does useful work by disclosing automated cleanup, nested archive extraction, modlist generation, optional splitting, and a detailed operation report. However, it does not explicitly warn that cleanup or unwrapping can delete files, nor does it clarify whether the source pack is modified or how existing output is handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact sentence that front-loads the main action and then lists the key optional behaviors. It contains no filler and is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With nine parameters but full schema descriptions, the agent has enough structured detail to call the tool correctly. The description also states that a detailed operation report is returned, although it could more explicitly cover destructive side effects and preconditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so every parameter already has structured documentation. The description summarizes optional behaviors such as volume splitting and modlist generation but adds no syntax, default, or edge-case meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: exporting a standardized modpack. It also names the core operations (cleanup, nested archive extraction, modlist generation, optional volume splitting), which clearly distinguishes it from create_pack and the read-only sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The export purpose is inferable from the name and description, but there is no explicit guidance on when to choose this tool over create_pack or other siblings, nor any stated preconditions. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_dependency_listB
根据整合包中已安装的模组,生成完整的依赖清单(包含间接依赖的项目名和 Modrinth 链接)
| Name | Required | Description | Default |
|---|---|---|---|
| pack_dir | Yes | 整合包根目录路径 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that indirect dependencies and Modrinth links are included, but says nothing about whether it queries the network, whether it is read-only, whether it writes a file to pack_dir, rate limits, or failure behavior for unresolved dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler, and the parenthetical enumerates the notable output contents. It is efficient, though slightly under-specified rather than trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should describe the return shape; it names two fields (project names, Modrinth links) but not the overall structure or format, and it is ambiguous whether the list is written to disk or returned. For a generation tool this leaves an important gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter whose schema description already covers it at 100%. The description adds only marginal context ('已安装的模组' as the source of truth), and does not clarify path format, relative vs absolute, or whether the directory must contain a manifest.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (生成/generate) and resource (依赖清单/dependency list) and clarifies the input source (整合包中已安装的模组). It does not, however, distinguish this tool from the sibling resolve_dependencies, which likely has overlapping purpose, so the agent cannot route between the two on the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '根据整合包中已安装的模组' implies this should be run against an existing pack with mods already present, which hints at usage context. But there is no explicit when-to-use versus resolve_dependencies or check_pack_compatibility, and no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mod_infoA
查询 Modrinth 上某个模组的详细信息:版本列表、依赖关系、支持的 MC 版本、下载链接
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Modrinth 项目 ID 或 slug(如 sodium、fabric-api) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. '查询' implies a read-only operation and the return fields are enumerated, which helps, but there is nothing about behavior for invalid/missing project IDs, response size (version lists can be large), or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with zero padding, front-loaded with the verb and resource, followed by a tight enumeration of the return fields. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly compensates by listing the data categories returned (versions, dependencies, MC versions, download links). For a simple one-parameter read tool this is nearly complete; only error handling is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter with 100% schema coverage, and the schema already documents that it accepts a Modrinth project ID or slug with examples. The description adds no additional meaning about accepted formats or fallback behavior, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (查询/query) and resource (mod on Modrinth) and enumerates what is returned: version list, dependencies, supported MC versions, download links. That distinguishes it well from search_mods and get_pack_info, though siblings are not named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the required project_id signals that an agent must already know a project, which distinguishes it from search_mods, but the description never says 'use this when you have an ID, use search_mods to find one'. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pack_infoA
读取已有整合包的配置信息:MC 版本、加载器、模组数量、检测常见问题
| Name | Required | Description | Default |
|---|---|---|---|
| pack_dir | Yes | 整合包根目录路径 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the full burden. '读取' plus the diagnostic clause (检测常见问题) signals a non-mutating inspection operation, which is useful, but it never states read-only status explicitly, behavior on an invalid path, or how problems are reported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence that leads with the operation and then lists the outputs; no filler. It could be marginally better structured by separating the diagnostic clause from the field list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool this is nearly complete: the description enumerates the returned content, which compensates for the absent output schema. Only the lack of any error/permission behavior keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is only one parameter (pack_dir) and schema description coverage is 100%, with the schema documenting it as 整合包根目录路径. The description adds no further parameter-level meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (读取整合包配置信息) and enumerates the returned data (MC 版本、加载器、模组数量、常见问题检测). It is clearly distinguishable from siblings like create_pack or check_pack_compatibility, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 已有整合包 implies it operates on an existing pack, so the usage context is implied. But there is no explicit when-to-use vs. when-not guidance and no routing to alternatives such as check_pack_compatibility, even though 'detect common problems' overlaps with that sibling's likely scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_dependenciesA
递归解析某个模组的完整依赖链(含间接依赖),用于确认需要一起安装的模组列表
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Modrinth 项目 ID 或 slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the key behavioral trait that resolution is recursive and includes indirect dependencies, which is genuinely useful. It does not state that the operation is read-only, how cycles or unresolvable dependencies are handled, or what the caller receives.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the recursive-resolution constraint front-loaded and the purpose clause trailing. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers intent but not the return shape, whether it is a flat mod list or a tree with nesting. No annotations exist to cover the safety profile either. Adequate but with a real gap on the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already documents 'Modrinth 项目 ID 或 slug'. The description adds no further parameter guidance, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: recursively resolves a mod's full dependency chain including indirect dependencies. That is much clearer than a name restatement. It does not, however, differentiate itself from the sibling generate_dependency_list, which sounds like it covers adjacent ground.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase '用于确认需要一起安装的模组列表' implies the usage context: pre-install verification. But it gives no explicit when-to-use versus generate_dependency_list or check_pack_compatibility, and no prerequisites such as needing a valid project_id from search_mods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_modsA
在 Modrinth 上搜索模组,返回 ID、名称、描述、下载量、链接等基本信息
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 返回数量上限,默认 10 | |
| query | Yes | 搜索关键词,如 sodium、fabric-api、geckolib |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does usefully disclose the return payload (ID, name, description, download count, links), but says nothing about ordering, pagination beyond 'limit', rate limits, or whether results are cached — meaningful gaps for an unannotated network search.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the action and source, then lists return fields. Nothing is wasted, though it could have used the spare room for routing guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter search with full schema coverage and no output schema, listing the returned fields is exactly the compensating detail an agent needs. Only ranking/sort behavior and result-count semantics are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters (query, limit) are documented in the schema with examples and a default. The description adds no syntax, matching, or sort semantics beyond what the schema already provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('搜索模组' on Modrinth) and enumerates the returned fields. It implicitly separates itself from get_mod_info (search by keyword vs. fetch a known mod), though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the keyword-based query parameter and the schema's example keywords suggest searching when you don't already know the ID, but the description never states when to prefer get_mod_info or other siblings, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v1.1.0- First observed
check_pack_compatibility - First observed
create_pack - First observed
export_standard_pack - First observed
generate_dependency_list - First observed
get_mod_info - First observed
get_pack_info - First observed
resolve_dependencies - First observed
search_mods
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
- AlicenseAqualityAmaintenanceEnables AI agents to search, read, and publish Minecraft mods on Modrinth, including creating projects and uploading jar files as new versions.720 npmMIT
- AlicenseBqualityBmaintenanceEnables reading, validating, and managing Minecraft resource packs, including structure checks, asset listing, pack comparison, and Modrinth queries.90MIT
- 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.346 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-