กลับไปที่บล็อก
BananaBanana Teamtutorialmcpwindsurf

ตั้งค่า Windsurf MCP: สร้างรูปภาพใน Cascade

เพิ่มเซิร์ฟเวอร์ MCP ระยะไกลใน Windsurf และสร้างรูปภาพจากแชทของเอเจนต์: mcp_config.json, การแยกคอนฟิก Devin, จุดสังเกตสำคัญ และราคาเริ่มต้น $0.03

ตั้งค่า Windsurf MCP: สร้างรูปภาพใน Cascade

เซิร์ฟเวอร์ MCP ใน Windsurf คือกล่องเครื่องมือภายนอกที่เอเจนต์สามารถเรียกใช้งานระหว่างการสนทนาได้ เพียงประกาศครั้งเดียวใน mcp_config.json แล้ว Cascade จะได้รับความสามารถที่โมเดลพื้นฐานไม่มี การสร้างรูปภาพคือส่วนที่เห็นได้ชัดเจนที่สุด Windsurf สามารถวางโครงสร้างหน้าการตั้งค่า เชื่อมโยงเราต์ และเขียนแบบทดสอบได้อย่างง่ายดาย แต่จะเหลือสี่เหลี่ยมผืนผ้าสีเทาสามช่องไว้ตรงตำแหน่งที่ควรจะมีภาพประกอบ

สรุปขั้นตอนสั้นๆ หากคุณต้องการเริ่มใช้งานทันที: สร้างคีย์ใน โปรไฟล์ BananaBanana แล้วเพิ่มบล็อกโค้ดนี้ลงใน ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "bananabanana": {
      "serverUrl": "https://bananabanana.pro/api/mcp",
      "headers": {
        "Authorization": "Bearer ${env:BB_API_KEY}"
      }
    }
  }
}

ส่งออกตัวแปร export BB_API_KEY=bb_live_YOUR_KEY จากนั้นโหลดเซิร์ฟเวอร์ MCP ใหม่ แล้วเครื่องมือ 10 รายการจะปรากฏใน Cascade ค่าสร้างรูปภาพเริ่มต้นที่ $0.03 ต่อภาพโดยหักจากยอดเงินคงเหลือแบบเติมเงิน และวิดีโอเริ่มต้นที่ $0.10 ไม่ต้องสมัครสมาชิกรายเดือนและไม่ต้องเปิดโปรเจกต์คลาวด์ของตนเอง ข้อควรระวังก่อนวางโค้ด: ในเวอร์ชันล่าสุด ไฟล์นี้อาจไม่ใช่ไฟล์ที่เอเจนต์ของคุณอ่านอีกต่อไป ดูรายละเอียดเพิ่มเติมด้านล่าง

ทำไมต้องเพิ่มตัวสร้างรูปภาพให้ Cascade?

เพราะช่วงเวลาที่คุณต้องการรูปภาพแทบไม่เคยเป็นช่วงเวลาที่เหมาะสำหรับการสลับออกจากโปรแกรมแก้ไขโค้ด คุณกำลังเขียนระบบ onboarding อย่างต่อเนื่อง หน้าสถานะว่างเปล่า (empty state) ต้องการภาพกราฟิก และทางเลือกเดิมคือต้องเปิดแท็บเบราว์เซอร์ เขียนพรอมต์ ดาวน์โหลด เปลี่ยนชื่อ ลากไฟล์เข้าโฟลเดอร์ public/ แล้วตามหาบรรทัดโค้ดเดิมที่ทำค้างไว้

คำสั่งเพียงประโยคเดียวช่วยลดขั้นตอนทั้งหมดนี้ Cascade จะเขียนพรอมต์ เรียกใช้ generate_image ดึงไฟล์ไปยังโฟลเดอร์ที่ถูกต้อง และเขียนแท็ก <img> พร้อมข้อความ alt ให้โดยอัตโนมัติ คุณเพียงแค่ตรวจดู diff เท่านั้น

