เลือกการรับส่งข้อมูลอย่างตั้งใจ
เซิร์ฟเวอร์ stdio ภายในเครื่องและบริการ HTTP ระยะไกลมีความต้องการในการติดตั้งใช้งานต่างกัน ใช้ทรานสปอร์ตระยะไกลที่รองรับ TLS และเส้นทางที่ผ่านการรับรองความถูกต้อง ตรวจสอบเวอร์ชันไคลเอนต์และเซิร์ฟเวอร์แทนการถือว่าทุกการติดตั้งใช้งานรองรับความสามารถเดียวกัน
ถือว่าเครื่องมือทุกตัวเป็น API
ตรวจสอบอาร์กิวเมนต์ บังคับใช้การอนุญาตเฉพาะผู้ใช้ และจำกัดทรัพยากร อย่าเปิดเผยการเรียกใช้เชลล์ตามอำเภอใจเป็นเครื่องมืออำนวยความสะดวก จำกัดปลายทางขาออกเมื่อเครื่องมือดึง URL และเก็บความลับออกจากคำอธิบายและการตอบกลับ
เก็บรวบรวมข้อมูลระบุตัวตนอย่างเหมาะสม
โฮสต์แบบไม่ต้อง KYC สามารถลดข้อมูลการสมัครของผู้ให้บริการได้ แต่บริการ MCP อาจยังต้องมีผู้ใช้ ความปลอดภัยของเซสชัน และการควบคุมการใช้งานในทางที่ผิดของตนเอง อธิบายสิ่งที่บันทึกและหลีกเลี่ยงการเก็บอินพุตของเครื่องมือโดยไม่มีวัตถุประสงค์ที่ชัดเจน
ติดตั้งใช้งานเพื่อความชัดเจนในการปฏิบัติงาน
รันภายใต้ผู้ใช้เฉพาะ ใช้การตรวจสอบสุขภาพ จำกัดเวลาคำขอ และรักษาการบัฟเฟอร์และเวลาหมดเวลาของรีเวิร์สพร็อกซีให้เข้ากันได้กับโปรโตคอล ทดสอบการยืนยันตัวตน การเพิกถอน การตัดการเชื่อมต่อ และการลองใหม่ก่อนให้สิทธิ์เขียน
จัดให้การยืนยันตัวตนสอดคล้องกับโปรโตคอลที่รองรับ
สำหรับการติดตั้ง MCP ที่ใช้ HTTP ให้ตรวจสอบข้อกำหนดการอนุญาตปัจจุบันของโปรโตคอลและเวอร์ชันที่ไคลเอนต์รองรับ การเข้าถึงทรัพยากรผ่าน OAuth เกี่ยวข้องกับผู้รับโทเค็น การค้นหา และขอบเขต ไม่ใช่เพียงรหัสผ่านบนหน้าแรก ใช้ HTTPS ตรวจสอบโทเค็นสำหรับทรัพยากรที่ต้องการ และเก็บข้อมูลรับรองแบบ bearer ออกจากสตริงคิวรี เซิร์ฟเวอร์ stdio ใช้ขอบเขตข้อมูลรับรองภายในเครื่องที่แตกต่างกัน
- ทดสอบคำขอที่ไม่ผ่านการรับรองความถูกต้อง
- ทดสอบคำขอที่ผ่านการยืนยันตัวตนนอกขอบเขตของมัน
- เพิกถอนข้อมูลรับรองและตรวจสอบว่าไม่สามารถใช้งานได้อีก
เอกสารอย่างเป็นทางการ: ข้อกำหนดการอนุญาต MCP
เผยแพร่ชุดเครื่องมือชุดแรกแบบจำกัด
เริ่มด้วยเครื่องมือแบบอ่านอย่างเดียวที่ส่งคืนข้อมูลในปริมาณจำกัด เพิ่มการเขียนไฟล์ การดำเนินการวงจรชีวิตเซิร์ฟเวอร์ หรือข้อความภายนอก เฉพาะหลังจากเข้าใจสิทธิ์และพฤติกรรมการทำซ้ำแล้วเท่านั้น ถือว่าเว็บเพจและเอกสารที่ส่งคืนมาเป็นอินพุตที่ไม่น่าเชื่อถือ พวกมันต้องไม่ขยายอำนาจของเซิร์ฟเวอร์เครื่องมืออย่างเงียบ ๆ
กำหนดพฤติกรรมโปรโตคอลให้แน่ชัดก่อนเขียนกฎพร็อกซี
บันทึกทั้งรีลีสเซิร์ฟเวอร์ SDK และรีวิชัน MCP ที่ไคลเอนต์จะใช้ ในรีวิชัน 2026-07-28 Streamable HTTP คำขอใช้ปลายทาง POST ตัวอย่างเก่าที่อาศัยเซสชันโปรโตคอลหรือสตรีม GET แบบแยกต่างหากเป็นรีวิชันที่แตกต่างกัน อย่าลบข้อกำหนดความเข้ากันได้ที่ดูเหมือนจำเป็นจนกว่าคุณจะรู้ว่าคุณรองรับไคลเอนต์ใด รีเวิร์สพร็อกซีต้องรักษาเฮดเดอร์ที่จำเป็น สถานะ HTTP และพฤติกรรมการสตรีมการตอบกลับสำหรับเวอร์ชันนั้น
- เริ่มต้นด้วยเครื่องมือแบบอ่านอย่างเดียวบนตัวรับฟัง loopback จากนั้นวางขอบเขต HTTPS/การรับรองความถูกต้องที่ตั้งใจไว้ไว้ด้านหน้า
- ทดสอบผลลัพธ์ปกติ ผลลัพธ์แบบสตรีมมิ่ง การหมดเวลา และไคลเอนต์ที่ตัดการเชื่อมต่อผ่านพร็อกซีสาธารณะ
- ตรวจสอบค่าของ Origin ที่อนุญาตตามที่การรับส่งข้อมูลกำหนด การตรวจสอบ Origin ไม่ใช่สิ่งทดแทนการยืนยันตัวตนของผู้เรียก
- หากเหตุการณ์มาถึงเฉพาะตอนท้าย ให้ตรวจสอบการบัฟเฟอร์ของพร็อกซีและพฤติกรรมของไทม์เอาต์ก่อนแก้ไขโค้ดเครื่องมือ
เอกสารอย่างเป็นทางการ: MCP 2026-07-28: สตรีมได้ HTTP
ทดสอบความล้มเหลวในการอนุญาตอย่างตั้งใจเท่ากับความสำเร็จ
สำหรับการเข้าถึง HTTP ที่ได้รับการป้องกันด้วย OAuth เซิร์ฟเวอร์ MCP ถือเป็นทรัพยากรที่ได้รับการป้องกัน ทดสอบการค้นพบเมทาดาทา ผู้ออกโทเค็นที่คาดหวังและผู้รับโทเค็น และสโคปที่จำเป็นสำหรับการดำเนินการเฉพาะ เก็บโทเค็นการอนุญาตไว้นอกสตริงคิวรีของ URL และอย่าส่งต่อโทเค็นนั้นโดยไม่เปลี่ยนแปลงไปยังบริการปลายทางที่ไม่เกี่ยวข้อง ความล้มเหลวในการยืนยันตัวตนฝั่งไคลเอนต์ต้องคงการท้าทาย HTTP ที่เหมาะสมไว้ เพื่อให้ไคลเอนต์สามารถกู้คืนผ่านโฟลว์ที่รองรับได้
- ไม่มีโทเค็นหรือโทเค็นหมดอายุ: ปลายทางที่ได้รับการป้องกันจะปฏิเสธการเข้าถึงแทนที่จะส่งคืนข้อมูลเครื่องมือที่เป็นส่วนตัว
- โทเคนที่ถูกต้องแต่มีสิทธิ์ไม่เพียงพอ: ทรัพยากรที่ร้องขอยังคงไม่สามารถเข้าถึงได้
- โทเคนสำหรับผู้รับกลุ่มอื่น: ปฏิเสธแม้ว่าลายเซ็นจะถูกต้องตามเกณฑ์อื่น
- URL ภายนอกหรือพาธไฟล์ที่ไม่คาดคิด: ตรวจสอบกับแหล่งอ้างอิงของเครื่องมือก่อนดึงหรือเขียน
- บันทึกและร่องรอยข้อผิดพลาด: เก็บตัวระบุการดำเนินการและผลลัพธ์ไว้ พร้อมลบโทเค็นและข้อมูลอินพุตของเครื่องมือที่เป็นความลับ
เอกสารอย่างเป็นทางการ: MCP 2026-07-28: การอนุญาต HTTP · MCP: แนวปฏิบัติที่ดีที่สุดด้านความปลอดภัย