Boom Field Lab

MCP คืออะไร — ต่อ AI agent เข้ากับ Supabase, Vercel, Stripe ยังไงให้ไม่เปิดประตูทิ้งไว้

MCP ทำให้ Claude Code หยิบข้อมูลและสั่งงานระบบจริงได้เอง ซึ่งแปลว่าความสะดวกมาพร้อมความเสี่ยง บทความนี้สรุปสิ่งที่ Supabase, Vercel และ Stripe เขียนไว้เองเรื่องการต่อ MCP อย่างปลอดภัย (ตรวจ ก.ย. 2026) และกติกาที่ผมใช้กับระบบที่แตะเงินจริง

โดย วรัญชัย ยิ่งคำนึง (Boom) · เผยแพร่ครั้งแรก · ตรวจทานล่าสุด

ห้องเซิร์ฟเวอร์มืดมีสายเคเบิลเรืองแสงเชื่อมต่อกัน พร้อมข้อความ ต่อ AI เข้าระบบจริง เปิดเท่าที่งานต้องใช้

ตอนเริ่มใช้ Claude Code วิธีให้ข้อมูลที่คุ้นที่สุดคือก็อปวาง แต่พอสร้าง product จริง งานส่วนใหญ่คือการดึงข้อมูลจากที่หนึ่ง เทียบกับอีกที่ แล้วสั่งงานต่อ MCP ทำให้ agent ทำเรื่องพวกนี้เองได้ — และนั่นคือเหตุผลที่ต้องคิดเรื่องสิทธิ์ก่อนเรื่องความสะดวก

MCP คืออะไร?

Anthropic ประกาศ MCP เมื่อ 25 พ.ย. 2024 โดยนิยามว่า:

"The Model Context Protocol is an open standard that enables developers to build secure, two-way connections between their data sources and AI-powered tools."

วิธีคิดที่ง่ายที่สุดคือปลั๊กไฟมาตรฐาน เครื่องใช้ไฟฟ้าหลายยี่ห้อเสียบรูเดียวกันได้ ฝั่งบริการ (ฐานข้อมูล · ระบบ deploy · ระบบจ่ายเงิน) เปิด "MCP server" ฝั่ง AI (Claude Code, Cursor, Codex ฯลฯ) เป็น "client" ที่เสียบเข้าไปใช้

แผนผังการเชื่อมต่อ MCP: agent ส่งคำขอผ่าน MCP client ไปยัง MCP server ของบริการ มีด่านสิทธิ์และการยืนยันจากคนก่อนถึงระบบจริง
เส้นทางของคำสั่งเมื่อ agent ใช้ MCP · จุดที่ต้องคุมคือด่านสิทธิ์และการยืนยันจากคน ไม่ใช่ตัว protocol

Supabase, Vercel, Stripe เขียนกติกาไว้ว่าอย่างไร?

ข้อดีของปี 2026 คือผู้ให้บริการหลักเขียนแนวปฏิบัติของตัวเองไว้แล้ว ผมสรุปจากเอกสารทางการ (ตรวจ 27 ก.ย. 2026):

บริการจุดเชื่อมต่อทางการสิ่งที่เอกสารของเขาเองแนะนำ
SupabaseMCP server ของ Supabaseจำกัดให้เห็นแค่โปรเจกต์เดียว · ใช้ read-only · ต่อโปรเจกต์ production เฉพาะเมื่องานต้องใช้หลักฐานจาก production จริง
Vercelhttps://mcp.vercel.com (OAuth)การต่อ = ให้ AI มีสิทธิ์เท่าบัญชี Vercel ของคุณ · รับเฉพาะ client ที่ Vercel ตรวจแล้ว · เปิด human confirmation เสมอ
Stripehttps://mcp.stripe.com (OAuth หรือ agent key)เปิด human confirmation · ระวัง prompt injection เมื่อใช้คู่ server อื่น · refund และการจ่ายออกต้องให้คนกดอนุมัติ

ประโยคจาก Supabase ที่ผมชอบที่สุด เพราะมันคือหลัก least-privilege แบบเขียนเป็นขั้นตอน:

"Connect to a production project only when the task requires production evidence. Use project scoping, read-only mode, restricted feature groups, and the narrowest data query that can answer the question."

และคำเตือนของ Vercel ที่ควรติดไว้ข้างจอ: "Connecting to Vercel MCP grants the AI system you're using the same access as your Vercel user account"

ทำไมระบบที่แตะเงินต้องมีคนกดยืนยัน?

Stripe เขียนไว้ตรงที่สุดในหน้าเครื่องมือ MCP ของเขา:

