Minecraft远程控制工具

一个基于MCP协议的Minecraft远程控制工具,支持连接和操作远程Minecraft服务器,提供智能导航、建造、交互和库存管理功能。

  • by hudayiarici
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 hudayiarici/mcp-minecraft-remote

使用说明

MCP Minecraft遥控器

这个项目的灵感来源于 mcp扫雷艇 通过arjunkmrm。虽然最初的版本只支持本地Minecraft服务器连接,但这个项目是从头开始创建的,以添加对连接到远程Minecraft服务器的支持。

使用MCP(模型上下文协议)的Minecraft远程控制。

特性

  • 通过AI助手连接并控制Minecraft玩家
  • 导航、挖掘、构建Minecraft世界并与之互动
  • 与服务器上的其他玩家聊天
  • 检查库存、玩家位置和服务器信息
  • 先进的运动控制,包括跳跃、潜行和冲刺
  • 实体交互,包括攻击和跟踪
  • 容器使用(箱子、炉子等)
  • 物品制作和村民交易
  • 详细的库存管理

智能功能和自主能力

  • 卡住检测和恢复: 机器人会智能地检测它在移动时是否卡住。如果无法取得进展,它将取消操作并提出解决方案(跳跃、挖掘)。
  • 死亡处理: 如果机器人在执行任务时死亡,它会立即停止,报告其死亡位置,并保护自己不进入崩溃状态。
  • 智能运动:
    • moveToPlayer:可以动态地找到并移动到特定玩家的移动位置。
    • 包括在移动前通知聊天中的玩家的公告功能。
  • 自动进食(生存): 这 eat 该工具智能地管理饥饿。如果饥饿感很强,它不会浪费食物,并会自动从库存中选择最好的食物。
  • 智能资源收集: 这 collectBlocks 该工具使用“静脉挖掘”逻辑。在砍伐树木或开采矿脉时,它会智能地检查连接的区块(优先考虑树木的垂直方向),而不是盲目地搜索世界,从而提高了效率。

安装

快速安装(推荐)

npx -y mcp-minecraft-remote@latest

按照CLI提示完成设置。

手动安装

# Install from npm
npm install -g mcp-minecraft-remote

# Or clone the repository
git clone https://github.com/hudayiarici/mcp-minecraft-remote.git
cd mcp-minecraft-remote

# Install dependencies
npm install

# Build the project
npm run build

用法

与Claude Desktop一起使用

  1. 导航到Claude Desktop配置文件:

    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. 将Minecraft Remote MCP配置添加到您的配置文件中:

{
  "mcpServers": {
    "minecraft-remote": {
      "command": "npx",
      "args": ["-y", "mcp-minecraft-remote@latest"]
    }
  }
}

如果您已全局安装:

{
  "mcpServers": {
    "minecraft-remote": {
      "command": "mcp-minecraft-remote"
    }
  }
}

如果您已在本地克隆了存储库:

{
  "mcpServers": {
    "minecraft-remote": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-minecraft-remote/build/index.js"]
    }
  }
}
  1. 保存文件并重新启动Claude Desktop
  2. 与Claude开始新的对话,并开始使用Minecraft控制命令

重要服务器要求

  • 服务器联机模式:Minecraft服务器必须具有 online-mode=false 在server.properties文件中设置。这允许机器人无需对Minecraft的会话服务器进行身份验证即可连接。
  • 如果使用具有身份验证的服务器,则在连接时需要提供有效的高级帐户凭据。

可用工具

核心功能

  • connectToServer:使用指定凭据连接到Minecraft服务器
  • disconnectFromServer:断开与Minecraft服务器的连接
  • sendChat:向服务器发送聊天消息
  • getServerInfo:获取有关已连接服务器的信息

运动

  • getPosition:获取当前玩家位置
  • moveTo:移动到特定坐标
  • moveControl:基本动作控制(前进、后退、左、右、跳跃、冲刺、潜行、停止)
  • lookAt:让玩家看向特定方向或坐标

世界互动

  • digBlock:在特定坐标处挖掘一个区块
  • placeBlock:在特定坐标处放置一个块
  • collectBlocks:使用矿脉挖掘逻辑(遵循连接的块)智能地收集特定类型的块(例如“oak_log”)。

库存管理

  • checkInventory:基本库存检查
  • inventoryDetails:获取库存物品的详细信息
  • equipItem:将库存中的物品装备到手边或护甲槽中
  • tossItem:从库存中丢弃物品

实体交互

  • getNearbyPlayers:获取附近玩家列表
  • getNearbyEntities:获取附近所有实体的列表
  • attackEntity:攻击特定实体
  • useOnEntity:在特定实体上使用保留项
  • followEntity:关注特定实体

容器交互

  • openContainer:在特定坐标处打开容器(箱子、炉子等)
  • withdrawItem:从敞口容器中取出物品
  • depositItem:将物品放入敞口容器中
  • closeContainer:关闭当前打开的容器

制作

  • getRecipes:获取可用制作食谱列表
  • craftItem:使用可用材料制作物品

交易

  • listTrades:列出附近村民的可用交易
  • tradeWithVillager:与附近的村民进行贸易

示例提示

基本控制

  • “使用用户名player1连接到play.example.com上的Minecraft服务器”
  • “我目前在游戏中的位置是什么?”
  • 将我移动到坐标x=100,y=64,z=-200
  • “让我向前走3秒钟”
  • “让我跳起来,朝那座山冲刺”

库存和物品

  • “详细检查我的库存中有什么”
  • “把我的钻石剑放在我手里”
  • “从我的库存中扔5个脏块”

块交互

  • 在坐标x=10、y=65、z=20处挖掘该块
  • 在坐标x=11,y=65,z=20处放置一块石块

实体交互

  • “附近还有其他玩家吗?”
  • “距离我20个街区内有哪些实体?”
  • “攻击ID为12345的僵尸”
  • “跟随名为Steve的玩家”

容器使用情况

  • 在坐标x=100,y=64,z=200处打开胸部
  • “从箱子里拿出10块铁锭”
  • “往箱子里放5块鹅卵石”
  • “关闭容器”

工艺与贸易

  • “我有什么木制镐的食谱?”
  • “使用我库存中的木材制作4根棍子”
  • “检查附近村民提供的交易”
  • “与村民交易,得到10颗祖母绿”

沟通

  • “向聊天室发送问候消息”
  • “告诉大家我找到了钻石”

需求

  • Node.js 18+
  • 支持MCP的AI助手(如Claude)
  • Minecraft Java版服务器(1.8或更高版本)

备注:此工具已经过测试和验证,可以专门用于原版Minecraft 1.21。虽然它可以与其他版本或改装服务器一起使用,但不保证兼容性。

许可证

麻省理工学院