Edison Watch

MCP Quarantine

กัก MCP server ที่เพิ่งตรวจพบใหม่บนเครื่องผู้ใช้โดยอัตโนมัติจนกว่าผู้ดูแลระบบจะตรวจสอบ

MCP Quarantine เป็นฟีเจอร์ที่ควบคุมโดยผู้ดูแลระบบซึ่งกัก MCP server ที่เพิ่งตรวจพบใหม่บนเครื่องผู้ใช้จนกว่าผู้ดูแลระบบจะตรวจสอบ หากไม่มีฟีเจอร์นี้ MCP server ใดๆ ที่ผู้ใช้เพิ่มเข้าไปใน AI client จะทำงานทันทีเป็น shadow MCP - มองไม่เห็นสำหรับองค์กรและเป็นแหล่งที่อาจเกิดการรั่วไหลของข้อมูล

ผู้ดูแลระบบตัดสินใจว่าจะเปิด quarantine หรือไม่ และสามารถเปิดหรือปิดได้ทุกเมื่อจาก Settings

วิธีการทำงาน

  1. Edison Watch desktop app คอยเฝ้าดูไฟล์กำหนดค่า MCP ของ AI client ที่รองรับทั้งหมด
  2. เมื่อเซิร์ฟเวอร์ที่ไม่รู้จักปรากฏขึ้น app จะเขียนกำหนดค่าใหม่เพื่อปิดใช้งานในเครื่อง
  3. กล่องโต้ตอบแจ้งผู้ใช้:
    • ผู้ดูแลระบบ เห็น Add to Edison และ Skip for Now
    • ผู้ใช้ทั่วไป เห็น Request Approval และ Skip for Now หากมีเซิร์ฟเวอร์หลายตัวรอดำเนินการ ปุ่ม bulk Add All / Request All / Skip All จะปรากฏ
  4. คำขอที่รอดำเนินการจะปรากฏในหน้า Overview ของผู้ดูแลระบบเพื่อตรวจสอบ
  5. เมื่อ Approve เซิร์ฟเวอร์จะได้รับอนุญาตในรอบการค้นพบถัดไป เมื่อ Reject เซิร์ฟเวอร์จะยังคงปิดใช้งานและผู้ใช้สามารถยื่นคำขอใหม่ได้ในภายหลัง หลังจาก Skip for Now ผู้ใช้จะไม่ถูกถามอีกเว้นแต่ fingerprint ของเซิร์ฟเวอร์จะเปลี่ยน
Quarantine dialog on the desktop app

เซิร์ฟเวอร์ที่เคยได้รับการอนุมัติแล้วจะถูกกักแบบเงียบๆ (ไม่มีกล่องโต้ตอบ) - เฉพาะเซิร์ฟเวอร์ที่ใหม่จริงๆ เท่านั้นที่จะแจ้งเตือนให้ตรวจสอบ

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 ดังนั้นประเภทปลั๊กอินอื่นๆ เหล่านี้จึงอยู่นอกขอบเขต

ที่เกี่ยวข้อง