ยังมีอีกหนึ่งเหตุผลสำคัญสำหรับไคลเอนต์นี้ Cascade ถูกออกแบบมาเพื่อสร้างฟีเจอร์ทั้งระบบ ไม่ใช่แค่การแก้ไขทีละจุด ดังนั้นไฟล์กราฟิกที่ต้องใช้จึงมักมาเป็นชุด: ภาพ empty state สามแบบ, ภาพตัวอย่างหมวดหมู่หกภาพ, ชุดอวาตาร์ตัวอย่าง การสร้างภาพเป็นชุดด้วยตนเองผ่านแท็บเบราว์เซอร์ทำให้เสียสมาธิอย่างมาก

ทางเลือกอื่นแทนเซิร์ฟเวอร์ระยะไกลคือการรันเซิร์ฟเวอร์ MCP รูปภาพในเครื่องของคุณ ซึ่งต้องมีโพรเซส Node หรือ Python รันอยู่ และต้องใช้คีย์ผู้ให้บริการภายนอกพร้อมโควตาและระบบคิดเงินของตนเอง เซิร์ฟเวอร์ระยะไกลช่วยตัดปัญหาทั้งสองอย่าง เอ็นด์พอยต์ทำงานบนฝั่งของเราผ่านกระบวนการเดียวกับ เว็บเจเนอเรเตอร์ และข้อมูลการเข้าถึงเพียงอย่างเดียวของคุณคือข้อความ bb_live_ ซึ่งสามารถเพิกถอนได้ตลอดเวลาจากหน้าโปรไฟล์

ภาพประกอบมอนิเตอร์จอกว้างแสดงโครงร่างแอปที่มีกรอบรูปว่างเปล่ากำลังถูกเติมเต็มด้วยพู่กันลอยได้ขนาดเล็ก

ปัจจุบัน Windsurf เก็บการตั้งค่า MCP ไว้ที่ไหน?

นี่คือจุดที่หลายคนสับสนในเดือนสิงหาคม 2026 และควรตรวจสอบก่อนแก้ไขไฟล์ Windsurf ได้กลายเป็นส่วนหนึ่งของ Devin Desktop โดย Cognition: เว็บไซต์ windsurf.com เปลี่ยนเส้นทางไปยัง devin.ai/desktop และ URL เดิม docs.windsurf.com/windsurf/cascade/mcp ถูกรีไดเรกต์แบบ 307 ไปยัง docs.devin.ai/desktop/cascade/mcp ตัวแอปบนดิสก์ยังคงใช้ชื่อ Windsurf สกีมา deeplink ยังคงเป็น windsurf:// และโฟลเดอร์การตั้งค่ายังคงเป็น ~/.codeium/windsurf/ มีเพียงชื่อแบรนด์เท่านั้นที่เปลี่ยนไป

สิ่งที่เปลี่ยนแปลงคือปัจจุบันมีเอเจนต์สองตัวที่มีระบบการตั้งค่าแยกกัน และ เอกสาร Cascade MCP ได้ระบุไว้ในกล่องข้อความเตือนด้านบน: ไฟล์ mcp_config.json ใช้สำหรับเอเจนต์ Cascade ดั้งเดิม ในขณะที่เอเจนต์ Devin Local (ซึ่งเป็นค่าเริ่มต้นสำหรับแท็บใหม่) จะอ่านการตั้งค่าของ Devin CLI ตรวจสอบเมื่อ 20 สิงหาคม 2026

ดังนั้นโปรดเลือกไฟล์ให้ตรงกับเอเจนต์ที่คุณกำลังใช้งาน

Cascade ดั้งเดิม อ่านไฟล์ ~/.codeium/windsurf/mcp_config.json (บน Windows คือ %USERPROFILE%\.codeium\windsurf\mcp_config.json) เซิร์ฟเวอร์ระยะไกลจะรับฟิลด์ serverUrl หรือ url พร้อมด้วย headers ซึ่งเป็นโค้ดที่แสดงไว้ตอนต้นของบทความนี้

เอเจนต์ Devin Local อ่านไฟล์คอนฟิกของ CLI: ~/.config/devin/mcp_config.json สำหรับระดับผู้ใช้, .devin/mcp_config.json สำหรับโปรเจกต์ที่แชร์ผ่าน git, และ .devin/mcp_config.local.json สำหรับคีย์ส่วนตัว (ซึ่งจะถูก gitignore โดยอัตโนมัติ) ชื่อฟิลด์จะแตกต่างกันเล็กน้อย:

