本项目是一个由大型语言模型和 Mineflayer API 驱动的 Minecraft 机器人。该机器人通过 模型上下文协议(MCP),能让 Claude 和其他支持的模型控制一个 Minecraft 角色。
此机器人设计用于通过模型上下文协议(MCP)与 Claude Desktop 一起使用。使用前,请确保满足以下先决条件:
创建一个单人世界并将其开放到 LAN(ESC -> 打开 LAN 游戏)。机器人将尝试连接到端口25565和主机名localhost。这些参数可以在下一步配置在claude_desktop_config.json中。
确保 Claude Desktop 已安装。打开文件 -> 设置 -> 开发者 -> 编辑配置,它应该会打开安装目录。找到名为claude_desktop_config.json的文件并插入以下代码:
{
"mcpServers": {
"minecraft": {
"command": "npx",
"args": [
"-y",
"github:yuniko-software/minecraft-mcp-server",
"--host",
"localhost",
"--port",
"25565",
"--username",
"ClaudeBot"
]
}
}
}
检查是否正确使用了--port和--host参数。确保完全重新启动 Claude Desktop 应用程序(应该在操作系统托盘中关闭)。
确保 Minecraft 游戏正在运行,并且世界已开放到 LAN。然后启动 Claude Desktop 应用程序,机器人应该会加入游戏。Claude Desktop 启动 MCP 服务器可能需要一些时间。服务器成功启动的标志是聊天旁边出现了一个锤子图标。
你可以通过任何活动的 Claude Desktop 聊天为机器人发送命令。你还可以上传建筑物的图像并让机器人建造它们 😁 别忘了提到机器人应该在 Minecraft 中执行某些操作,因为这是运行 MCP 服务器的触发器。它会询问你的权限。使用 Claude 3.7 Sonnet 可能会得到一些有趣的结果。机器人代理会非常聪明 🫡
示例用法:共享 Claude 聊天
⚠️ 重要兼容性警告
截至 2025 年 3 月 25 日,Minecraft 1.21.5 刚刚发布。此机器人目前与 Minecraft 1.21.5 不兼容。请使用 Minecraft 1.21.4 直到我们发布支持 1.21.5 的更新。
连接到 Minecraft 服务器后,Claude 可以使用以下命令:
get-position - 获取机器人当前位置move-to-position - 移动到特定坐标look-at - 使机器人看向特定坐标jump - 让机器人跳跃move-in-direction - 向特定方向移动一段持续时间list-inventory - 列出机器人存货中的所有物品find-item - 在存货中查找特定物品equip-item - 装备特定物品place-block - 在指定坐标放置方块dig-block - 在指定坐标挖掘方块break-block - 破坏指定坐标方块get-block - 获取指定坐标方块的信息help - 显示可用命令的列表stop - 停止机器人欢迎提交拉取请求或打开问题以进行改进。以下是一些可以改进的领域: