Minexa说明书
进阶APP 使用说明

MCP 远程管理

让 AI 助手通过 MCP 查状态、开关服、发命令;默认只听 127.0.0.1:8931,令牌和暴露风险要弄清。

你让电脑上的 AI 助手看一眼「我手机服现在几个人、TPS 多少」,它把在线人数、TPS 和最后 100 行日志都贴了出来。做到这件事的,就是 Minexa 里那个默认关着的「MCP 服务」。

它和「联机」是两回事:玩家进服走 25565 / 19132 这些游戏端口和隧道;MCP 走的是只有 AI 客户端才关心的端口,用来查状态、发命令、改配置、读写文件。开了它,等于把半个管理后台交给一个能调用工具的模型,所以这一页除了怎么连,更要讲清哪些不能碰。

如果你只是想让朋友进来玩,完全不需要打开这一页的任何东西。MCP 服务面向的是「你在电脑上,手机放在一边」这种场景。

本页要点
  • MCP 是给 AI 客户端用的工具接口,不是玩家联机入口,也不是网页后台。

  • 默认 只监听 127.0.0.1:8931,只有这台手机上的程序能连。

  • 一共 57 个工具,覆盖状态、启停、命令、日志、文件、备份等,删除类要额外确认。

  • 令牌等同于服务器控制权:不要映射端口、不要用隧道转出去。

先把风险说在前面

MCP 的访问令牌等同于服务器控制权:拿到令牌的人可以发控制台命令、删文件、删服务器。默认只听本机是安全设计,不是功能缺陷。不要为了「在外面也能连」把 8931 端口映射到公网,那等于把钥匙挂在门上。

MCP 是什么,不是什么#

MCP(Model Context Protocol)是一套「工具调用」约定:客户端把「有哪些工具、每个工具要什么参数」告诉模型,模型决定调哪个,服务端执行后返回结果。

  • 它是:AI 客户端(Claude、ZCode 这类支持 MCP 的程序)访问这台手机的工具接口。

  • 它不是:玩家联机入口、网页管理面板、也不是「开了就能从任何地方连」的远程桌面。

  • 传输方式:Streamable HTTP,只有一个端点 POST /mcp,无状态。GET 和 DELETE 直接返回 405,通知类请求返回 202——这些是协议决定的行为,不是故障。无状态也意味着每次请求都要自带令牌。

「无状态」这件事通俗讲就是:服务端不记得你,每个请求都要自己带上令牌,带对了就办、带错了就 401。好处是实现简单、不会因为连接超时把你踢出去;代价是每次都得带,客户端漏配一个请求头就全程连不上。

开启服务:端口、监听地址和令牌#

入口在「更多 → MCP 服务」。默认是关闭的,第一次需要你自己打开。打开时如果令牌还是空的,应用会自动生成一个。

项目默认值说明
启用开关关打开即启动服务;关闭即停止
监听地址127.0.0.1打开「允许局域网访问」后改为 0.0.0.0
端口8931允许范围 1024–65535
访问令牌首次开启自动生成16 字节随机数的 32 位 hex
传输Streamable HTTP单端点 POST /mcp,无 TLS

几个操作细节:

  • 改端口、切换局域网访问、重新生成令牌,都会让服务自动重启生效,不需要手动关一次再开。

  • 端点卡片显示 http://127.0.0.1:8931/mcp。没开局域网访问时,即使手机有局域网 IP,页面也强制显示 127.0.0.1 形式——否则你照着填进客户端必然连不上。

  • 令牌用等宽字体显示、可选中,右边有「复制」和「重新生成」。重新生成后旧令牌立即失效,所有客户端都要换配置。

  • 顶部状态灯:运行中(绿)、未运行(灰)、启动失败并附带原因(红)。

端口为什么要限制在 1024–65535?因为小于 1024 的是系统保留端口,普通应用无权监听。填错了输入框会直接提示「端口需在 1024–65535 之间」,属于提前拦住,不是运行时才失败。