{
  "mcpServers": {
    "bananabanana": {
      "url": "https://bananabanana.pro/api/mcp",
      "transport": "http",
      "headers": {
        "Authorization": "Bearer ${env:BB_API_KEY}"
      }
    }
  }
}

หรือสามารถใช้คำสั่ง CLI ได้โดยตรง: devin mcp add bananabanana https://bananabanana.pro/api/mcp จะสร้างรายการในขอบเขตโลคัล จากนั้นจึงเพิ่มบล็อก headers คำสั่ง devin mcp list และ devin mcp get bananabanana จะช่วยแสดงรายการที่ CLI โหลดมาได้อย่างชัดเจน

ในทั้งสองกรณี เอ็นด์พอยต์คือ https://bananabanana.pro/api/mcp ไม่ใช่ /mcp ซึ่งเป็นหน้าเอกสารสำหรับมนุษย์อ่าน การส่งคำขอ POST ไปที่นั่นจะได้รับหน้า HTML กลับมาและทำให้เอเจนต์สับสน หน้าเอกสารเซิร์ฟเวอร์ MCP ของเรามีโค้ดตัวอย่างเดียวกันพร้อมตารางความเข้ากันได้สำหรับทุกไคลเอนต์ที่ผ่านการทดสอบ:

บล็อกการตั้งค่า Windsurf บนหน้าเอกสาร BananaBanana MCP แสดงโค้ด mcp_config.json พร้อม serverUrl และ Authorization header

เมื่อเชื่อมต่อแล้ว ฟังก์ชัน list_models และ get_account สามารถเรียกใช้งานได้ฟรี — ลองสั่งให้ Cascade รันคำสั่งเหล่านี้เพื่อทดสอบการเชื่อมต่อ get_account จะแสดงยอดคงเหลือ ชื่อคีย์ และขีดจำกัดรายวัน ซึ่งเป็นวิธีตรวจสอบสิทธิ์โดยไม่ต้องเสียค่าสร้างภาพ

ตัวอย่างการใช้งาน: สร้างชุดภาพสถานะว่างเปล่าสำหรับแอปที่ Cascade เพิ่งสร้าง

นี่คือสถานการณ์จริงที่ผมใช้สร้างเดโมนี้ Cascade วางโครงสร้างเครื่องมือภายในขึ้นมา สถานะว่างเปล่าทั้งสามหน้าแสดงผลเป็นกรอบ div สีเทา แทนที่จะเปิดโปรแกรมกราฟิก คุณเพียงป้อนประโยคกำหนดสไตล์ให้เอเจนต์เพื่อสร้างชุดภาพทั้งหมดขึ้นมา

ประโยคกำหนดสไตล์คือหัวใจสำคัญ ภาพสถานะว่างเปล่าจะดูดีเมื่อมีความเข้ากันเป็นชุด: จานสี ความหนาของเส้น และสัดส่วนพื้นที่ว่างต้องสม่ำเสมอกันทุกภาพ ให้เขียนคำอธิบายสไตล์เพียงครั้งเดียว และสั่งให้เอเจนต์นำไปใช้ซ้ำในทุกการเรียกโดยเปลี่ยนเฉพาะวัตถุหลัก:

→ generate_image {"prompt": "A flat vector illustration for an app empty
   state: an open cardboard box floating above a soft shadow with three small
   paper envelopes drifting out of it, muted teal and warm coral palette on an
   off-white background, thin confident outlines, generous negative space,
   centered composition, no text", "model": "nano-banana-pro",
   "aspect_ratio": "4:3"}
← {"job_id": "…", "status": "processing", "cost_charged_usd": 0.11}

ภาพเวกเตอร์แบนสำหรับสถานะว่างเปล่าของแอปเป็นกล่องเปิดที่มีซองจดหมายกระดาษลอยออกมา สร้างใน Windsurf ผ่านเซิร์ฟเวอร์ MCP

