使用说明

项目简介

本项目 'Minecraft LLM Bot MCP服务器' 是一个 Minecraft 游戏的机器人程序,它实现了 Model Context Protocol (MCP) 服务器,可以与支持 MCP 协议的 LLM 客户端(如 Claude Desktop)连接,从而让 LLM 能够理解游戏环境并控制 Minecraft 角色进行各种操作。

主要功能点

  • 角色控制: 提供移动、跳跃、转向等角色基本动作控制。
  • 物品管理: 支持查看物品栏、查找物品、装备物品等物品操作。
  • 方块互动: 允许放置方块、挖掘方块、查询方块信息、寻找特定方块。
  • 实体互动: 能够查找特定类型的实体(生物或玩家)。
  • 游戏内通信: 支持发送游戏内聊天消息。

安装步骤

  1. 安装 Node.js: 确保你的电脑上已安装 Node.js 运行环境。
  2. 安装 Claude Desktop: 下载并安装 Claude Desktop 应用程序。
  3. 启动 Minecraft 游戏: 运行 Minecraft Java Edition 游戏,创建一个单人游戏世界并开启局域网 (ESC -> Open to LAN)。

服务器配置

要让 Claude Desktop 连接到 Minecraft MCP 服务器,你需要修改 Claude Desktop 的配置文件 'claude_desktop_config.json'。

  1. 打开 Claude Desktop 配置文件: 在 Claude Desktop 中,点击 'File -> Settings -> Developer -> Edit Config',这将打开 Claude Desktop 的安装目录,找到 'claude_desktop_config.json' 文件。

  2. 编辑配置文件: 将以下 JSON 代码添加到 'claude_desktop_config.json' 文件的 'mcpServers' 字段中。如果 'mcpServers' 字段不存在,请手动创建。

    {
      "mcpServers": {
        "minecraft": {  // 服务器名称,可以自定义,Claude Desktop 中会以此名称识别
          "command": "npx", // 启动命令,npx 用于执行 npm 包
          "args": [      // 启动参数
            "-y",        // 自动确认安装 npm 包
            "github:yuniko-software/minecraft-mcp-server", // 使用 GitHub 仓库地址,npx 会自动下载并执行
            "--host",    // Minecraft 服务器主机地址
            "localhost", // 默认连接本地 Minecraft 服务
            "--port",    // Minecraft 服务器端口
            "25565",     // 默认 Minecraft 端口
            "--username",// 机器人用户名
            "ClaudeBot"  // 机器人游戏内显示的用户名
          ]
        }
      }
    }

    注意:

    • 确保 '--port' 和 '--host' 参数与你的 Minecraft 局域网设置一致。
    • 修改配置文件后,必须完全重启 Claude Desktop 应用 (关闭系统托盘中的 Claude 图标)。

基本使用方法

  1. 启动 Minecraft 游戏并开启局域网
  2. 启动 Claude Desktop 应用程序
  3. 在 Claude Desktop 中与 Claude 对话。 当你需要 Claude 控制 Minecraft 机器人时,在对话中 明确提及 Minecraft。 例如,你可以说 "让机器人在 Minecraft 里挖一些石头" 或 "Minecraft 帮我看看附近有什么怪物"。
  4. 权限请求: Claude 首次尝试使用 MCP 服务器时,会弹出权限请求,请 允许 连接。
  5. 命令执行: 成功连接后,Claude 就可以通过你提供的指令控制 Minecraft 机器人了。你可以使用 "可用命令" 中列出的指令来指示机器人执行各种任务。

可用命令

连接到 Minecraft 服务器后,Claude 可以使用以下命令:

移动

  • 'get-position' - 获取机器人当前位置
  • 'move-to-position' - 移动到指定坐标 (x, y, z)
  • 'look-at' - 让机器人看向指定坐标 (x, y, z)
  • 'jump' - 让机器人跳跃
  • 'move-in-direction' - 向指定方向 (forward, back, left, right) 移动一段时间

物品栏

  • 'list-inventory' - 列出机器人背包中的所有物品
  • 'find-item' - 在背包中查找特定物品
  • 'equip-item' - 装备特定物品

方块互动

  • 'place-block' - 在指定坐标 (x, y, z) 放置方块
  • 'dig-block' - 挖掘指定坐标 (x, y, z) 的方块
  • 'get-block-info' - 获取指定坐标 (x, y, z) 方块的信息
  • 'find-block' - 查找最近的特定类型方块

实体互动

  • 'find-entity' - 查找最近的特定类型实体 (生物或玩家)

通信

  • 'send-chat' - 在游戏中发送聊天消息

信息

分类

AI与计算