为什么令牌是 32 位十六进制

16 个随机字节,每个字节两位十六进制,正好 32 个字符。它让局域网里其他人即使猜到端口也调不动工具。但它只是口令,不是加密:MCP 走明文 HTTP,被嗅探到就是泄露。

让客户端连上:一段 JSON 加一个请求头#

页面的「客户端配置示例」给的是一段通用的 mcpServers JSON,介绍文案里提到的是 Claude、ZCode 这类客户端。它没有按客户端分别写步骤——页面只给 Claude、ZCode 两个示例,需要的东西就两样:端点 URL 和 Authorization 请求头。

  1. 在手机上开服务:打开启用开关,复制端点地址和令牌。

  2. 跨设备就开局域网访问:电脑和手机连同一个 Wi-Fi,打开「允许局域网访问」,端点变成 http://<手机局域网IP>:8931/mcp。

  3. 把配置贴进客户端:把下面这段 JSON 加进去,URL 和令牌换成你自己的。

  4. 发一句话验证:让 AI「列出服务器状态」,能返回在线人数和 TPS 就说明通了。

  5. 不用时关掉:把启用开关关回去,比留在后台安全。

JSON
{
  "mcpServers": {
    "minexa": {
      "type": "http",
      "url": "http://192.168.1.23:8931/mcp",
      "headers": {
        "Authorization": "Bearer 把这里换成你的32位令牌"
      }
    }
  }
}

Bearer 后面有一个空格,漏掉空格就是 401。客户端通常还要发 Content-Type: application/json 和 Accept: application/json, text/event-stream;成熟的客户端会自己处理。

页面里还有一张「AI 技能(Skill)」卡片,可导出 SKILL.md;文件里已写入端点和令牌,只交给可信的客户端。

57 个工具能做什么#

工具加起来 57 个,按用途分组,不用背:

分组数量典型工具与用途
服务器管理7get_server_status 查 TPS / 在线 / 内存,start_server / stop_server 启停,send_command 发命令,get_console_logs 读日志尾部
文件管理9列目录、读、写、删除、上传、解压(限定在服务器目录内)、把压缩包导入成新服务器
运行环境与依赖13装 / 卸 / 重装 Java、装依赖、修运行环境、切下载源与 APT 源、检查命令
插件与模组7列插件、从直链装插件、启停插件;搜索并安装 Modrinth 模组
世界快照4列快照、打快照、还原、删除(对应 备份页 的历史快照)
核心与配置5查可用版本、装新实例、删实例;读写应用配置(改不了 MCP 自己的开关、端口、令牌)
日志与诊断6应用日志、上次运行的完整服务端日志、设备信息、端口探测、HTTP 探测
测试辅助与任务5等服务器就绪、等日志命中正则、算文件哈希、查后台任务进度
任意 Shell1run_termux_command,在与终端相同的环境里执行 shell 命令

两条通用规则:长任务默认立即返回任务号,用 get_job 查进度;删除类工具必须带 confirm: true,否则只回提示、不动手。

注意最后两行里的「任意 Shell」:它不是「只读」工具。模型完全可能把你的话理解成一条要执行的 shell 命令,而这条命令会在和终端同样的环境里跑。这就是为什么下面一节的安全问题不能只看成「配错了连不上」这么简单。

安全:默认只听本机,别让它裸奔#

MCP 的安全模型很简单:只听 127.0.0.1 + 一个 Bearer 令牌。默认配置下,只有这台手机上的程序能连,局域网里其他设备连端口都握不上手。

打开「允许局域网访问」后,服务监听 0.0.0.0,同一 Wi-Fi 下任何设备都能尝试连接,只剩令牌这一道门。页面也会提示「局域网内任何设备都可访问,请保管好令牌」。此时要注意:

  • 任何带 Origin 头的请求一律 403,并且不返回 CORS 头。这是防浏览器和 DNS rebinding 的:网页里的 JS 调不动它。所以「用浏览器打开端点看看」必然失败,那是设计如此。

  • 不要做端口映射、不要用 frp 把 8931 转出去。要在外面管服,回家再说,或者用你自己能把控的通道。

  • 怀疑令牌泄露就点「重新生成」,旧令牌立刻作废,然后更新客户端配置。

  • 服务跑在应用进程里,应用被系统杀掉,MCP 也跟着断——这既是限制,也是一层保险。