จากนั้นใช้ประโยคสไตล์เดียวกันแต่เปลี่ยนวัตถุสำหรับหน้า «ไม่พบผลลัพธ์»:

ภาพเวกเตอร์แบนสำหรับสถานะว่างเปล่าของแอปเป็นแว่นขยายขนาดใหญ่วางบนตารางจุด สร้างจากประโยคสไตล์เดียวกันเพื่อให้เข้าชุดกัน

ภาพทั้งสองเข้าคู่กันได้อย่างลงตัวสำหรับใช้เป็นภาพตัวอย่างชั่วคราว หากต้องการความแม่นยำยิ่งขึ้น generate_image รองรับพารามิเตอร์ seed ซึ่งการใช้ seed เดิมร่วมกับประโยคสไตล์เดิมจะช่วยให้ผลลัพธ์ใกล้เคียงกันยิ่งขึ้น สำหรับตัวละครหรือมาสคอตที่ต้องคงเอกลักษณ์ในหลายสิบภาพ เทคนิคการเขียนพรอมต์จะสำคัญกว่าตัวไคลเอนต์ ซึ่งมีรายละเอียดใน คู่มือการสร้างตัวละครให้สม่ำเสมอ

ข้อสังเกตตรงไปตรงมาสองประการ: ตัวอย่างเหล่านี้ผมสร้างด้วย Nano Banana Pro ราคา $0.11 เนื่องจากต้องนำมาแสดงบนหน้านี้และต้องการความคมชัด สำหรับภาพตัวอย่างชั่วคราวที่นักออกแบบจะมาเปลี่ยนในอีกสองสัปดาห์ nano-banana-2-lite ราคา $0.03 ถือเป็นตัวเลือกที่คุ้มค่า และ คู่มือ Lite ของเราได้อธิบายถึงจุดที่โมเดลนี้ใช้งานได้อย่างดีเยี่ยม ทั้งนี้โมเดล Lite ยังเป็นค่าเริ่มต้นของเครื่องมือนี้ด้วย

การสร้างวิดีโอก็สามารถทำได้จากแชทเดียวกัน generate_video จะไม่หักเงินในการเรียกครั้งแรก โดยจะส่งใบเสนอราคาประเมินกลับมา และเอเจนต์ต้องเรียกคำสั่งซ้ำพร้อมระบุค่า confirm_cost ให้ตรงกับจำนวนนั้นก่อนเริ่มเรนเดอร์ วิดีโอ 4 วินาทีแบบไม่มีเสียงความละเอียด 720p บน Veo 3.1 Lite เริ่มต้นที่ $0.10 ส่วน Omni Flash คิดราคา $0.10 ต่อวินาทีพร้อมระบบเสียงตลอดเวลา (คลิป 3 วินาทีราคา $0.30)

ข้อควรรู้เกี่ยวกับ Windsurf ก่อนนำไปใช้งานจริง

ข้อสังเกตจากการใช้งานจริง 5 ข้อ:

ภาพประกอบลิ้นชักเก็บเอกสารเปิดอยู่สองตู้ขนาดต่างกัน มีกุญแจลอยอยู่ตรงกลางและมีแม่กุญแจอยู่ใกล้ๆ

1. ตัวแปรสภาพแวดล้อมที่ไม่ได้ตั้งค่าจะล้มเหลวแบบเงียบๆ เอกสารระบุชัดเจนว่า ${env:VAR_NAME} จะถูกแทนที่ด้วยค่าของตัวแปร และหากไม่ได้ตั้งค่าไว้ จะกลายเป็นสตริงว่างเปล่าโดยไม่มีข้อผิดพลาดหรือคำเตือนใดๆ เฮดเดอร์จะถูกส่งออกไปเป็น Bearer เปล่าๆ เซิร์ฟเวอร์จะตอบกลับ 401 ทำให้ดูเหมือนเซิร์ฟเวอร์มีปัญหาแทนที่จะเป็นเพราะลืม export แอปที่เปิดจาก GUI จะไม่อ่านโปรไฟล์ของเชลล์ ดังนั้นการ export ใน .zshrc จะมองไม่เห็นเว้นแต่จะเปิด Windsurf จากเทอร์มินัล หาก list_models แจ้งข้อผิดพลาดในการตรวจสอบสิทธิ์ ให้ตรวจสอบตัวแปรก่อนเป็นอันดับแรก

