Nemeton MCP
ทางการบริดจ์ MCP แบบโอเพนซอร์สสำหรับ Nemeton: สร้าง เริ่มทำงาน สแนปช็อต และควบคุมเครื่องเสมือน macOS แบบเนทีฟจาก Claude Desktop, Claude Code หรือ Cursor รวมถึงการทำงานอัตโนมัติของ UI ภายในเกสต์ ทำงานในเครื่องบน Apple silicon
คุณทำอะไรได้บ้างด้วย Nemeton MCP?
- สร้างและกำหนดค่า VM — ขอให้ผู้ช่วยของคุณสร้าง VM ด้วยดิสโทรที่เลือก จำนวน CPU และ RAM แล้วอัปเดตหรือโคลนในภายหลัง
- ควบคุมสถานะพลังงานของ VM — เริ่ม หยุด พักชั่วคราว ดำเนินการต่อ ระงับ หรือบังคับหยุด VM และตรวจสอบสถานะการระงับ
- เรียกใช้คำสั่งผ่าน SSH — ใช้
ssh_executeเพื่อเรียกใช้คำสั่งภายใน VM และvm_ipเพื่อค้นหาที่อยู่ของมัน - ถ่ายโอนไฟล์ — อัปโหลด ดาวน์โหลด และแสดงรายการไฟล์ภายใน VM ด้วย
file_upload,file_downloadและfile_list - จัดการสแนปช็อต — สร้าง แสดงรายการ กู้คืน และลบสแนปช็อต CoW ของ VM
- อ่านคอนโซลและภาพหน้าจอ — ส่งอินพุตคอนโซล อ่านเอาต์พุต เรียกใช้คำสั่งคอนโซล และจับภาพหน้าจอ
เอกสาร
Nemeton MCP Server
ควบคุมเครื่องเสมือน macOS แบบเนทีฟจาก Claude Desktop, Claude Code, Cursor หรือไคลเอนต์ MCP ใดก็ได้
นี่คือบริดจ์ Model Context Protocol อย่างเป็นทางการสำหรับ Nemeton — แอป macOS แบบเนทีฟที่สร้างและจัดการ VM ทั้ง Linux และ macOS โดยใช้ Virtualization.framework ของ Apple (ไม่ต้องใช้ Parallels ไม่ต้องใช้ VMware ไม่มีค่าสมัครสมาชิก)
คุณต้องติดตั้งและเปิดแอป Nemeton ไว้ เซิร์ฟเวอร์ MCP นี้เป็นเพียงบริดจ์บาง ๆ จาก stdio→HTTP — ตรรกะของ VM จริงนั้นอยู่ในแอป ดาวน์โหลด Nemeton ได้ที่ store.juergenkoller.software/apps/nemeton
สิ่งที่คุณทำได้
"Claude ช่วยสร้าง VM Ubuntu 24.04 ที่มี 4 CPU และ RAM 8 GB ติดตั้ง Docker แล้วบอกฉันเมื่อเสร็จ"
เซิร์ฟเวอร์ MCP นี้มี เครื่องมือมากกว่า 50 รายการ ในหมวดหมู่ต่อไปนี้:
| หมวดหมู่ | เครื่องมือ |
|---|---|
| วงจรชีวิต VM | list_vms, get_vm, create_vm, update_vm, clone_vm, delete_vm, reorder_vms, stop_all |
| การควบคุม VM | start_vm, stop_vm, force_stop_vm, pause_vm, resume_vm, suspend_vm, get_suspend_status |
| สแนปช็อต (CoW บน APFS) | list_snapshots, create_snapshot, restore_snapshot, delete_snapshot |
| คอนโซล | send_console, read_console, console_execute, take_screenshot |
| เครือข่ายและไฟล์ | vm_ip, ssh_execute, file_upload, file_download, file_list |
| การควบคุม GUI | gui_launch, gui_windows, vscode_command, select_vm |
| บริดจ์คลิปบอร์ด | clipboard_read, clipboard_write |
| ข้อมูลโฮสต์ | get_host_info, get_metrics |
| พื้นที่จัดเก็บ | resize_disk, export_vm, import_vm |
| ดิสโทร | list_distros (Ubuntu, Debian, Fedora, Arch — ดาวน์โหลด ISO อัตโนมัติ) |
| การแสดงผล | fullscreen_enter, fullscreen_exit, fullscreen_toggle |
| เว็บฮุก | list_webhooks, register_webhook, delete_webhook |
| รันไทม์ | vm_runtime, vm_errors, list_downloads |
แต่ละเครื่องมือจะคืนค่า JSON แบบมีโครงสร้าง พร้อมสถานะ VM เมทาดาทาของสแนปช็อต เอาต์พุตคอนโซล หรือผลลัพธ์ของการดำเนินการ
การติดตั้ง
ข้อกำหนดเบื้องต้น
- macOS 14 (Sonoma) หรือใหม่กว่า — จำเป็นสำหรับฟีเจอร์ของ
Virtualization.framework - ติดตั้งและเปิดแอป Nemeton ไว้ — ดาวน์โหลดได้ที่นี่
- Swift 5.9+ (Xcode 15+) หากต้องการสร้างจากซอร์สโค้ด นอกจากนี้ยังมีไบนารีที่สร้างไว้ล่วงหน้าให้ใช้งาน
สร้างจากซอร์สโค้ด
git clone https://github.com/juergenkoller-software/nemeton-mcp.git
cd nemeton-mcp
swift build -c release
# Binary: .build/release/NemetonMCP
ไบนารีที่สร้างไว้ล่วงหน้า
ดาวน์โหลดไบนารี NemetonMCP เวอร์ชันล่าสุดได้จาก หน้า Releases
การกำหนดค่า
Claude Desktop
แก้ไขไฟล์ ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"nemeton": {
"command": "/path/to/NemetonMCP",
"env": {
"NEMETON_PORT": "22100",
"NEMETON_TOKEN": "your-token-here"
}
}
}
}
รับ NEMETON_TOKEN ได้จาก Nemeton → Settings → API & Integrations
Claude Code
เพิ่มใน ~/.claude/mcp.json (หรือผ่าน claude mcp add):
claude mcp add nemeton /path/to/NemetonMCP \
--env NEMETON_PORT=22100 \
--env NEMETON_TOKEN=your-token-here
Cursor / ไคลเอนต์ MCP อื่น ๆ
รูปแบบเดียวกัน: กำหนดค่า NemetonMCP เป็นเซิร์ฟเวอร์ MCP แบบ stdio พร้อมตัวแปรสภาพแวดล้อมสองตัวข้างต้น
วิธีการทำงาน
┌────────────────┐ JSON-RPC stdio ┌────────────────┐ HTTP+Bearer ┌────────────────┐
│ Claude/Cursor │ ───────────────► │ NemetonMCP │ ─────────────► │ Nemeton.app │
│ (MCP client) │ ◄─────────────── │ (this repo) │ ◄───────────── │ (port 22100) │
└────────────────┘ └────────────────┘ └────────────────┘
บริดจ์จะอ่านคำขอ JSON-RPC 2.0 จาก stdin ส่งต่อไปยังเซิร์ฟเวอร์ HTTP ภายในเครื่องของ Nemeton ที่ 127.0.0.1:22100/mcp แล้วเขียนการตอบกลับกลับไปที่ stdout การยืนยันตัวตน ตรรกะของ VM และการกระจายเครื่องมือทั้งหมดเกิดขึ้นภายในแอป Nemeton
การแยกส่วนนี้ทำให้เราสามารถเปิดเผยรูปแบบการสื่อสาร MCP แบบโอเพนซอร์สได้ (เพื่อให้คุณตรวจสอบ แยกโค้ดไปพัฒนา หรือรันผ่านเลเยอร์แซนด์บ็อกซ์ใดก็ได้ที่คุณต้องการ) ในขณะที่กลไกภายในของ VM ยังคงอยู่ในแอป
ตัวแปรสภาพแวดล้อม
| ตัวแปร | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
NEMETON_PORT | 22100 | พอร์ตของเซิร์ฟเวอร์ HTTP ภายในเครื่องของ Nemeton |
NEMETON_TOKEN | (ไม่มี) | โทเคน Bearer จาก Nemeton Settings (จำเป็นสำหรับการดำเนินการเขียน) |
ข้อผิดพลาดและบันทึกการติดตามจะถูกเขียนไปที่ stderr เพื่อไม่ให้ปนเปื้อนช่อง stdout ของ JSON-RPC
เกี่ยวกับ Nemeton
Nemeton เป็นแอป macOS แบบเนทีฟสำหรับสร้างและจัดการเครื่องเสมือนโดยใช้ Virtualization.framework ของ Apple ไฮไลต์:
- ไม่มีค่าสมัครสมาชิก — ซื้อขาดครั้งเดียว €389
- VM ทั้ง Linux และ macOS พร้อมดาวน์โหลด ISO/IPSW อัตโนมัติ
- สแนปช็อต CoW บน APFS — บันทึกสถานะ VM โดยไม่เปลืองพื้นที่ดิสก์
- REST API + เหตุการณ์ WebSocket (42 เอนด์พอยต์) สำหรับระบบอัตโนมัติ
- เซิร์ฟเวอร์ MCP (รีโปนี้) สำหรับ Claude/เอเจนต์ AI
- ประสิทธิภาพแบบเนทีฟ — ใช้เฟรมเวิร์กของ Apple โดยตรง ไม่มีโอเวอร์เฮดจาก QEMU
- ทำงานในเครื่อง 100% — ไม่มีคลาวด์ ไม่มีเทเลเมทรี
→ ดาวน์โหลด Nemeton ได้ที่ store.juergenkoller.software
สัญญาอนุญาต
MIT — ดู LICENSE บริดจ์เป็นโอเพนซอร์ส ส่วนแอป Nemeton เองเป็นซอฟต์แวร์เชิงพาณิชย์
ปัญหาและการสนับสนุน
- บั๊กของบริดจ์: เปิด issue
- การสนับสนุนแอป: support@juergenkoller.software
สร้างโดย Juergen Koller Software GmbH