内容
# awesome-mineflayer-mcp
[](https://www.npmjs.com/package/awesome-mineflayer-mcp)
[](https://nodejs.org)
[](./LICENSE)
一个生产就绪的 [Model Context Protocol](https://modelcontextprotocol.io) 服务器,为 LLM 代理提供与 Mineflayer Minecraft 机器人**类似独立控制** - 移动、挖掘、合成、库存、战斗、容器、聊天等 - 以 **123 个强类型工具** 和 26 个组的形式暴露出来,同时提供**引导提示**、**视觉**(真实的第一人称截图 + 示意图) 、持久的**航点**、构建/挖掘**宏**,以及双(轮询 + 推送)事件流,具备完整的机器人生命周期管理。工具结果同时包含人类可读文本和机器可读的`structuredContent`。
由 Mineflayer 生态系统支持:`mineflayer-pathfinder`(A\* 导航)、`mineflayer-pvp`(战斗)、`mineflayer-collectblock`(收集)、`mineflayer-tool`(自动工具选择)、`mineflayer-auto-eat` 和 `mineflayer-armor-manager`。
---
## 需求
- **Node.js ≥ 20** (在 22.16 上开发)
- 要连接的 Minecraft 服务器(Java 版)。机器人自动检测服务器版本。没有吗?请参阅 [获取测试服务器](#获取测试用的minecraft服务器)。
- 对于在线模式服务器:一个 Microsoft 账户(`auth: "microsoft"`)。
### 支持的版本
| | 支持 |
|---|---|
| Minecraft (Java) | 由捆绑的 `mineflayer` 4.37 / `minecraft-data` 支持的范围(大约 **1.8 → 1.21.x**);版本自动检测,或显式传递 `version` |
| Node.js | **20, 22** (LTS) |
少数工具仅在较新的版本/功能上工作(例如 `elytra_fly`,聊天签名)。在版本不匹配时,机器人将被踢出,并显示 `outdated client/server` 消息 - 传递显式的 `version`。
## 安装
使用 **npx** 按需运行(无需安装):
```bash
npx awesome-mineflayer-mcp
```
… 或全局安装:
```bash
npm install -g awesome-mineflayer-mcp
awesome-mineflayer-mcp
```
服务器通过 **stdio** 讲话 MCP,因此它通常由您的 MCP 客户端启动,而不是手动运行。
## 与 MCP 客户端一起使用
将其添加到客户端的 MCP 服务器配置中。推荐的形式使用 `npx`,以便您始终获得最新的发布版本:
**Claude Desktop** (`claude_desktop_config.json`),**Claude Code**,**Cursor**,或任何 stdio MCP 客户端:
```json
{
"mcpServers": {
"mineflayer": {
"command": "npx",
"args": ["-y", "awesome-mineflayer-mcp"],
"env": {
"MCP_DISABLE_GROUPS": ""
}
}
}
}
```
如果您已全局安装,请使用 `"command": "awesome-mineflayer-mcp"` 和 `"args": []` 代替。
## 获取测试用的 Minecraft 服务器
如果您没有服务器,请使用 Docker(无需账号)快速启动一个**离线模式**服务器:
```bash
# 从此仓库的克隆:
docker compose up -d # 离线 1.20.4 服务器在 localhost:25565
docker compose logs -f # 等待 "Done (…)! For help, type "help""
```
… 或一个单行命令,无需仓库:
```bash
docker run -d --name mc -p 25565:25565 -e EULA=TRUE -e ONLINE_MODE=FALSE -e VERSION=1.20.4 itzg/minecraft-server
```
然后连接:`connect_bot { host: "localhost", username: "DevBot", auth: "offline" }`。使用 `docker compose down -v` (或 `docker rm -f mc`)将其关闭。不要将离线模式服务器暴露给公共互联网。
## 自动操作(默认账户)
对于无手操作,配置一个**默认账户**,以便机器人在启动时自动连接 - 无需 `connect_bot` 调用。运行交互式设置:
```bash
npx awesome-mineflayer-mcp setup
```
它询问服务器主机/端口、**离线** 或 **Microsoft** 账户,以及是否在启动时自动连接,然后写入 `~/.awesome-mineflayer-mcp/config.json`(**不存储密码**)。对于 Microsoft 账户,它运行设备代码登录**一次**,并在 `profilesFolder` 下缓存令牌,因此后续启动无需提示。
在启动时,服务器自动连接配置的账户(通过 `get_connection_status` 验证)。代理也可以调用 **`connect_default`** 以(重新)连接它,或调用 **`get_default_account`** 以检查它。
### 无向导配置(环境变量)
您可以在 MCP 客户端配置文件中完全设置默认账户 - 适用于无头部署。环境变量覆盖配置文件:
```json
{
"mcpServers": {
"mineflayer": {
"command": "npx",
"args": ["-y", "awesome-mineflayer-mcp"],
"env": {
"MCP_DEFAULT_HOST": "play.example.net",
"MCP_DEFAULT_USERNAME": "MyBot",
"MCP_DEFAULT_AUTH": "offline",
"MCP_AUTO_CONNECT": "true"
}
}
}
}
```
对于无头设置中的 Microsoft 身份验证,请在本地运行 `setup` 一次(或将 `MCP_PROFILES_FOLDER` 指向具有预缓存令牌的目录)。
## 配置(环境变量)
| 变量 | 默认值 | 目的 |
|---|---|---|
| `MCP_DISABLE_GROUPS` | _(无)_ | 禁用的工具组键的逗号分隔列表(参见目录)。修剪表面以适应难以处理大量工具列表的客户端。 |
| `MCP_CHARACTER_LIMIT` | `25000` | 任何单个工具调用返回的最大字符数(带有标记的截断)。 |
| `MCP_EVENT_BUFFER` | `1000` | 内存中事件环缓冲区的大小。 |
| `MCP_THROTTLE_MS` | `250` | 推送的资源更新/日志通知之间的最小间隔。 |
| `MCP_PROXIMITY_RADIUS` | `32` | 邻近事件过滤的半径(块)(实体生成,声音)。 |
| `MCP_ACTION_TIMEOUT_MS` | `60000` | 调用者省略超时时的默认超时时间。 |
| `MCP_DEFAULT_HOST` / `MCP_DEFAULT_PORT` | — | 启动时自动连接的默认服务器。 |
| `MCP_DEFAULT_USERNAME` | — | 默认账户名称(离线)或电子邮件(Microsoft)。 |
| `MCP_DEFAULT_AUTH` | `offline` | 默认身份验证模式:`offline` 或 `microsoft`。 |
| `MCP_DEFAULT_VERSION` | auto | 强制为默认账户指定协议版本。 |
| `MCP_DEFAULT_AUTO_RECONNECT` | `true` | 默认账户断开连接时自动重新连接。 |
| `MCP_AUTO_CONNECT` | `true†` | 自动连接默认账户(† 配置了默认账户时)。 |
| `MCP_PROFILES_FOLDER` | `<home>/profiles` | Microsoft 身份验证令牌缓存目录。 |
| `AWESOME_MINEFLAYER_MCP_HOME` | `~/.awesome-mineflayer-mcp` | 配置 + 令牌缓存目录。 |
| `MCP_READ_ONLY` | `false` | 只读模式:仅注册只读工具(+ 生命周期)。参见 [安全性](#安全性和防护)。 |
| `MCP_COMMAND_DENY` | _(管理员动词)_ | 斜杠命令 `run_command` 阻止。设置它**替换**默认值;设置为空以允许所有。 |
| `MCP_COMMAND_ALLOW` | _(无)_ | 如果设置,则严格的允许列表:仅允许这些命令(忽略拒绝列表)。 |
| `MCP_ALLOWED_HOSTS` | _(任意)_ | 机器人可以连接到的主机逗号分隔的允许列表。 |
| `MCP_CHAT_MIN_INTERVAL_MS` | `0` | outbound 聊天/命令的最小间隔(反垃圾邮件)。 |
| `MCP_ENABLE_RAW` | `false` | 启用高级/不安全的 `raw` 协议工具组(直接数据包发送/订阅)。 |
| `MCP_SCREENSHOT_WIDTH` / `_HEIGHT` | `800` / `450` | 默认 `get_screenshot` 图像大小(像素)。 |
| `MCP_SCREENSHOT_LOAD_MS` | `2500` | 捕获截图前让世界渲染的时间。 |
| `MCP_VIEW_DISTANCE` | `4` | 截图的区块渲染距离。 |
| `MCP_SCREENSHOT_BROWSER_CHANNEL` | _(自动)_ | 截图的浏览器通道(`chrome`,`msedge`,`chromium`)。 |
| `MCP_SCREENSHOT_EXECUTABLE_PATH` | _(无)_ | 截图的显式浏览器可执行路径(覆盖通道)。 |
示例 - 禁用很少使用的组:
```
MCP_DISABLE_GROUPS=creative,villager,enchanting,settings
```
## 快速入门(工具流程)
1. **`connect_bot`** `{ host, username, auth }` — 连接(在机器人生成后解析)。 *跳过此步骤,如果您配置了[默认账户](#自动操作默认账户) - 机器人启动时自动连接;只需检查 `get_connection_status`.*
2. 操作: **`goto`**, **`dig`**, **`collect_block`**, **`craft_item`**, **`pvp_attack`**, **`chat`**,…
3. 观察:调用 **`get_observation`** 获取一次快照(生命值,位置,库存,附近的实体,新事件) - 将返回的 `events.nextSince` 每 tick 传回。或组合 **`get_state`** / **`get_inventory`** / **`list_entities`** / **`get_events`**,或订阅 `bot://*` 资源。
4. **`disconnect_bot`** 完成后。
新服务器?使用 **`getting_started`** 提示(参见 [提示](#提示))进行上下文内的演练。
区块 / 物品 / 实体参数接受 **人类名称** (`"iron_ore"`,`"diamond_pickaxe"`,`"zombie"`);未知名称返回模糊建议。
## 身份验证
- `auth: "offline"` (默认)- 离线模式服务器;`username` 是游戏名称。
- `auth: "microsoft"` - `username` 是账户电子邮件。设备代码作为 `msa_code` 事件 / 日志通知发出。设置 **`profilesFolder`** 以缓存令牌,以便后续运行跳过提示,或传递缓存的 `accessToken`。 **提示:** 运行 `npx awesome-mineflayer-mcp setup` 一次以进行设备代码登录并缓存令牌,然后服务器自主连接(参见 [自动操作](#自动操作默认账户))。
---
## 工具目录(123 个工具,26 个组)
> 完整的生成参考(每个工具、提示、资源):[`docs/TOOLS.md`](docs/TOOLS.md)。
组键(用于 `MCP_DISABLE_GROUPS`)显示在方括号中。
- **生命周期** `[lifecycle]` — `connect_bot`,`connect_default`,`disconnect_bot`,`reconnect_bot`,`respawn`,`get_connection_status`,`get_default_account`
- **状态和检查** `[state]` (只读)— `get_observation`(一次调用快照,用于代理的观察循环),`get_state`,`get_inventory`,`list_players`,`list_entities`,`find_nearest_entity`,`get_entity_details`,`get_scoreboards`,`get_teams`,`get_boss_bars`,`get_control_states`,`get_chat_patterns`,`support_feature`,`pathfinder_status`,`get_settings`,`get_physics`,`get_loaded_plugins`
- **世界查询** `[world]` (只读)— `get_block_at`,`find_blocks`,`get_cursor_target`,`get_blocks_in_region`,`wait_for_chunks_to_load`
- **移动和寻路** `[movement]` — `goto`,`set_goal`,`flee_from`,`follow_entity`,`stop_pathfinding`,`get_path_to`,`configure_movements`,`configure_pathfinder`,`set_control_state`,`clear_control_states`,`elytra_fly`,`wait_for_ticks`,`set_physics_enabled`
- **外观** `[look]` — `look_at`,`look`,`look_at_entity`
- **挖掘和建造** `[digging]` — `dig`,`place_block`,`activate_block`,`activate_entity`,`swing_arm`
- **战斗** `[combat]` — `pvp_attack`,`attack_entity`,`pvp_stop`,`pvp_configure`
- **库存和物品** `[inventory]` — `equip_item`,`unequip_item`,`toss_item`,`set_quickbar_slot`,`consume`,`activate_item`,`click_window`,`move_slot_item`,`transfer_items`
- **容器** `[containers]` — `open_container`,`read_open_container`,`container_deposit`,`container_withdraw`,`close_window`
- **熔炉 / 熔炼** `[furnace]` — `open_furnace`,`furnace_action`,`furnace_status`,`smelt_item`
- **附魔和铁砧** `[enchanting]` — `enchant_item`,`anvil_combine`
- **村民交易** `[villager]` — `open_villager`,`trade_with_villager`
- **合成** `[crafting]` — `list_recipes`,`craft_item`
- **物品收集** `[gathering]` — `collect_block`,`cancel_collect`,`set_collect_config`
- **自动工具选择** `[tool]` — `equip_tool_for_block`,`set_tool_chest_locations`,`get_best_tool`
- **生存自动化** `[survival]` — `autoeat_set_enabled`,`autoeat_configure`,`autoeat_eat`,`autoeat_cancel`,`autoeat_preview`,`armor_equip_all`
- **床和睡眠** `[beds]` — `sleep`,`wake`
- **车辆** `[vehicles]` — `mount_entity`,`dismount`,`steer_vehicle`
- **钓鱼,书籍和标志** `[fishing]` — `fish`,`cancel_fish`,`write_book`,`update_sign`
- **聊天和通信** `[chat]` — `chat`,`whisper`,`run_command`,`tab_complete`,`register_chat_pattern`,`remove_chat_pattern`,`wait_for_message`
- **设置** `[settings]` — `set_settings`
- **创造模式** `[creative]` — `creative_set_inventory_slot`,`creative_clear_inventory`,`creative_fly`,`creative_fly_to`
- **视觉** `[vision]` — `get_screenshot`(**实际游戏渲染) ,`render_map`(依赖项免费的示意图) — 参见 [视觉](#视觉---让代理看到)
- **航点** `[waypoints]` — `set_waypoint`,`list_waypoints`,`delete_waypoint`,`goto_waypoint`(在重启后保存)
- **构建和挖掘宏** `[build]` — `clear_region`,`dig_tunnel`,`dig_staircase`,`fill_region`(可取消,多块)
- **事件和遥测** `[events]` — `get_events`,`cancel_task`
- **原始协议** `[raw]` — `send_packet`,`subscribe_packet`,`list_packet_subscriptions`(高级/不安全;**关闭除非 `MCP_ENABLE_RAW=true`**)
长运行动作(`goto`,`dig`,`collect_block`,`pvp_attack`,`fish`,`smelt_item`,`craft_item`)是互斥且可取消的 — 启动新的移动/战斗动作以取代之前的动作,或调用 `stop_pathfinding` / `pvp_stop` / `cancel_collect` / `cancel_fish` / `cancel_task`。
## 提示
服务器公开了 **有指导的,参数化的工作流** 作为 MCP 提示 — 客户端将其显示为斜杠命令/模板。它们教导代理如何为目标链接正确的工具:
- **`getting_started`** — 方向:连接 → 观察 → 操作 → 恢复。
- **`gather_wood`** `{ count?, logType? }` — 查找树木并收集原木。
- **`mine_to_diamonds`** `{ targetY? }` — 安全下降并分支开采。
- **`build_shelter`** `{ material? }` — 在夜幕降临前围住一个安全空间。
- **`find_and_smelt`** `{ input, fuel? }` — 挖掘/收集输入并熔炼它。
- **`follow_and_defend`** `{ player }` — 跟随玩家并抵御敌对生物。
区块/物品参数提供从连接的世界中提取的名称自动补全。
## 视觉 - 让代理 *看到*
两种互补的工具返回 PNG 图片作为 MCP 图片内容,以便视觉能力强的模型(和人类)可以查看世界,而不是从 JSON 中重建它。
### `get_screenshot` - 真实的游戏渲染
捕获机器人看到的**实际纹理 Minecraft 渲染** - 从其眼睛的第一人称视角(默认)或第三人称轨道 - 与游戏截图完全一样。在内部,[`prismarine-viewer`](https://github.com/PrismarineJS/prismarine-viewer) 渲染真实世界(客户端 WebGL)并截图一个无头的浏览器。参数:`width`,`height`,`firstPerson`,`waitMs`,`viewDistance`.
**设置(一次性)。** 渲染器依赖项作为**可选**包(默认情况下与 `npm install` 一起安装)。您还需要一个浏览器:
- 已经有 **Google Chrome 或 Microsoft Edge**?什么也不需要做 — 自动使用。
- 否则运行 **`npx playwright install chromium`** 一次。
- 无头服务器:安装 Chrome/Chromium,或设置 `MCP_SCREENSHOT_EXECUTABLE_PATH` / `MCP_SCREENSHOT_BROWSER_CHANNEL`.
如果依赖项/浏览器不可用,`get_screenshot` 返回一个清晰的 `UNSUPPORTED` 错误,这些步骤对服务器的其他部分没有任何影响。渲染器包是纯 JS(无原生构建),但如果您想要最轻量的安装并且不需要截图,请使用 `npm install --omit=optional`.
### `render_map` - 无依赖的示意图
一个轻量级的有色顶视图(或 `mode:"slice"` 剖面图),从区块数据中绘制,使用一个**内置的 PNG 编码器**(完全没有额外的依赖项)。适用于小地图/概览或当截图额外项不可用时。北方(-Z)朝上;机器人 = 带有朝向提示的白色圆点;玩家青色,敌对生物红色,被动生物黄色,物品灰色;包括区块图例。
## 安全性和防护措施
对自主运行机器人的敏感默认值(尤其是在具有 [默认账户](#自动操作默认账户) 时):
- **命令策略。** `run_command` 默认阻止服务器管理动词(`op`,`deop`,`ban`,`kick`,`stop`,`whitelist`,以及 `execute`/`function`/`schedule` 包装器,...)。普通游戏命令(`/tp`,`/time`,`/give`,...)被允许。覆盖 `MCP_COMMAND_DENY`(替换默认值;空 = 允许所有)或锁定 `MCP_COMMAND_ALLOW`(严格的允许列表)。这是**尽力而为的防御深度**,不是硬边界 — 它在一级命令动词上进行检查,并且具有操作员权限的机器人仍然可以找到一种方法绕过它。对于不受信任/自主部署,请首选 `MCP_COMMAND_ALLOW`,`MCP_READ_ONLY`,并且不授予机器人帐户操作员权限。 **注意:** 来自玩家的聊天消息作为事件传递给您的代理 — 将其视为不受信任的输入。
- **主机允许列表。** `MCP_ALLOWED_HOSTS` 限制 `connect_bot` / `reconnect_bot` 可以加入的服务器,因此代理无法重新指向机器人(及其缓存令牌)到任意地址。
- **只读模式。** `MCP_READ_ONLY=true` 仅注册观察工具(+ 生命周期管理) — 看看但不要碰。
- **速率限制。** `MCP_CHAT_MIN_INTERVAL_MS` 间隔聊天/命令以避免垃圾邮件踢。
- **无秘密泄露。** 密码/访问令牌永远不会存储在磁盘上,并且从连接错误消息中删除。
## 资源
适用于支持资源订阅的客户端的订阅能力 JSON 资源:
- `bot://state` — 实时自拍(位置,生命值,游戏模式,时间,天气,持有物品,控制状态)
- `bot://inventory` — 物品,盔甲,副手,持有槽
- `world://entities` — 多达 50 个最近跟踪的实体
- `world://players` — 服务器名册
- `bot://events` — 最近事件的尾部
- `bot://waypoints` — 已保存的命名航点
以及参数化的**资源模板**用于按需查找:`block://{x}/{y}/{z}` 和 `entity://{id}`。
## 事件
游戏事件通过两种方式传递:
- **拉取:** `get_events({ since, types, limit })` 读取一个环形缓冲区;传递返回的 `nextSince` 以仅读取新事件。`dropped: true` 表示自您的 `since` 时间以来缓冲区已溢出。
- **推送:** 已订阅的资源发出限流的 `notifications/resources/updated`;值得注意的行(聊天、死亡、踢出、错误、msa_code)通过 `sendLoggingMessage` 转发。
高频观察(移动、每刻更新、块/实体更新、时间)故意 **不** 被缓冲 — 按需通过 `get_state` 和只读工具读取。
## 从源代码开发
```bash
git clone https://github.com/G0Osey99/awesome-mineflayer-mcp.git
cd awesome-mineflayer-mcp
npm install
npm run build # tsc -> dist/
npm run typecheck # tsc --noEmit
npm test # vitest (unit tests for the pure logic)
npm run dev # tsx src/index.ts (run from source, no build step)
```
架构和完整的设计原理:[`docs/superpowers/specs/2026-06-28-mineflayer-mcp-server-design.md`](docs/superpowers/specs/2026-06-28-mineflayer-mcp-server-design.md)。
```
src/
index.ts 入口(stdio传输、优雅关闭、崩溃保护)
server.ts 构建McpServer,注册工具组 + 资源 + 提示
config.ts 环境变量 + 常量 + 安全策略(组、只读、命令/主机允许列表)
bot/ 管理器(生命周期FSM)、插件、事件、线路事件、状态、窗口、动作锁
tools/ 每个工具组一个模块(+ registry.ts)
prompts/ 有指导的多工具工作流
resources/ MCP资源 + 推送通知
util/ 错误、格式、结果、解析(名称→ID + 模糊)、序列化、异步、编辑
schemas/ 共享Zod片段
```
参见 [`CONTRIBUTING.md`](CONTRIBUTING.md) 了解如何添加工具/组和运行本地测试服务器。
## 发布(维护者)
推送 `v*` 标签发布到 **npm**、**GitHub Container Registry**(Docker)、**MCP Registry**,并更新 **Smithery** — 所有操作均通过 [.github/workflows/ci.yml`](.github/workflows/ci.yml)。`npm version` 保持 `package.json`、`src/config.ts` 和 `server.json` 同步。
```bash
npm version minor # 升级 + 同步版本,提交并标记
git push --follow-tags # 触发发布作业
```
完整的首次设置和逐步发布检查清单在 [`RELEASE.md`](RELEASE.md) 中。已发布的npm包仅包含 `dist/`、`README.md`、`LICENSE` 和 `NOTICE`(参见 `files` 字段)。
## 故障排除
连接失败现在返回 **特定的错误代码和建议**(而非不透明的 `INTERNAL`)。常见情况:
| 症状/错误 | 可能原因 | 解决方法 |
|---|---|---|
| `CONNECT_REFUSED` (ECONNREFUSED) | 错误的主机/端口,或服务器未运行 | 检查 `host`/`port`;确认服务器已完成启动(默认端口25565)。 |
| `CONNECT_REFUSED` (ENOTFOUND) | 主机名无法解析 | 重新检查服务器地址。 |
| `ONLINE_MODE` / "未验证的用户名" | 服务器为在线模式;机器人使用离线身份验证 | 使用 `auth: "microsoft"`,或在服务器上设置 `online-mode=false`。 |
| `VERSION_MISMATCH` / "客户端/服务器已过时" | 自动检测的版本错误 | 传递显式的 `version`(例如 `"1.20.4"`)。 |
| 聊天被拒绝 / "安全配置文件" | 服务器要求签名聊天 | 连接时使用 `disableChatSigning: true`。 |
| `AUTH_FAILED` | 微软令牌已过期/无效 | 重新运行 `npx awesome-mineflayer-mcp setup`,或清除 `profilesFolder` 缓存并重新登录。 |
| `FORBIDDEN` 在 `run_command` | 命令被策略阻止 | 参见 [安全](#安全--防护) — 调整 `MCP_COMMAND_DENY` / `MCP_COMMAND_ALLOW`。 |
| `FORBIDDEN` 在 `connect_bot` | 主机不在允许列表中 | 将其添加到 `MCP_ALLOWED_HOSTS`(或取消设置以允许任意主机)。 |
| `NO_PATH` | 路径查找器无法到达目标 | 移近、清除障碍或放松 `configure_movements`。 |
| 微软设备代码提示 | 首次MSA登录 | 访问 `msa_code` 事件的URL;设置 `profilesFolder` 以缓存它。 |
首次运行微软身份验证是交互式的 — 运行 `npx awesome-mineflayer-mcp setup` 以执行此操作并缓存令牌。
## Docker
包含一个 `Dockerfile` 用于无头/自主部署(通过 `MCP_DEFAULT_*` 配置默认帐户):
```bash
docker build -t awesome-mineflayer-mcp .
```
在 `/root/.awesome-mineflayer-mcp` 处挂载一个卷以持久化配置和微软令牌缓存。(服务器通过stdio使用MCP,因此容器对于自主默认帐户运行更有用,而不是为客户端生成。)
## 限制
- **每个服务器进程一个机器人**(按设计单会话)。
- **评估需要一个播种世界。** 实时Minecraft世界不确定,因此 `eval/` 中的评估集针对文档记录的播种fixture(参见 `eval/fixture.md`);它不能针对任意实时服务器进行验证。
- `cancel_fish` 是尽力而为(Mineflayer没有提供一流的钓鱼中止功能)。
- 微软身份验证的首次运行需要交互式设备代码(作为 `msa_code` 事件显示);使用 `profilesFolder` 缓存它。
## 许可证
MIT
MCP 配置
以下是此 MCP Server 的配置信息,可直接复制到 Cursor 或其他 MCP 客户端中使用。
mcp.json
连接信息
猜你喜欢
暂无推荐服务器