การ์ดข้อความจริงจากเอกสาร Stripe MCP แนะนำให้เปิด human confirmation และระวัง prompt injection เมื่อใช้ร่วมกับ server อื่น
ข้อความต้นฉบับจาก docs.stripe.com/mcp · ตรวจเมื่อ 27 ก.ย. 2026

"Enable human confirmation of tools and exercise caution when using the Stripe MCP with other servers to avoid prompt injection attacks."

เหตุผลคือ prompt injection: ถ้า agent อ่านข้อความจากแหล่งที่ไม่น่าไว้ใจ (หน้าเว็บ อีเมล ไฟล์ที่ลูกค้าส่งมา) แล้วในนั้นมีคำสั่งแฝง agent ที่มีสิทธิ์ refund อาจทำตามได้ Stripe จึงบังคับให้คนกดยืนยันก่อน action บางอย่าง เช่น refund และการจ่ายเงินออก และถ้าไม่อนุมัติภายใน 24 ชั่วโมง คำขอจะหมดอายุ

อีกเรื่องที่คนต่อ Stripe MCP ต้องรู้ตอนนี้: ตั้งแต่ 31 ต.ค. 2026 Stripe MCP จะไม่รับ secret key แบบ full-access หรือ restricted key ที่ไม่มีป้าย Agent อีกต่อไป ต้องเปลี่ยนเป็น agent key ที่ให้สิทธิ์เท่าที่จำเป็น หรือเชื่อมผ่าน OAuth แทน

กติกาที่ผมใช้จริงคืออะไร?

แผนภาพ 4 ชั้นของการเปิด MCP อย่างปลอดภัย: ยืนยันโดยคน OAuth หรือ key สิทธิ์น้อยสุด จำกัดโปรเจกต์ และ read-only เป็นฐาน
ลำดับการเปิดสิทธิ์ MCP · เริ่มจาก read-only เสมอ แล้วค่อยเพิ่มทีละชั้นเมื่องานต้องใช้จริง
  1. Read-only ก่อนเสมอ — ถ้างานแค่ต้องดู ห้ามให้สิทธิ์เขียน
  2. จำกัดขอบเขต — หนึ่งโปรเจกต์ หนึ่ง environment (sandbox ก่อน production)
  3. ใช้ OAuth หรือ key ที่สิทธิ์น้อยที่สุด — ไม่วาง key ตัวเต็มไว้ในไฟล์ตั้งค่า และไม่พิมพ์ key ลงใน command line
  4. คนกดยืนยัน action ที่ย้อนไม่ได้ — ลบ จ่ายเงิน deploy production

สถานะจริงของผม ณ วันที่เขียน: ในโปรเจกต์หลักของ lab มี MCP server ตั้งไว้ 1 ตัว (ต่อโมเดล local สำหรับงานที่ข้อมูลห้ามออกนอกเครื่อง) ส่วนระบบจ่ายเงินของ Boom Field Lab และฐานข้อมูลลูกค้า ยังไม่เปิดให้ agent ต่อผ่าน MCP — ไม่ใช่เพราะทำไม่ได้ แต่เพราะ downside ของความผิดพลาดครั้งเดียวสูงกว่าเวลาที่ประหยัดได้ งานพวกนั้นผ่านโค้ดที่ review แล้ว และด่านของ harness (อ่านเรื่อง hook ที่บล็อก agent)

เริ่มต่อ MCP ครั้งแรกควรทำยังไง?

  • เริ่มจาก server ตัวเดียว กับงานเล็กที่ตรวจผลได้ง่าย เช่น ค้นเอกสาร (Vercel และ Stripe มีเครื่องมือค้น docs ที่ไม่ต้องแตะข้อมูลจริง)
  • ใช้ข้อมูลตัวอย่างหรือ sandbox ก่อนต่อข้อมูลจริง
  • อ่านหน้า security ของผู้ให้บริการก่อนกดเชื่อม — ทั้งสามเจ้าที่อ้างในบทความนี้เขียนไว้ชัด
  • ถามตัวเองก่อนเปิดสิทธิ์ทุกครั้ง: "ถ้า agent ทำตามคำสั่งแฝงจากข้อความที่มันอ่าน ความเสียหายสูงสุดคืออะไร" ถ้าตอบว่า "เงินลูกค้า" ยังไม่ต้องเปิด

BOOM FIELD LAB

อยากเห็นว่าเครื่องมือพวกนี้ประกอบร่างเป็น Terminal จริงได้ยังไง?

Workshop 60 นาที — ดูการทำงานจริงบนหน้าจอ พร้อม workbook ให้ลงมือตาม ไม่ใช่สไลด์ทฤษฎี