Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Test Minecraft plugins end to end: drive a real Paper server and real protocol bots.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"vitaminmcp": {
"command": "npx",
"args": [
"-y",
"vitaminmcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add vitaminmcp -- npx -y vitaminmcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"vitaminmcp": {
"command": "npx",
"args": [
"-y",
"vitaminmcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"vitaminmcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"vitaminmcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Backas03 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (3.2.2) เข้า registry 17 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Intervals MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Remote MCP server for intervals.icu run data and analysis
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.
Player objects| Tool | What it does |
|---|---|
session_start | Connect to a running server; several sessions at once for proxied networks |
session_reset | Disconnect every bot, or close a session |
server_info | Implementation, version, TPS, online players, installed plugins |
logs_query | Search server logs by severity and regular expression |
events_summary | Count captured Bukkit events by type over a time window |
events_query | Read individual captured events, filtered by type and player |
exceptions_recent | Distinct exceptions with counts; full stack trace on demand |
state_query | Live server state — player (including permission checks), block, inventory (the only place a plugin GUI's contents exist), plugin (commands, permissions, live config) |
command_exec | Run a command as the console or as any player, permissions and all |
wait_for | Block until a condition holds — ticks, block_is, block_is_not, event, player_online, player_offline, player_near, player_state, inventory_open, inventory_contains, log_matches |
bot_spawn | Connect an offline or Microsoft-authenticated Minecraft protocol client as a test player |
bot_inspect | Everything the bot's client was sent: chat, action bar, titles, boss bars, scoreboard, health, effects, open menu |
bot_run_scenario | Run a whole scripted test in one call; a failure reports the failing step and what the server was doing at that moment |
bot_view | Live localhost viewer for one bot — the world, or the menu it has open |
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 | spawn | Connect the bot and wait until it is standing in the world |
despawn | Disconnect the bot | |
move_to | Walk there through real physics — pressure plates and move listeners fire; teleport mode for setup | |
look_at | Face a block or position | |
jump | Jump | |
sneak | Start or stop sneaking | |
sprint | Start or stop sprinting | |
| Blocks & items | break_block | Break a block, through real digging |
place_block | Place a block from the hand | |
use_block | Right-click a block — buttons, doors, chests | |
hold_item | Put an item into the main hand | |
drop_item | Drop the held item | |
| Interaction | use_entity | Right-click an entity — the way a shop or quest NPC is actually triggered |
attack_entity | Attack an entity | |
click_slot | Click a slot in the open menu or GUI | |
close_menu | Close the open menu | |
chat | Send a chat message as the bot | |
command | Send a command as the bot, permissions and all | |
console | Run a console command mid-scenario | |
| Waiting | wait_for | Block until a condition holds — every wait_for condition is available as a step |
| Assertions | assert_block | Assert what a block is |
assert_player | Assert a player's live state — position, game mode, op, health | |
assert_event | Assert that an event fired on the server | |
assert_inventory | Assert the slots of the open GUI or an inventory | |
assert_message | Assert what the bot's client was told — chat, action bar, title | |
assert_reachable | 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.
| 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 |
| 26.2 – 26.3, agent | 🟢 | 🟢 | 🟢 | Agent supported: logs, events, state and commands, checked by hand on Paper 26.2-134 and 26.3-200 |
| 26.2 – 26.3, bots | 🔴 | 🔴 | 🔴 | Not yet: mineflayer stops at 26.1 (#4). session_start opens for the agent and says why bots cannot join |
| Later releases | 🟡 | 🟡 | 🟡 | Each needs a compatibility run before it is added |
| 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.
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 vitaminmcp
*Claude 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.
Clients that keep one stdio process per loaded project can instead connect all projects to one shared loopback server. On Windows, npx -y vitaminmcp service install installs and verifies that shared server in one command.
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](https://backas03.github.io/VitaminMCP/) — every tool, scenario runs, multi-server sessions, and remote-server setup are covered in docs/usage.md.
Contribution rules are in CONTRIBUTING.md, building from source in docs/reference.md, and release steps in docs/publishing.md.
MIT — see LICENSE. The third-party code bundled in the jars, and its licenses, are listed in docs/reference.md.