2. การใช้ ${file:…} ปลอดภัยกว่าและเป็นฟีเจอร์เฉพาะของ Windsurf คอนฟิกนี้รองรับรูปแบบ ${file:/path/to/file} ซึ่งจะดึงเนื้อหาในไฟล์ที่ตัดช่องว่างออกแล้วมารวมถึงเส้นทางที่มีเครื่องหมายตัวหนอน ~ ทำให้การเขียน "Authorization": "Bearer ${file:~/.secrets/bb_key.txt}" ทำงานได้โดยไม่ต้องพึ่งตัวแปรสภาพแวดล้อมและแก้ปัญหาการเปิดแอปผ่าน GUI ได้อย่างสมบูรณ์ ผมแนะนำวิธีนี้ใน Windsurf ซึ่ง Cursor และ VS Code ยังไม่มีฟีเจอร์นี้

3. Cascade จำกัดเครื่องมือรวมไม่เกิน 100 รายการ นี่คือขีดจำกัดรวมของทุกเซิร์ฟเวอร์ MCP ที่เชื่อมต่อ ในหน้าการตั้งค่าของแต่ละเซิร์ฟเวอร์ คุณสามารถปิดเครื่องมือที่ไม่ได้ใช้ออกได้ เซิร์ฟเวอร์ของเราเพิ่มเครื่องมือมา 10 รายการ หากคุณใช้งานเซิร์ฟเวอร์ขนาดใหญ่อยู่แล้ว ให้ปิดเครื่องมือที่ไม่จำเป็น เช่น generate_speech, edit_video และ list_generations หากต้องการสร้างเฉพาะภาพนิ่ง

4. ลิงก์ Deeplink แบบคลิกเดียวจะไม่ส่งคีย์ของคุณ ซึ่งเป็นผลดีต่อความปลอดภัย Windsurf รองรับลิงก์รูปแบบ windsurf://windsurf-mcp-registry?serverName=<name> ซึ่งจะเปิดหน้าแคตตาล็อกให้ตรวจสอบก่อนติดตั้ง ลิงก์นี้ไม่มีการเข้ารหัสคอนฟิก จึงไม่มีความเสี่ยงที่คีย์จะรั่วไหลผ่าน URL ที่แชร์ ปัจจุบันเรายังไม่ได้อยู่ในแคตตาล็อกสาธารณะ จึงใช้การตั้งค่า JSON ด้วยตนเอง

5. ในแพ็กเกจทีม ตัวพิมพ์เล็ก-ใหญ่ของ Server ID มีความสำคัญมาก เมื่อผู้ดูแลระบบเพิ่มเซิร์ฟเวอร์ MCP แม้แต่ตัวเดียวลงในรายการที่อนุญาต เซิร์ฟเวอร์อื่นๆ ทั้งหมดจะถูกบล็อกสำหรับทั้งทีม และ Server ID ที่ได้รับอนุญาตจะต้องตรงกับชื่อคีย์ใน mcp_config.json แบบตรงตามตัวพิมพ์เล็ก-ใหญ่ทุกตัว หากแอดมินอนุมัติ bananabanana แต่คุณพิมพ์ BananaBanana การเชื่อมต่อจะล้มเหลวโดยไม่แจ้งสาเหตุที่แท้จริง

ข้อจำกัดด้านประสบการณ์ใช้งาน: generate_speech จะส่งคืนเสียงเป็น URL ไม่ใช่ตัวเล่นเสียงแบบอินไลน์ใน Cascade จึงต้องเปิดไฟล์แยกต่างหาก ในขณะที่การสร้างภาพจะมีภาพตัวอย่างขนาดเล็กแสดงข้างๆ ลิงก์ซึ่งสะดวกกว่ามาก

การใช้ OAuth แทน API Key เป็นอย่างไร?

รองรับทั้งสองวิธี และเหมาะสำหรับเอเจนต์คนละตัว

