MCP Quarantine
กัก MCP server ที่เพิ่งตรวจพบใหม่บนเครื่องผู้ใช้โดยอัตโนมัติจนกว่าผู้ดูแลระบบจะตรวจสอบ
MCP Quarantine เป็นฟีเจอร์ที่ควบคุมโดยผู้ดูแลระบบซึ่งกัก MCP server ที่เพิ่งตรวจพบใหม่บนเครื่องผู้ใช้จนกว่าผู้ดูแลระบบจะตรวจสอบ หากไม่มีฟีเจอร์นี้ MCP server ใดๆ ที่ผู้ใช้เพิ่มเข้าไปใน AI client จะทำงานทันทีเป็น shadow MCP - มองไม่เห็นสำหรับองค์กรและเป็นแหล่งที่อาจเกิดการรั่วไหลของข้อมูล
ผู้ดูแลระบบตัดสินใจว่าจะเปิด quarantine หรือไม่ และสามารถเปิดหรือปิดได้ทุกเมื่อจาก Settings
วิธีการทำงาน
- Edison Watch desktop app คอยเฝ้าดูไฟล์กำหนดค่า MCP ของ AI client ที่รองรับทั้งหมด
- เมื่อเซิร์ฟเวอร์ที่ไม่รู้จักปรากฏขึ้น app จะเขียนกำหนดค่าใหม่เพื่อปิดใช้งานในเครื่อง
- กล่องโต้ตอบแจ้งผู้ใช้:
- ผู้ดูแลระบบ เห็น Add to Edison และ Skip for Now
- ผู้ใช้ทั่วไป เห็น Request Approval และ Skip for Now หากมีเซิร์ฟเวอร์หลายตัวรอดำเนินการ ปุ่ม bulk Add All / Request All / Skip All จะปรากฏ
- คำขอที่รอดำเนินการจะปรากฏในหน้า Overview ของผู้ดูแลระบบเพื่อตรวจสอบ
- เมื่อ Approve เซิร์ฟเวอร์จะได้รับอนุญาตในรอบการค้นพบถัดไป เมื่อ Reject เซิร์ฟเวอร์จะยังคงปิดใช้งานและผู้ใช้สามารถยื่นคำขอใหม่ได้ในภายหลัง หลังจาก Skip for Now ผู้ใช้จะไม่ถูกถามอีกเว้นแต่ fingerprint ของเซิร์ฟเวอร์จะเปลี่ยน
เซิร์ฟเวอร์ที่เคยได้รับการอนุมัติแล้วจะถูกกักแบบเงียบๆ (ไม่มีกล่องโต้ตอบ) - เฉพาะเซิร์ฟเวอร์ที่ใหม่จริงๆ เท่านั้นที่จะแจ้งเตือนให้ตรวจสอบ
AI Client ที่รองรับ
Stable (ครอบคลุมโดยการทดสอบ end-to-end):
- Claude Code
- Cursor (รวมถึง Cursor plugins)
- VS Code
- Codex CLI
Beta (รองรับ แต่มีการครอบคลุมน้อยกว่า - โปรดรายงานปัญหา):
- Claude Desktop
- Claude Cowork
- Windsurf
- Zed
- JetBrains IDEs (IntelliJ, PyCharm, WebStorm)
การเปิดใช้งาน Auto-Quarantine
Auto-quarantine เป็นการตั้งค่าระดับองค์กรที่ควบคุมโดยผู้ดูแลระบบ ค่าเริ่มต้นคือ on สำหรับองค์กรใหม่
- จาก onboarding checklist ผู้ดูแลระบบใหม่จะเห็นขั้นตอน Enable auto-quarantine for MCP servers เมื่อลงชื่อเข้าใช้ครั้งแรก
- จาก settings ไปที่ Settings → General → MCP Auto-Quarantine การสลับจะ sync ไปยัง desktop client ทุกเครื่องในองค์กรทันที
การตรวจสอบคำขอ Quarantine
คำขอ quarantine ที่รอดำเนินการจะปรากฏในหน้า Overview ของผู้ดูแลระบบภายใต้ Quarantine Requests แต่ละแถวแสดงชื่อเซิร์ฟเวอร์ source app (Cursor, Claude Code ฯลฯ) อีเมลผู้ขอ เวลาที่ยื่น และเหตุผลใดๆ ที่ผู้ใช้ให้
สามการกระทำต่อคำขอ:
- Approve - เพิ่มเซิร์ฟเวอร์ไปยังองค์กร หากมีเซิร์ฟเวอร์ชื่อเดียวกันอยู่แล้ว คุณจะถูกแจ้งเตือนให้แก้ไขความขัดแย้ง
- Reject - ผู้ใช้สามารถยื่นคำขอใหม่ได้ในภายหลัง
- Verify - ตรวจสอบรายการเครื่องมือของเซิร์ฟเวอร์เพื่อให้คุณเห็นว่ากำลังอนุมัติอะไร
การปิดใช้งาน Auto-Quarantine
การสลับการตั้งค่าเป็น off จะหยุดการกักเซิร์ฟเวอร์ใหม่ตั้งแต่นั้นเป็นต้นไป แต่เซิร์ฟเวอร์ที่เคยถูกกักไว้จะยังคงปิดใช้งานอยู่จนกว่าผู้ดูแลระบบจะอนุมัติหรือผู้ใช้ลบออกด้วยตนเอง
เมื่อ auto-quarantine ปิดอยู่ MCP server ใดๆ ที่เพิ่มเข้าไปใน AI client ของผู้ใช้ - ไม่ว่าจะโดยผู้ใช้หรือโดยคำสั่งที่ถูก prompt-inject - จะทำงานเป็น shadow MCP โดยไม่มีการมองเห็นของผู้ดูแลระบบ
ข้อจำกัด
ต้องเปิด desktop app ทำงาน Quarantine ถูกบังคับใช้โดย Edison Watch desktop app หาก app ไม่ทำงาน จะไม่มีการตรวจสอบบนเครื่องนั้น - MCP server ใดๆ ที่เพิ่มเข้าไปใน AI client ในขณะที่ app ปิดอยู่จะเริ่มทำงานตามปกติจนกว่า app จะเปิดในครั้งต่อไปและตามทัน เรากำลังพัฒนา background daemon ที่จะทำให้ auto-quarantine ทำงานต่อไปแม้ว่าหน้าต่าง desktop app จะปิดหรือยังไม่ได้เปิดใช้งาน เพื่อปิดช่องว่างนี้
ปลั๊กอินที่ไม่ใช่ MCP อยู่นอกขอบเขต ส่วนขยายบางอย่างใน client เช่น Claude Code และ Cursor ไม่ใช่ MCP server - เป็น installation script หรือ native plugin ที่ไม่ผ่าน MCP protocol Edison Watch สามารถเห็นและกักเฉพาะสิ่งที่ประกาศเป็น MCP server ดังนั้นประเภทปลั๊กอินอื่นๆ เหล่านี้จึงอยู่นอกขอบเขต

