mcpField
V
VitaminMCP

VitaminMCP

本地服务
github.com开发工具21 周前更新

关于 VitaminMCP

VitaminMCP 是用于 Paper/Purpur 的插件,可借助真实协议机器人在运行中的 Minecraft 服务端测试插件。AI Agent 能驱动端到端测试并读取服务端行为,无需修改或插桩被测插件。

主要功能

  1. 01控制真实协议测试玩家
  2. 02以玩家或控制台身份执行命令
  3. 03检查背包与插件 GUI
  4. 04查询事件、日志、异常和状态
  5. 05通过等待与断言编写场景
  6. 06跨多个服务端测试

适用场景

  1. 01按真实服务端生命周期测试插件
  2. 02验证 GUI 操作和玩家可见消息
  3. 03测试 NPC、方块和玩家交互
  4. 04在 BungeeCord 网络中运行测试

MCP 相关

插件会在运行中的服务端内开放 MCP 端点。MCP 客户端可使用工具控制机器人、执行命令、查询服务端状态并运行测试场景。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"backas03-vitaminmcp": {
"command": "npx",
"args": [
"-y",
"vitaminmcp"
]
}
}
}
启动命令npx -y vitaminmcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmvitaminmcp3.2.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

VitaminMCP

使用 AI Agent 测试你的插件——在真实运行的服务器上,与真实玩家一起。

VitaminMCP 演示——AI Agent 驱动真实 Minecraft 服务器

文档 · Modrinth · npm · 问题反馈

VitaminMCP 是一个 Paper/Purpur 插件,可从正在运行的服务器内部开放 MCP(Model Context Protocol)端点。连接 AI Agent——Claude Code、Cursor、Codex、Gemini CLI,或任何 MCP 客户端——即可驱动服务器并读取运行结果,同时真实机器人客户端通过实际的 Minecraft 协议加入服务器。

你正在测试的插件不需要做任何改动。 无需采用测试框架,无需插桩源码,也无需模拟服务器:被测插件会在真实服务器上经历真实生命周期。这也意味着它适用于你没有编写的插件——任何已安装的插件都可以测试。

Agent 可以做什么

  • 生成并控制测试玩家——使用真实协议客户端,而不是模拟的 Player 对象
  • 以控制台或玩家身份执行命令
  • 打开、读取、点击背包,并对插件 GUI 进行断言
  • 右键点击 NPC 和村民,触发商店或任务发布者的实际交互方式
  • 移动玩家、破坏和使用方块、聊天
  • 等待事件和条件,而不是休眠
  • 读取玩家的完整屏幕内容:菜单、聊天、快捷栏消息、标题、Boss 栏、记分板
  • 读取实时服务器状态:事件、日志、异常、权限
  • 同时驱动多台服务器——BungeeCord 网络中的每个后端各建立一个会话

MCP 工具

工具功能
session_start连接到正在运行的服务器;代理网络可同时建立多个会话
session_reset断开所有机器人,或关闭一个会话
server_info实现类型、版本、TPS、在线玩家、已安装插件
logs_query按严重级别和正则表达式搜索服务器日志
events_summary统计一段时间内按类型捕获的 Bukkit 事件数量
events_query读取单条捕获事件,可按类型和玩家筛选
exceptions_recent按类型统计不同异常;可按需获取完整堆栈跟踪
state_query实时服务器状态——player(包括权限检查)、block、inventory(插件 GUI 内容唯一存在的位置)、plugin(命令、权限、实时配置)
command_exec以控制台或任意玩家的身份运行命令,包含所有权限
wait_for阻塞等待条件成立——ticks、block_is、block_is_not、event、player_online、player_offline、player_near、player_state、inventory_open、inventory_contains、log_matches
bot_spawn将离线或通过 Microsoft 身份验证的 Minecraft 协议客户端作为测试玩家连接进来
bot_inspect查看机器人客户端收到的所有内容:聊天、快捷栏消息、标题、Boss 栏、记分板、生命值、效果、打开的菜单
bot_run_scenario一次调用即可运行完整的脚本化测试;失败时会报告失败步骤以及当时服务器正在执行的操作
bot_view单个机器人的实时本地主机查看器——世界,或机器人当前打开的菜单
场景步骤

bot_run_scenario 会按以下步骤编写完整测试——失败时会报告出错步骤,以及当时服务端正在执行的操作:

类别步骤功能
世界与移动spawn连接机器人,并等待其站在世界中
despawn断开机器人的连接
move_to通过真实物理机制移动到目标位置——压力板和移动监听器都会触发;可使用 teleport 模式进行设置
look_at面向一个方块或位置
jump跳跃
sneak开始或停止潜行
sprint开始或停止疾跑
方块与物品break_block通过真实挖掘破坏方块
place_block放置手中的方块
use_block右键点击方块——按钮、门、箱子
hold_item将物品放入主手
drop_item丢弃手持物品
交互use_entity右键点击实体——实际触发商店或任务 NPC 的方式
attack_entity攻击实体
click_slot点击已打开菜单或 GUI 中的槽位
close_menu关闭已打开的菜单
chat以机器人身份发送聊天消息
command以机器人身份发送命令,包括权限在内
console在场景运行期间执行控制台命令
等待wait_for阻塞,直到条件满足——每个 wait_for 条件都可以作为步骤使用
断言assert_block断言方块类型
assert_player断言玩家的实时状态——位置、游戏模式、管理员权限、生命值
assert_event断言服务端触发了某个事件
assert_inventory断言已打开 GUI 或背包中的槽位
assert_message断言机器人的客户端收到的内容——聊天、动作栏、标题
assert_reachable断言可以实际步行到达某个位置

三部分如何配合、每个工具和步骤接受的参数,以及场景示例,请参阅 docs/reference.md。

版本支持

Minecraft 版本WindowsLinuxmacOS状态
1.18 – 1.20.6🟡🟡🟡计划支持;低于当前 Agent 的最低版本(1.21)
1.21 – 1.21.11🟢🟢🟢已支持并通过实时测试
26.1 – 26.1.2🟢🟢🟢已支持并通过实时测试
26.2 – 26.3,Agent🟢🟢🟢Agent 已支持:日志、事件、状态和命令,已在 Paper 26.2-134 和 26.3-200 上手动验证
26.2 – 26.3,机器人🔴🔴🔴暂不支持:mineflayer 最高支持到 26.1(#4)。session_start 会为 Agent 开启会话,并说明机器人无法加入的原因
后续版本🟡🟡🟡每个版本在加入前都需要进行兼容性测试
各操作系统的运行器支持情况
操作系统Node 源码运行器原生运行器资源说明
Windows x64🟢🟢已发布,且该平台用于运行兼容性矩阵测试
Linux x64 / arm64🟢🟢自 3.0.0 起发布
macOS Intel / Apple Silicon🟢🟢自 3.0.0 起发布,采用临时签名

图例: 🟢 已支持 · 🟡 计划支持或需要指定的运行时 · 🔴 不支持。

有关要求、各项声明的依据,以及版本矩阵的运行方式,请参阅 docs/reference.md。

安装

1. 安装插件 — 从最新版本(或 Modrinth)下载 VitaminMCP.jar,将其放入 plugins/,然后启动服务。

2. 将 MCP 服务添加到 AI 客户端 — 它运行在你的计算机上,而非服务端上:

Claude Code

claude mcp add vitaminmcp -- npx -y vitaminmcp

Claude Desktop、Cursor 或任何支持 JSON MCP 配置的客户端:

{
  "mcpServers": {
    "vitaminmcp": {
      "command": "npx",
      "args": ["-y", "vitaminmcp"]
    }
  }
}

它也已收录在 MCP 官方注册表,名称为 io.github.Backas03/vitaminmcp,因此支持注册表目录的客户端可以从那里添加它。

对于每个已加载项目都使用一个 stdio 进程的客户端,也可以让所有项目连接到 一个共享的回环服务。在 Windows 上, 运行 npx -y vitaminmcp service install 即可通过一条命令安装并验证该共享服务。

3. 让 Agent 自动完成配置 — 让它运行 setup 提示词(在 Claude Code 中: /mcp__vitaminmcp__setup)。它会查找正在运行的服务、检查插件并建立连接。

对于运行在本机上的服务,这样就足够了。Claude Code 插件(还附带测试技能)、其他客户端、从 jars 安装、 config.yml 默认值、bot 配置,以及通过 SSH 或 TLS 连接到服务端的说明,都在 INSTALL.md 中。

完整的安装和使用文档:backas03.github.io/VitaminMCP — 涵盖每个工具、场景运行、多服务会话和远程服务配置,详见 docs/usage.md。

贡献与构建

贡献规则见 CONTRIBUTING.md,从源代码构建的说明见 docs/reference.md,发布步骤见 docs/publishing.md。

许可证

MIT — 请参阅 LICENSE。jars 中捆绑的第三方代码及其许可证,列于 docs/reference.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。