Devin CLI (เอเจนต์ Devin Local) รองรับ OAuth อย่างสมบูรณ์: คำสั่ง devin mcp login <name> จะเปิดหน้าล็อกอินในเบราว์เซอร์ จัดเก็บโทเค็นในเครื่อง และรีเฟรชให้อัตโนมัติด้วย Dynamic Client Registration (DCR) เซิร์ฟเวอร์ของเราเป็นเซิร์ฟเวอร์การอนุญาต OAuth 2.1 พร้อม DCR และ RFC 8707

สำหรับบทความนี้ ผมทดสอบผ่านทาง API key (initialize, get_account, list_models ด้วยคีย์ bb_live_ จริง) หากคุณทดสอบ OAuth แล้วพบปัญหา ตัวเลือกที่สำคัญคือ oauthResource เพื่อระบุกลุ่มเป้าหมาย https://bananabanana.pro/api/mcp

เหตุผลที่แนะนำให้ใช้คีย์คือ: คีย์ฟรีและสร้างได้หลายรายการ แต่ละคีย์มีบันทึกการใช้งานแยกกัน (เครื่องมือ, โมเดล, ค่าใช้จ่าย, ตัวอย่างพรอมต์) พร้อมขีดจำกัดรายวันในหน่วย USD ในหน้าโปรไฟล์ ซึ่งเป็นระบบป้องกันที่ดีก่อนมอบสิทธิ์การจ่ายเงินให้เอเจนต์อัตโนมัติ

ด้านการกำหนดสิทธิ์: คอนฟิกของ Devin CLI รองรับกฎรายเครื่องมือผ่านรูปแบบ mcp__<server>__<tool> ซึ่งเหมาะอย่างยิ่งกับเซิร์ฟเวอร์แบบชำระเงิน:

{
  "permissions": {
    "allow": ["mcp__bananabanana__list_models", "mcp__bananabanana__get_result"],
    "ask": ["mcp__bananabanana__generate_video"]
  }
}

คำสั่งค้นหาฟรีจะทำงานโดยไม่ขัดจังหวะ ส่วนการเรนเดอร์ภาพจะหยุดเพื่อขอการยืนยันก่อนเสมอ

ค่าใช้จ่ายในการสร้างไฟล์ตัวอย่างในบทความนี้

ราคามาตรฐานต่อการสร้าง ตรงตามตัวเลขที่ list_models ส่งคืนให้เอเจนต์:

รายการโมเดลราคา
ภาพ empty state (กล่องจดหมาย)Nano Banana Pro, 1K$0.11
ภาพ empty state (ค้นหา)Nano Banana Pro, 1K$0.11
ภาพหน้าปก + 2 ภาพประกอบNano Banana Pro, 1K$0.33
ภาพหน้าจอเอกสารแคปจากเบราว์เซอร์ ไม่เสียค่าสร้าง$0.00
รวม$0.55

ภาพ empty state ทั้งสองภาพสร้างสำเร็จตั้งแต่ครั้งแรก หากเป็นการสร้างภาพถ่ายสินค้าที่ต้องการความสมจริง ควรเผื่อจำนวนครั้งในการสร้างใหม่ไว้เล็กน้อย

หากคุณเคยตั้งค่าเซิร์ฟเวอร์นี้ในโปรแกรมอื่นมาก่อน การตั้งค่า Windsurf ด้านบนคือสิ่งเดียวที่เพิ่มเข้ามา โดยใช้คีย์ ยอดเงิน และประวัติเดียวกัน คู่มือ Cursor และ การตั้งค่า VS Code มีเนื้อหาครอบคลุมเซิร์ฟเวอร์เดียวกันในโปรแกรมเหล่านั้น พร้อมแล้วหรือยัง? สร้างคีย์ API แล้วให้ Cascade สร้างภาพแรกของคุณได้เลย

คำถามที่พบบ่อย (FAQ)

Windsurf รองรับเซิร์ฟเวอร์ MCP ระยะไกลที่มี Authorization header หรือไม่?