这些工具真的会删东西

delete_file 会递归删除、delete_server 会连世界一起删、run_termux_command 能在运行环境里执行任意 shell。模型可能理解错你的意思,也可能被日志里的内容带偏。重要操作前先手动备份,别把「让 AI 帮我清理一下」当日常操作。

典型用法:读日志、查状态、发命令#

最常用的三件事都不涉及写入:

  1. 远程看状态:问「服务器现在几个人、TPS 多少、内存用了多少」,对应 get_server_status,返回状态、在线玩家、TPS、内存、CPU 与运行时长。

  2. 让它读日志找原因:get_console_logs 默认取 100 行、最多 2000 行;get_last_run_log 拿的是上一次启动的完整日志,含堆栈。配合 小白看日志 里的关键词表,比在小屏上翻快得多。

  3. 发一条管理命令:send_command 的参数不带开头的 /,比如 whitelist add Steve。它和终端是同一条通道,危险命令照样生效,别让它「自己发挥」。

再往上一层,可以让它做体检(查设备信息、探端口)、批量装插件、给新服打快照。这些都会改文件,做完自己核对结果,别只看 AI 的总结。

换网络、换手机、换令牌:配置怎么维护#

MCP 的配置只有两样会变的东西:URL 和令牌。三件常见事足够覆盖:

情况会发生什么你要做什么
手机换了 Wi-Fi,局域网 IP 变了客户端里的 URL 失效,连不上回「更多 → MCP 服务」复制新的端点地址,替换客户端里的 url
怀疑令牌泄露旧令牌立刻作废点「重新生成」→ 复制新令牌 → 更新所有客户端配置
不再需要远程管理服务仍在监听把启用开关关掉,比留着安全

端点地址里写的是 IP,IP 一变就要跟着改。很多人把「昨天还能连、今天连不上」当成应用坏了,其实是路由器给手机分了新地址。想避免,可以在路由器上给手机固定一个局域网 IP(这是路由器侧的事,Minexa 不负责)。

多台电脑都要用时,每台都要拿到同一份 URL 和令牌;不建议把 SKILL.md 到处转发——它里面已经写进了端点和令牌,等于把钥匙一起发出去了。

连不上时,按错误码查#

常见问题是地址、令牌或请求方式不对:

现象含义怎么处理
401没带令牌,或令牌不匹配重新复制令牌,确认 Bearer 后面有空格
403请求带了 Origin 头别从浏览器网页调;换用正常的 MCP 客户端
405用了 GET 或 DELETE只有 POST /mcp;这是协议限制
连接超时 / 拒绝只听本机,或端口不对跨设备要开「允许局域网访问」并连同一个 Wi-Fi;核对端点端口
-32602工具名不存在拼写错了,或客户端缓存了旧工具列表

都排除了还不通,先确认服务状态灯是绿的,再看应用是不是被系统清掉了;保活设置见 后台保活与桌面小组件。

上机自查
  • MCP 页顶部状态灯是绿色的「运行中」。

  • 端点卡片显示的地址与实际填进客户端的一致(端口是 8931)。

  • 客户端配置里 Bearer 后面有一个空格,令牌是 32 个字符。

  • 让 AI 报一次状态,能拿到在线人数和 TPS。

  • 用浏览器直接打开端点会失败(403/405 都算正常),说明 Origin 防护生效了。

下一步#

读到这儿了,给你点个赞。如果这页内容帮你解决了问题,说明说明书的方向是对的;如果发现错误、过时信息或看不懂的地方,欢迎到 GitHub Issues 告诉我们。

⚡ 回到极速开服 📖 查术语表