Skip to main content
Glama
Asakitan
by Asakitan

MC-World-MCP

用于操作 Minecraft 服务器目录的纯离线 MCP 工具。

此 MCP 特意不使用 RCON、套接字、在线玩家查询或服务器启动/停止控制。它仅读取和写入本地文件,例如 level.dat、数据包、结构模板、日志和 Anvil 区域文件。

完整的写入路径针对 DataVersion 为 3465 的 Java 版 / Arclight 1.20.1 世界。其他 Java Anvil 世界会被检测并暴露以进行尽力而为的读取,但除非版本适配器将其标记为完全支持,否则拒绝写入世界。Bedrock LevelDB 世界会被检测为不支持。

运行

当此项目位于 E:/VC/mc-world-mcp 且服务器工作区位于 E:/VC 下两级时,工作区的 .vscode/mcp.json 会通过以下方式启动服务器:

{
  "command": "python",
  "args": ["-m", "mc_world_mcp.server"],
  "env": {
    "PYTHONPATH": "${workspaceFolder}/../../mc-world-mcp/src",
    "MC_SERVER_ROOT": "${workspaceFolder}"
  }
}

MC_SERVER_ROOT 应指向包含 server.properties 和 world/ 的 Arclight 服务器根目录。如果省略,服务器将首先尝试当前工作目录。

世界选择遵循 server.properties 中的 level-name,因此使用 level-name=world_regen_source 的服务器将通过该目录进行操作,而不是硬编码的 world/。设置 MC_WORLD_NAME 可显式覆盖此设置。

Related MCP server: ellmos-filecommander-mcp

安全性

所有写入工具:

  • 拒绝 MC_SERVER_ROOT 之外的路径

  • 当 java 或 javaw 进程正在运行时拒绝写入

  • 除非所选世界为 DataVersion 3465,否则拒绝 Java 世界写入

  • 在 backup/mc_world_mcp/<timestamp>/ 下备份每个修改过的文件

  • 写入一个描述已更改文件的 manifest.json

服务器运行时允许使用读取工具。

工具组

  • 服务器/文件:摘要、安全文件读/写、日志、版本/平台检测

  • NBT:level.dat、玩家数据、世界数据、结构 NBT

  • 数据包:文件夹和 zip 数据包列表、验证、搜索、读取、写入

  • 区域:扫描、检查区块、获取/读取/设置/填充/替换方块、方块状态字符串

  • 世界诊断:维度、世界覆盖范围、区块调色板、日志问题分组

  • 世界数据:方块实体、外部实体区域、POI 区域、生物群系框、高度图清除、区块修剪

  • 模板:列出/读取/写入 .nbt 结构模板、导出/放置带有方块实体和尽力而为实体的方块

  • 安全性:离线检查、备份列表、备份恢复

Related MCP Connectors

Related MCP Servers