Skip to main content
Glama
mc-rp-assistant-mcp

mc-rp-assistant-mcp

mc-rp-assistant-mcp

M8ven Verified

MCP server for Minecraft resource pack analysis, validation, and management. Reads pack.mcmeta, validates structure, lists assets, compares packs, and queries Modrinth.

Tools

Tool

Description

read_packmeta

Read pack.mcmeta from a resource pack directory or .zip file

validate_rp_structure

Validate a resource pack's structure and flag issues (missing files, format mismatches, large icons, etc.)

list_rp_assets

List all asset paths (textures/models/sounds/lang) in a pack. Supports both directories and .zip files

compare_rpacks

Compare two resource packs and report added, removed, and changed asset files

search_rp_on_modrinth

Search Modrinth for resource packs by name or tag. Returns up to limit results

get_rp_info

Get detailed info about a Modrinth resource pack by its slug or project ID

validate_textures

Validate textures for size limits (>2MB), naming conventions (lowercase, no spaces), and pack icon size

analyze_lang_files

Analyze language files (.lang) and detect missing translations across languages

compare_rpacks_diff

Compare two resource packs with detailed per-file info including file sizes for added/removed/changed assets

Related MCP server: mc-pack-builder-mcp

Exported Functions

  • readPackMetaExport(packPath) — Read pack.mcmeta

  • validateRpStructureExport(packPath, mcVersion?) — Validate pack structure

  • listRpAssetsExport(packPath, limit?) — List asset files

  • compareRpacksExport(oldPackPath, newPackPath) — Compare two packs

  • searchRpOnModrinthExport(query, limit?) — Search Modrinth

  • getRpInfoExport(slugOrId) — Get pack info from Modrinth

  • validateTexturesExport(packPath) — Validate textures

  • analyzeLangFilesExport(packPath) — Analyze language files

  • compareRpacksDiffExport(oldPackPath, newPackPath) — Detailed pack comparison

MCP Client Configuration

Add to your MCP client config (e.g., Trae settings.json or MCP CLI config):

{
  "mcpServers": {
    "mc-rp-assistant": {
      "command": "node",
      "args": ["${workspaceFolder}/dist/index.js"]
    }
  }
}

Path note: ${workspaceFolder} resolves to the project root in Trae/VS Code. If using another editor, replace with the absolute path, e.g. ["C:/Users/xxx/Desktop/mc-rp-assistant-mcp/dist/index.js"].

Configuration

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

变量

默认值

说明

RP_ASSISTANT_MODRINTH_API_BASE

https://api.modrinth.com/v2

Modrinth API 根地址,支持自建网关/代理

RP_ASSISTANT_USER_AGENT

mc-rp-assistant-mcp/1.0

请求 User-Agent(Modrinth 要求标明来源)

RP_ASSISTANT_TEXTURE_MAX_MB

2

单张纹理大小上限(MB),超过则标记为大纹理

RP_ASSISTANT_PACK_ICON_MAX_KB

50

资源包图标 pack.png 大小上限(KB)

RP_ASSISTANT_DEFAULT_SEARCH_LIMIT

10

Modrinth 资源包搜索默认返回条数

RP_ASSISTANT_MAX_SEARCH_RESULTS

50

Modrinth 搜索返回条数硬上限

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

扩展默认配置:编辑 src/rp-config.json(构建后为 dist/rp-config.json)可调整搜索上限、pack.png 大小阈值与 MC 版本 → pack_format 映射,无需改代码。

Requirements

  • Node.js 18+

  • @modelcontextprotocol/sdk, zod, adm-zip

  • adm-zip is required for .zip / .mcpkg resource pack support — included as a dependency

Development

npm run build   # Compile TypeScript
npm run test:unit  # Run unit tests
npm test        # Run all tests

Testing

npm run build
npm test

All unit tests are offline except searchRpOnModrinth and getRpInfo which gracefully return empty results when no network is available.

Platform Compatibility

Tool

Windows

macOS

Linux

read_packmeta

✅

✅

✅

validate_rp_structure

✅

✅

✅

list_rp_assets

✅

✅

✅

compare_rpacks

✅

✅

✅

search_rp_on_modrinth

✅

✅

✅

get_rp_info

✅

✅

✅

validate_textures

✅

✅

✅

analyze_lang_files

✅

✅

✅

compare_rpacks_diff

✅

✅

✅

All tools use cross-platform Node.js fs and path APIs. .zip support requires adm-zip. Network-dependent tools (search_rp_on_modrinth, get_rp_info) work on all platforms when online; they return empty results gracefully when offline.

Requirements

  • Node.js 18+

  • @modelcontextprotocol/sdk, zod, adm-zip

License

MIT

Available Tools

9 tools
analyze_lang_filesA

Analyze language files (.lang) in a resource pack and detect missing translations across languages.

Inputs: packPath (required).

compare_rpacksB

Compare two resource packs and report added, removed, and changed asset files.

Inputs: newPackPath (required), oldPackPath (required).

compare_rpacks_diffB

Compare two resource packs with detailed per-file information including file sizes for added/removed/changed assets.

Inputs: newPackPath (required), oldPackPath (required).

get_rp_infoB

Get detailed info about a Modrinth resource pack by its slug or project ID.

Inputs: slugOrId (required).

list_rp_assetsB

List all asset paths (textures, models, sounds, lang) in a resource pack. Supports both directories and .zip files.

Inputs: packPath (required), limit.

read_packmetaA

Read pack.mcmeta metadata from a resource pack directory or zip file.

Inputs: packPath (required).

search_rp_on_modrinthC

Search Modrinth for resource packs by name or tag. Returns up to limit results.

Inputs: query (required), limit.

validate_rp_structureB

Validate a resource pack's structure and flag issues (missing files, format mismatches, large icons, etc.).

Inputs: packPath (required), mcVersion.

validate_texturesB

Validate textures in a resource pack for size limits (>2MB), naming conventions (lowercase, no spaces), and pack icon size.

Inputs: packPath (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 9 tools

    Disambiguation3/5

    Most tools target distinct operations, but compare_rpacks and compare_rpacks_diff overlap almost entirely (the latter mainly adds per-file sizes), and validate_rp_structure vs validate_textures both cover pack icon/texture size concerns. Descriptions hint at differences but do not clearly define when to choose each.

    Naming Consistency4/5

    Names overwhelmingly follow a snake_case verb_noun pattern, but domain abbreviations are inconsistent: rp, rpacks, packmeta, and lang appear without a single standard. Still readable and mostly predictable.

    Tool Count5/5

    Nine tools is well within the appropriate range for a resource-pack analysis assistant, with each major capability represented. There is no significant bloat or extreme thinness.

    Completeness4/5

    The set covers metadata reading, structure validation, asset listing, pack comparison, texture validation, language analysis, and Modrinth lookup. Minor gaps remain around model/sound validation or pack modification, but core analysis workflows are covered.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Enables creating Minecraft modpack structures, searching Modrinth mods, resolving dependencies, and checking compatibility.
      8
      48 npm
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables reading, validating, comparing, and cleaning up Minecraft mod configuration files in .cfg, .toml, and .json formats.
      6
      51 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables Minecraft modpack development by generating FTB Quests chapters and tasks, KubeJS scripts (weapons, armor, recipes), validating SNBT/config files, and providing diagnostic checks.
      22 npm
      MIT