Skip to main content
Glama

MinecraftBot

基于 Mineflayer、MCP 和可验证 Skill 状态机的 Minecraft Java 版自主玩家。它以独立游戏角色加入服务器,主要依靠协议级结构化数据感知世界,并能够导航、采集、合成、战斗、建造和持续执行长任务。

推荐配合独立的 Demiurge 桌面 Agent 使用:Demiurge 提供人物设定、当前 LLM、长期记忆、桌面图片对话和高层决策;MinecraftBot 负责连接服务器、结构化感知和可靠执行。两个项目相互独立,不要求 Minecraft 客户端安装 Mod。

两种运行模式

模式

规划模型

适合场景

Demiurge MCP(推荐)

使用 Demiurge 当前配置的唯一 LLM

共享人物、长期记忆、多人聊天身份和桌面图片对话

独立模式

MinecraftBot 自己调用 OpenAI-compatible API

不运行 Demiurge 的服务器机器人或开发调试

项目不会提交 .env、API Key、运行日志、SQLite 记忆数据库或本地 Minecraft 数据。

Related MCP server: Minecraft Dedalus MCP

已实现能力

  • 离线或微软身份连接、自动重连、固定角色名。

  • 玩家、背包、装备、实体、方块、时间、天气和事件感知。

  • 场景摘要、空间位置记忆、任务持久化及掉线恢复。

  • 外部 LLM API 规划、失败恢复及严格 JSON 校验。

  • 精确物品、方块、生物、配方数据库和递归材料计算。

  • 本地攻略 RAG,可导入 Markdown/TXT 攻略。

  • Skill 资源锁、优先级抢占、超时、取消、进度、重试及结果验证。

  • 导航、跟随、挖掘、采集、放置、合成、熔炼、战斗、逃生、进食、交付、箱子存取、建造和探索。

  • 低血量逃生、卡死、背包满、工具低耐久监控。

  • SQLite 记忆、JSON 健康接口、结构化日志。

  • 深度缓冲几何重投影、残差区域聚类、已知变化掩膜和可选 VLM 分析接口。

  • Mock LLM 和 Mock Executor,可在没有 MC 服务器或 API Key 时测试主体系统。

  • MCP stdio 工具/资源、游戏事件通知,以及 Demiurge 人设、会话和长期记忆闭环。

运行结构

PCL(FuQiang) ───────公网──────> 腾讯云 Minecraft Server
                                      ↑
本机 Demiurge ──MCP stdio──> Mineflayer AI_Player
      │ 当前角色/长期记忆           │ 结构化感知/RAG/Skill Runtime
      └────唯一 LLM 规划与对话──────┘

环境要求

  • Minecraft Java 服务端。

  • Node.js 22.13 或更高版本。

  • pnpm 10 或更高版本,也可以通过 Corepack 启用。

  • MCP 模式需要已配置 LLM 的 Demiurge;独立运行模式才需要 OpenAI-compatible API。

本地安装

corepack enable
pnpm install
cp .env.example .env

独立运行时至少修改:

MC_HOST=127.0.0.1
MC_PORT=25565
MC_USERNAME=AI_Player
MC_AUTH=offline
MC_OWNER=FuQiang

LLM_MODE=api
LLM_BASE_URL=https://你的API地址/v1
LLM_API_KEY=你的密钥
LLM_MODEL=你的模型名

先进行离线自检:

pnpm typecheck
pnpm test
pnpm smoke

启动开发模式:

pnpm dev

生产模式:

pnpm build
NODE_ENV=production pnpm start

使用 Demiurge(推荐)

分别构建两个独立项目:

# 本项目
pnpm install --frozen-lockfile
pnpm build

# Demiurge(单独克隆)
git clone https://github.com/Dancncn/Demiurge.git
cd Demiurge
npm install
npm run tauri dev

Windows 构建 Demiurge 还需要 Rust stable(MSVC)、Visual Studio 2022 Build Tools 的“使用 C++ 的桌面开发”以及 Windows SDK;若出现找不到 link.exe,请先补齐这些组件。

在 Demiurge 的“设置 → Minecraft”中选择本项目目录和 Node.js 可执行文件,填写腾讯云服务端公网地址、AI 游戏用户名 AI_Player 与主用户游戏名 FuQiang,最后打开“启用”。保存设置后 Demiurge 会自动启动 MCP 子进程;退出、禁用或修改配置时会停止/重启它。

MCP 模式会强制使用 MCP_STDIO=trueLLM_MODE=mock,但这里的 mock 只表示 Mineflayer 禁止调用内部规划模型。所有规划、人格与对话仍由 Demiurge 当前配置的真实 LLM 完成。公开聊天与私聊都会携带真实发言用户名、频道、主用户标识和场景。玩家输入 AI_Player,跟着我 即可自然点名;未点名的公开消息由模型结合对话语境判断是否在和它说话。对话和关键经历写入当前角色的同一 memory namespace;自动长期记忆由代码强制写入场景、频道、玩家用户名和主用户标识,不依赖记忆提取模型自行保留这些信息。

