MCPCraft
该项目允许LLM(大型语言模型)控制Minecraft机器人,使其能够执行复杂的任务,如收集资源、制作物品、构建结构和探索世界。
特性
- MCP集成: 将Minecraft操作作为MCP工具公开,以实现无缝的LLM控制
- 自主机器人: 用途
mineflayer和mineflayer-pathfinder用于导航和交互 - 视觉系统: 机器人周围环境的视觉感知
- 高级工艺: 递归制作,自动收集配料
- 黑暗之门: 自动下入口构建
- 热重新加载: 具有自动重新连接功能的开发模式
安装
- 克隆仓库
- 安装依赖项:
npm install配置
机器人配置在中定义 src/index.ts.修改中的设置 initBotManager():
const manager = initBotManager({
host: 'localhost',
port: 54321,
username: 'MCPBot',
version: '1.21.1'
});确保您在指定的主机和端口上运行Minecraft服务器。
用法
生产
启动MCP服务器(Claude Desktop的stdio模式):
npm start发展
开发模式使用TCP代理架构来支持热重载:
Claude Desktop Proxy Dev Server Minecraft- 启动开发服务器(在端口3007上使用热重载和可视化查看器):
npm run dev- 在Claude Desktop配置中,使用代理:
npm run proxy代理和服务器通过 .dev-port 文件。当服务器重新启动(热重新加载)时,代理会自动重新连接。
构建
将TypeScript编译为JavaScript:
npm run build测试
运行集成测试:
npm test可用工具
| 工具 | 说明 |
|---|---|
inventory | 查看机器人的库存 |
move_to | 将机器人移动到特定坐标 |
collect_block | 收集指定数量的块 |
place_block | 在某个位置放置一个块 |
craft_item | 制作物品(处理中间食谱和制作桌子) |
drop_item | 从库存中删除项目 |
smelt_item | 使用熔炉熔炼物品 |
vision | 获取机器人周围环境的视觉表示 |
build_nether_portal | 自动下入口构建 |
use_bucket | 使用水桶(水/熔岩) |
建筑
src/
├── index.ts # Production entry (stdio MCP server)
├── index_dev.ts # Development entry (TCP server + hot reload)
├── mcp_proxy.ts # Proxy for Claude Desktop (stdio TCP)
├── mcp_server.ts # MCP server implementation
├── bot_manager.ts # Bot lifecycle management
├── bot.ts # Bot configuration (legacy)
└── tools/ # MCP tool implementations
├── inventory.ts
├── move.ts
├── collect.ts
├── build.ts
├── craft.ts
├── drop.ts
├── smelt.ts
├── vision.ts
└── nether_portal.ts