Minecraft MCP服务器

一个基于大型语言模型和Mineflayer API的Minecraft机器人,使用模型上下文协议(MCP)让Claude等模型控制Minecraft角色。

作者 By yuniko-software
本地部署 Minecraft机器人 大型语言模型
GitHub

Minecraft MCP服务器

CI Contribution Welcome Latest Release image


[!重要] 目前支持Minecraft 1.21.11版本。较新版本可能无法与此MCP服务器配合使用,但我们将尽快添加支持。

https://github.com/user-attachments/assets/6f17f329-3991-4bc7-badd-7cde9aacb92f

一个由大型语言模型和 多层API。此机器人使用 模型上下文协议 (MCP)使Claude和其他支持的模型能够控制Minecraft角色。

mcp-minecraft MCP server

先决条件

  • Git
  • Node.js(>=20.10.0)
  • 正在运行的Minecraft游戏(以下设置已使用Microsoft game Pass中包含的Minecraft 1.21.8 Java版进行了测试)
  • MCP兼容客户端。将使用Claude Desktop作为示例,但也支持其他MCP客户端

入门

该机器人旨在通过模型上下文协议(MCP)与Claude Desktop一起使用。

运行Minecraft

创建一个单人世界并将其打开到局域网(ESC -> Open to LAN).Bot将尝试使用端口连接 25565 和主机名 localhost这些参数可以在中配置 claude_desktop_config.json 下一步。

MCP配置

一定要 克劳德桌面 已安装。打开 File -> Settings -> Developer -> Edit Config。它应该打开安装目录。查找具有名称的文件 claude_desktop_config.json 并插入以下代码:

JSON``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17{ “mcpServers”: { “minecraft”: { “command”: “npx”, “args”: [ “-y”, “github:yuniko-software/minecraft-mcp-server”, “—host”, “localhost”, “—port”, “25565”, “—username”, “ClaudeBot” ] } } }


仔细检查一下 `--port` 和 `--host` 使用了参数。确保完全重新启动Claude Desktop应用程序(应在操作系统托盘中关闭)。


## 跑步


确保Minecraft游戏正在运行,并且世界对局域网开放。然后启动Claude Desktop应用程序,机器人应该加入游戏。


**Claude Desktop可能需要一些时间来启动MCP服务器**。服务器已成功启动的标记:


![image](https://gips0.baidu.com/it/u=2896371241,2121004955&fm=3081&app=3081&f=PNG?w=885&h=670)
您可以通过任何活动的Claude Desktop聊天向机器人发出任何命令。您还可以上传建筑物的图像,并要求机器人建造它们😁


别忘了在提示中提到机器人应该在Minecraft中做点什么。因为说这是运行MCP服务器的触发器。它将请求您的许可。


使用Claude Sonnet可以给你一些有趣的结果。机器人代理会非常聪明🫡


示例用法: [共享克劳德聊天](https://claude.ai/share/535d5f69-f102-4cdb-9801-f74ea5709c0b)


## 可用命令


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


### 运动


- `get-position` -获取机器人的当前位置
- `move-to-position` -移动到特定坐标
- `look-at` -让机器人查看特定的坐标
- `jump` -让机器人跳跃
- `move-in-direction` -在特定方向上移动一段时间


### 航班


- `fly-to` -让机器人直接飞到特定坐标


### 库存


- `list-inventory` -列出机器人库存中的所有项目
- `find-item` -在库存中查找特定项目
- `equip-item` -装备特定物品


### 块交互


- `place-block` -在指定坐标处放置块
- `dig-block` -在指定坐标处挖掘一个块
- `get-block-info` -获取有关块的信息
- `find-blocks` -查找一个或多个特定类型的附近街区


### 熔炉


- `smelt-item` -使用炉状块冶炼物品


### 实体交互


- `find-entity` -查找特定类型的最近实体


### 沟通


- `send-chat` -在游戏中发送聊天消息
- `read-chat` -获取玩家最近的聊天信息


### 游戏状态


- `detect-gamemode` -检测游戏中的游戏模式


## 贡献


请随时提交拉取请求或开放问题以进行改进。非常感谢所有重构提交、功能和测试贡献、问题和讨论!


要开始贡献,请参阅 贡献.md.



---


⭐ 如果你觉得这个项目有用,请考虑在GitHub上给它一颗星! ⭐


您的支持有助于使其他可能从中受益的人更容易看到这个项目。