桌面输入区支持 JPEG、PNG、GIF、WebP 原生多模态图片(单张 10 MB、合计 20 MB),图片只发给 Demiurge 当前模型,不经过游戏聊天。

完整配置与联机验收见 Demiurge 集成指南

Minecraft 服务端配置

server.properties

online-mode=false
server-port=25565
server-ip=
white-list=true

重启服务端后,在服务端控制台执行:

whitelist on
whitelist add FuQiang
whitelist add AI_Player

离线模式没有可靠的账号身份验证。腾讯云安全组应只允许你的公网 IP 访问 TCP:25565,或通过 Tailscale/WireGuard 连接,不能依赖白名单防止同名冒充。

游戏内命令

MC_OWNER 指定主用户,用户名比较不区分大小写,但事件和记忆会保留玩家实际显示的精确用户名。模型会把主用户和其他玩家的关系、权限及记忆分开。其他玩家仍可以公开聊天、私聊和请求普通帮助。MCP 模式下自然语言消息统一交给 Demiurge 当前角色判断和处理;独立模式只执行主用户明确叫出 AI 游戏用户名的任务。

AI_Player,帮助
AI_Player,状态
AI_Player,停止
AI_Player,跟着我
AI_Player,去 120 64 -30
AI_Player,收集16个橡木
AI_Player,制作一把石镐并交给我
AI_Player,探索周围区域

固定 @AI 前缀已取消。直接使用设置中的 AI 游戏用户名称呼它;私聊天然视为对 AI 说话,未点名的公开聊天则由模型判断是否需要加入对话。

攻略知识库

精确配方和注册表由当前服务端版本的 minecraft-data 提供,不经过向量检索。自然语言攻略可以批量导入:

pnpm knowledge:index ./my-guides

支持递归读取 .md.txt。默认使用本地哈希向量,不会额外产生 embedding API 成本;后续可以替换 GuideRag 的向量实现。

健康检查

默认只监听腾讯云本机:

GET http://127.0.0.1:3008/health
GET http://127.0.0.1:3008/metrics

HEALTH_PORT=0 可关闭。不要把健康端口直接暴露到公网。

视觉模块

主体系统不依赖截图。src/vision 已实现:

  • 基于上一帧深度和相机矩阵的几何重投影。

  • 实际帧与预测帧的 RGB 残差。

  • 已知动作区域掩膜。

  • 连通区域聚类和阈值过滤。

  • 异常事件及可选 VLM 调用。

Mineflayer 本身不提供原生 RGB 与深度缓冲,因此启用视觉时需要离屏渲染器或客户端 Mod 提供帧。项目已提供 HttpFrameSource,设置 VISION_ENABLED=trueVISION_FRAME_URL=http://127.0.0.1:端口/frame 即可接入。没有外部帧源时保持 VISION_ENABLED=false,所有游戏能力继续使用结构化感知。

安全边界

  • 默认关闭 PVP:ALLOW_PVP=false

  • 可关闭丢弃物品:ALLOW_DROP_ITEMS=false

  • 单次计划最多 MAX_PLAN_STEPS 步。

  • 单次目标距离受 MAX_ACTION_DISTANCE 限制。

  • 独立模式只接受主用户明确叫出 AI 游戏用户名的任务;MCP 模式由 Demiurge 判断未点名公开聊天是否需要回应。

  • LLM 只能选择注册 Skill;参数经过 Zod 校验。

  • API Key 只从环境变量读取,日志会进行字段脱敏。

  • 紧急逃生优先级高于普通任务,可以抢占移动和视角。

更具体的腾讯云部署步骤见 docs/DEPLOY_TENCENT.md,Skill 接口见 docs/SKILLS.md,视觉接入约定见 docs/VISION.md

项目边界

  • 当前面向 Minecraft Java 版,协议连接由 Mineflayer 提供。

  • 结构化感知是默认主路径;局部视觉和 VLM 需要额外帧源。

  • 微秒/毫秒级移动与战斗细节由执行器和 Skill 处理,LLM 不参与每一帧控制。

  • 离线服务器无法可靠验证用户名归属,应限制服务器端口来源或使用私有网络。

  • MCP 模式下所有公开聊天都可能触发 Demiurge 的语境判断,应结合服务器人数评估 API 成本。

开发与验证

pnpm typecheck
pnpm test
pnpm build
pnpm smoke

测试不要求真实 Minecraft 服务器或真实 LLM Key;Mock Executor 和 Mock LLM 会覆盖规划、Skill、记忆、MCP 通知与视觉残差的主体链路。

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Cloud-hosted MCP server for durable AI memory

  • Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tomorins/MinecraftBot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server