รองรับ เซิร์ฟเวอร์ HTTP ระยะไกลใน mcp_config.json รับฟิลด์ serverUrl (หรือ url) และออบเจกต์ headers เสริม Cascade รองรับรูปแบบ stdio, Streamable HTTP และ SSE ทั้ง serverUrl และ headers รองรับตัวแปร ${env:VAR} และ ${file:/path} เพื่อไม่ให้คีย์ต้องอยู่ในไฟล์เป็นข้อความธรรมดา ตรวจสอบตามเอกสารทางการเมื่อ 20 สิงหาคม 2026

เอเจนต์ Windsurf ของฉันอ่านไฟล์คอนฟิกใดกันแน่?

ขึ้นอยู่กับเอเจนต์ที่ใช้งาน เอเจนต์ Cascade ดั้งเดิมอ่าน ~/.codeium/windsurf/mcp_config.json ส่วนเอเจนต์ Devin Local (ค่าเริ่มต้นของแท็บใหม่) จะอ่านไฟล์ของ Devin CLI: ~/.config/devin/mcp_config.json, .devin/mcp_config.json หรือ .devin/mcp_config.local.json สำหรับคีย์ส่วนตัว หากแก้ไขแล้วไม่พบเซิร์ฟเวอร์ ให้ตรวจสอบจุดนี้ก่อน

จำเป็นต้องมีบัญชีคลาวด์ของตนเองเพื่อสร้างรูปภาพใน Windsurf หรือไม่?

ไม่จำเป็น เซิร์ฟเวอร์ MCP รูปภาพแบบรันในเครื่องต้องการคีย์ของผู้ให้บริการภายนอก แต่เซิร์ฟเวอร์ระยะไกลจะประมวลผลบนคลัสเตอร์ที่เราดูแล คุณจึงใช้เพียงคีย์ bb_live_ จากหน้าโปรไฟล์เท่านั้น บัญชีใหม่จะได้รับยอดเงินเริ่มต้น $0.20 ซึ่งเพียงพอสำหรับการสร้างภาพ 6 ภาพบนโมเดลประหยัดโดยไม่ต้องเติมเงิน

Cascade สามารถสร้างวิดีโอผ่านเซิร์ฟเวอร์เดียวกันได้หรือไม่?

ได้ โดยมีขั้นตอนยืนยันราคาบังคับ generate_video จะส่งการประเมินราคาในการเรียกครั้งแรกโดยไม่คิดค่าบริการ และเอเจนต์ต้องเรียกคำสั่งซ้ำพร้อมระบุ confirm_cost ให้ตรงกับยอดนั้นเพื่อเริ่มเรนเดอร์ ราคาเริ่มต้นที่ $0.10 สำหรับคลิป 4 วินาทีไม่มีเสียง 720p บน Veo 3.1 Lite ไปจนถึง $4.40 สำหรับ Veo 3.1 คุณภาพสูงสุดพร้อมเสียง และ Omni Flash คิดราคา $0.10 ต่อวินาทีพร้อมเสียง วิดีโอใช้เวลาสร้าง 1 ถึง 10 นาที โดยเอเจนต์จะคอยเช็กสถานะผ่าน get_result

ทำไมเซิร์ฟเวอร์ MCP จึงแสดงข้อผิดพลาดในการยืนยันตัวตนใน Windsurf?

เกือบทั้งหมดเกิดจากปัญหาของคีย์ไม่ใช่ไวยากรณ์คอนฟิก ตัวแปร ${env:BB_API_KEY} ที่ไม่ได้ตั้งค่าจะกลายเป็นสตริงว่างเปล่าโดยไม่แจ้งเตือน ส่งผลให้ยิงคำขอพร้อม bearer token เปล่าและได้ 401 กลับมา ให้ตรวจสอบว่าโปรเซส Windsurf มองเห็นตัวแปรหรือไม่ หรือเปลี่ยนไปใช้ ${file:~/.secrets/bb_key.txt} หากคีย์ถูกต้องแต่เครื่องมือยังไม่ขึ้น ให้ตรวจว่า URL ลงท้ายด้วย /api/mcp และไม่มีการบล็อก Server ID จากระบบของทีม

tutorialmcpwindsurf