Minecraft LLM控制服务器

MCPCraft是一个基于MCP协议的服务器,通过Mineflayer实现大型语言模型对Minecraft游戏内机器人的控制,支持资源收集、物品制作、建筑构建等复杂任务。

  • by arthur-lemaire
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 arthur-lemaire/MCPCraft

使用说明

MCPCraft

MCPCraft是一个 模型上下文协议(MCP) 使用以下方式与Minecraft机器人交互的服务器 Mineflayer.

该项目允许LLM(大型语言模型)控制Minecraft机器人,使其能够执行复杂的任务,如收集资源、制作物品、构建结构和探索世界。

特性

  • MCP集成: 将Minecraft操作作为MCP工具公开,以实现无缝的LLM控制
  • 自主机器人: 用途 mineflayer 和 mineflayer-pathfinder 用于导航和交互
  • 视觉系统: 机器人周围环境的视觉感知
  • 高级工艺: 递归制作,自动收集配料
  • 黑暗之门: 自动下入口构建
  • 热重新加载: 具有自动重新连接功能的开发模式

安装

  1. 克隆仓库
  2. 安装依赖项:
    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 <--stdio--> Proxy <--TCP--> Dev Server <--> Minecraft
  1. 启动开发服务器(在端口3007上使用热重载和可视化查看器):

    npm run dev
    
  2. 在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

许可证

麻省理工学院