VitaminMCP
VitaminMCP can be downloaded and installed from Modrinth, providing a distribution channel for the plugin.
VitaminMCP
Test your plugins with an AI agent — on a real running server, with real players.

Documentation · Modrinth · npm · Issues
VitaminMCP is a Paper/Purpur plugin that opens an MCP (Model Context Protocol) endpoint from inside your running server. Connect an AI agent — Claude Code, Cursor, Codex, Gemini CLI, any MCP client — and it can drive the server and read back what happened, while real bot clients join over the actual Minecraft protocol.
Nothing about the plugin you are testing changes. No test framework to adopt, no source to instrument, no mock server: the plugin under test runs on a real server through its real lifecycle. That also means it works on plugins you did not write — anything installed is testable.
What the agent can do
Spawn and control test players — real protocol clients, not mock
PlayerobjectsExecute commands as the console or as a player
Open, read, click and assert on inventories and plugin GUIs
Right-click NPCs and villagers, the way a shop or quest giver is actually triggered
Move players, break and use blocks, chat
Wait for events and conditions instead of sleeping
Read the player's whole screen: menus, chat, action bar, titles, boss bars, scoreboard
Read live server state: events, logs, exceptions, permissions
Drive several servers at once — one session per backend of a BungeeCord network
Related MCP server: Minecraft RCON MCP Server
MCP tools
Tool | What it does |
| Connect to a running server; several sessions at once for proxied networks |
| Disconnect every bot, or close a session |
| Implementation, version, TPS, online players, installed plugins |
| Search server logs by severity and regular expression |
| Count captured Bukkit events by type over a time window |
| Read individual captured events, filtered by type and player |
| Distinct exceptions with counts; full stack trace on demand |
| Live server state — |
| Run a command as the console or as any player, permissions and all |
| Block until a condition holds — |
| Connect an offline or Microsoft-authenticated Minecraft protocol client as a test player |
| Everything the bot's client was sent: chat, action bar, titles, boss bars, scoreboard, health, effects, open menu |
| Run a whole scripted test in one call; a failure reports the failing step and what the server was doing at that moment |
| Live localhost viewer for one bot — the world, or the menu it has open |
Scenario steps
bot_run_scenario scripts a whole test from these steps — a failure reports the failing step and
what the server was doing at that moment:
Category | Step | What it does |
World & movement |
| Connect the bot and wait until it is standing in the world |
| Disconnect the bot | |
| Walk there through real physics — pressure plates and move listeners fire; | |
| Face a block or position | |
| Jump | |
| Start or stop sneaking | |
| Start or stop sprinting | |
Blocks & items |
| Break a block, through real digging |
| Place a block from the hand | |
| Right-click a block — buttons, doors, chests | |
| Put an item into the main hand | |
| Drop the held item | |
Interaction |
| Right-click an entity — the way a shop or quest NPC is actually triggered |
| Attack an entity | |
| Click a slot in the open menu or GUI | |
| Close the open menu | |
| Send a chat message as the bot | |
| Send a command as the bot, permissions and all | |
| Run a console command mid-scenario | |
Waiting |
| Block until a condition holds — every |
Assertions |
| Assert what a block is |
| Assert a player's live state — position, game mode, op, health | |
| Assert that an event fired on the server | |
| Assert the slots of the open GUI or an inventory | |
| Assert what the bot's client was told — chat, action bar, title | |
| Assert a position can actually be walked to |
How the three pieces fit together, what every tool and step accepts, and an example scenario are in docs/reference.md.
Version support
Minecraft version | Windows | Linux | macOS | Status |
1.18 – 1.20.6 | 🟡 | 🟡 | 🟡 | Planned; below the current agent floor (1.21) |
1.21 – 1.21.11 | 🟢 | 🟢 | 🟢 | Supported and live-tested |
26.1 – 26.1.2 | 🟢 | 🟢 | 🟢 | Supported and live-tested; the server needs Java 25 |
26.2 and later | 🟡 | 🟡 | 🟡 | Released; each needs a compatibility run before it is added |
Runner support by operating system
Operating system | Node source runner | Native runner asset | Meaning |
Windows x64 | 🟢 | 🟢 | Published, and the platform the matrix is run on |
Linux x64 / arm64 | 🟢 | 🟢 | Published since 3.0.0 |
macOS Intel / Apple Silicon | 🟢 | 🟢 | Published since 3.0.0, ad-hoc signed |
Legend: 🟢 supported · 🟡 planned or requires the stated runtime · 🔴 unsupported.
Requirements, where each claim comes from, and how the version matrix is run are in docs/reference.md.
Setup
1. Install the plugin — download VitaminMCP.jar from the
latest release (or from
Modrinth), drop it into plugins/, and start the server.
2. Add the MCP server to your AI client — it runs on your machine, not on the server:
Claude Code
claude mcp add vitaminmcp -- npx -y vitaminmcpClaude Desktop, Cursor, or any client with a JSON MCP config:
{
"mcpServers": {
"vitaminmcp": {
"command": "npx",
"args": ["-y", "vitaminmcp"]
}
}
}It is also on the official MCP registry as
io.github.Backas03/vitaminmcp, so clients with a registry catalogue can add it from there.
3. Let the agent wire itself up — ask it to run the setup prompt (in Claude Code:
/mcp__vitaminmcp__setup). It finds the running server, checks the plugin, and connects.
That is enough for a server on this machine. The Claude Code plugin (which also brings the testing
skill), other clients, installing from the jars, config.yml defaults, bot setup, and reaching a
server behind SSH or TLS are all in INSTALL.md.
Full installation and usage docs: backas03.github.io/VitaminMCP — every tool, scenario runs, multi-server sessions, and remote-server setup are covered in docs/usage.md.
Contributing and building
Contribution rules are in CONTRIBUTING.md, building from source in docs/reference.md, and release steps in docs/publishing.md.
License
MIT — see LICENSE. The third-party code bundled in the jars, and its licenses, are listed in docs/reference.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for Pinchwork - an agent-to-agent task marketplace with credits-based economy
MCP server teaching AI agents to implement TideCloak: auth, E2EE, IGA, security analysis
Cloudflare Workers MCP server: ai-agent-scratchpad
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to play and interact with Minecraft servers through mineflayer, providing automated actions like mining, movement, crafting, and real-time game event monitoring.7 npm8MIT
- AlicenseAqualityDmaintenanceConnects AI agents to Minecraft servers via RCON to execute commands, monitor logs, and perform read-only SQLite database queries. It is specifically designed to facilitate AI-assisted plugin development, live debugging, and automated testing workflows.611MIT
- AlicenseAqualityAmaintenanceA local-first MCP server that gives AI coding agents persistent memory and controlled commands. Features a git-backed markdown knowledge vault with FTS5 search, surgical section edits, token-aware context budgeting, and a sandboxed command engine with human approval gates. Works with Claude Code, Cursor, Copilot, Gemini, and more.458249 npm1Apache 2.0
- AlicenseNot gradedqualityBmaintenanceA local MCP server that lets AI coding agents compile, run, and test Paper Minecraft plugins on a disposable Paper runtime, with restricted test actions and verifiable failure reports.MIT