บทนำ

ในคู่มือปฏิบัตินี้ คุณจะได้เรียนรู้วิธีการตั้งค่าการเชื่อมต่อพร็อกซีมือถือเข้ากับลูกค้า MCP ทีละขั้นตอน เพื่อให้เครื่องมือ AI ของคุณทำงานได้อย่างเสถียรและคาดเดาได้กับแหล่งข้อมูลภายนอกและ API เราจะเริ่มจากคำอธิบายสั้น ๆ ว่าทำไมจึงต้องมีพร็อกซีมือถือและ MCP (Model Context Protocol) ทำงานอย่างไร หลังจากนั้นเราจะเตรียมสภาพแวดล้อม เชื่อมต่อพร็อกซี ศึกษาตัวอย่างจริงจาก MCP-server mobileproxy.space ตรวจสอบ ปัญหาทั่วไป และปิดท้ายด้วยฟีเจอร์ที่ขยายออกไป สรุปคือ คุณจะมีการกำหนดค่าที่ใช้งานได้ซึ่งคุณสามารถนำไปใช้ในทีมงานหรือในสภาพแวดล้อมการผลิตได้

คู่มือนี้ถูกออกแบบมาสำหรับนักพัฒนา นักวิเคราะห์ข้อมูล และวิศวกรด้านการรวมระบบ ที่ต้องการให้เกิดพฤติกรรมเครือข่ายที่สามารถทำซ้ำได้ของเครื่องมือ AI และลดความไม่เสถียรเมื่อเข้าถึงเว็บไซต์และ API ภายนอก แม้ว่าคุณจะเป็นผู้ใช้ MCP ครั้งแรก คุณก็สามารถทำทุกขั้นตอนได้ ผู้ใช้ขั้นสูงจะพบตัวอย่างโค้ดที่พร้อมใช้งานและคำแนะนำในการปรับปรุงประสิทธิภาพ

ก่อนเริ่มต้น เป็นการดีที่จะเข้าใจข้อมูลพื้นฐาน: วิธีเปิดเทอร์มินัล, การติดตั้ง Node.js, แก้ไขไฟล์ JSON ของการกำหนดค่า, และอ่านบันทึกข้อมูล ไม่จำเป็นต้องมีความรู้เครือข่ายลึกซึ้ง เราจะอธิบายสิ่งที่จำเป็นตลอดทั้งกระบวนการ

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

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

การตรวจสอบ: ที่ส่วน "ตรวจสอบผลลัพธ์" คุณจะได้รับรายการตรวจสอบเพื่อยืนยันว่าพร็อกซีถูกใช้งานจริง ๆ และเครื่องมือสามารถเข้าถึงอินเทอร์เน็ตได้ผ่านเครือข่ายมือถือ

การเตรียมการเบื้องต้น

เพื่อให้การตั้งค่าเป็นไปอย่างถูกต้องและรวดเร็ว ให้รวบรวมเครื่องมือและการเข้าถึงทั้งหมดล่วงหน้า สิ่งนี้จะช่วยประหยัดเวลาและช่วยหลีกเลี่ยงข้อผิดพลาดในระหว่างกระบวนการ

เครื่องมือ โปรแกรม และการเข้าถึงที่จำเป็น

  • ระบบปฏิบัติการ: Windows 10/11, macOS 12+ หรือ Linux ที่มีสิทธิ์ติดตั้งโปรแกรม
  • Node.js LTS 20+ (รวมถึง npm) เพื่อรัน MCP-server บน JavaScript/TypeScript
  • ตัวแก้ไขโค้ด: VS Code, JetBrains หรือโปรแกรมอื่น ๆ ที่คุณเลือก
  • ข้อมูลประจำตัวพร็อกซีมือถือ: โฮสต์ พอร์ต ชื่อผู้ใช้ รหัสผ่าน และหากเป็นไปได้ ให้รวม URL การหมุน IP และพารามิเตอร์สำหรับ "sticky" sessions
  • MCP-client: เช่น Claude Desktop หรือ Cline (ส่วนขยาย VS Code) ที่รองรับการเชื่อมต่อกับ MCP-server ภายนอก
  • เครื่องมือวินิจฉัยเครือข่ายพื้นฐาน: curl หรือโปรแกรมสำรองอื่น ๆ เพื่อทดสอบการเข้าถึงอินเทอร์เน็ตผ่านพร็อกซี

ข้อกำหนดของระบบ

  • การเชื่อมต่ออินเทอร์เน็ตที่เสถียรในเครื่องทำงานของคุณ
  • การเข้าถึงพอร์ตของพร็อกซีมือถือ (มักจะเป็น 3128, 8000, 8080 หรือพอร์ตอื่นที่ผู้ให้บริการระบุ)
  • ดิสก์: อย่างน้อย 200 MB สำหรับ Node.js packages และ logs

สิ่งที่ต้องดาวน์โหลด ติดตั้ง และตั้งค่า

  1. ติดตั้ง Node.js LTS 20+ จากดิสทริบิวชันอย่างเป็นทางการของระบบปฏิบัติการของคุณ
  2. เตรียมโฟลเดอร์สำหรับโปรเจกต์ เช่น mcp-mobileproxy ซึ่งจะเก็บโค้ดและการกำหนดค่าต่าง ๆ
  3. ตรวจสอบว่าลูกค้า MCP ของคุณติดตั้งแล้ว: เปิด Claude Desktop หรือเปิด VS Code ที่ได้ติดตั้ง Cline เรียบร้อยแล้ว
  4. เตรียมข้อมูลประจำตัวพร็อกซีมือถือ (host, port, user, password) รวมถึง URL หรือคำสั่งเพื่อหมุน IP และพารามิเตอร์สำหรับ "sticky" sessions หากมีในแพ็กเกจของคุณ

การสำรองข้อมูล

หากคุณแก้ไขการกำหนดค่าของลูกค้า MCP (เช่น ไฟล์ JSON) ให้ทำการสำรองข้อมูลของไฟล์ต้นฉบับก่อนที่คุณจะแก้ไข คัดลอกไฟล์ที่ส่งข้อความไว้ข้างเคียงโดยเพิ่มซุยฟิกซ์ .bak หากมีปัญหา คุณจะสามารถกลับไปยังการตั้งค่าดั้งเดิมได้อย่างรวดเร็ว

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

การตรวจสอบ: ตรวจสอบว่า Node.js ได้รับการติดตั้งแล้ว (คำสั่ง node -v แสดงเวอร์ชัน) และคุณทราบว่าไฟล์การกำหนดค่าของลูกค้า MCP ของคุณอยู่ที่ไหน ข้อมูลประจำตัวของพร็อกซีมือถือของคุณอยู่ใกล้ ๆ และการเข้าถึงอินเทอร์เน็ตนั้นเสถียร

MCP คืออะไร (Model Context Protocol)

MCP เป็นโปรโตคอลเปิดที่ได้มาตรฐานซึ่งใช้ในการติดต่อสื่อสารระหว่าง AI-clients (เช่น แอปพลิเคชันเดสก์ท็อปและปลั๊กอิน IDE) กับฟีเจอร์ภายนอกที่มีอยู่ใน MCP-servers แนวความคิดนั้นง่าย: ลูกค้าจะแสดง "เครื่องมือ" และ "ทรัพยากร" ในอินเตอร์เฟซ ขณะที่เซิร์ฟเวอร์จะดำเนินการตามตรรกะของพวกเขา ด้วยเหตุนี้ เซิร์ฟเวอร์เดียวกันสามารถเชื่อมต่อกับลูกค้าหลายรายได้ และเครื่องมือจะแสดงและทำงานได้เหมือนกัน

แนวคิดหลัก ๆ ในภาษาที่เข้าใจง่าย

  • MCP-client — แอปพลิเคชันที่คุณสื่อสารกับโมเดลและเลือกเครื่องมือที่มีอยู่ให้กับมัน ตัวอย่างเช่น: Claude Desktop, Cline
  • MCP-server — โปรแกรมภายนอกที่ดำเนินการ "เครื่องมือ" (tools) "ทรัพยากร" (resources) "คำแนะนำ" (prompts) เซิร์ฟเวอร์จะให้คำบรรยายเกี่ยวกับฟีเจอร์และจัดการการเรียกเข้าส่งจากลูกค้า
  • เครื่องมือ — การกระทำที่โมเดลสามารถทำได้ เช่น การร้องขอไปยังเว็บ API การอ่านไฟล์ การแยกวิเคราะห์ HTML การร้องขอ HTTP ผ่านพร็อกซี ฯลฯ
  • การขนส่ง — วิธีการเชื่อมต่อระหว่างลูกค้าและเซิร์ฟเวอร์ (โดยทั่วไปคือ stdio หรือการเชื่อมต่อเว็บ) สำหรับคุณ สิ่งนี้จะเป็นเรื่องโปร่งใส: คุณระบุคำสั่งในการเริ่มเซิร์ฟเวอร์และพารามิเตอร์

หลักการทำงานพื้นฐาน

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

สิ่งสำคัญที่ต้องเข้าใจก่อนเริ่ม

  • คุณจะเปิดใช้งานพร็อกซีได้ที่ไหน: ทั่วไปผ่านตัวแปรสิ่งแวดล้อมหรือลงในโค้ดของ MCP-server ตัวเลือกทั้งสองถูกต้องแต่มีข้อดีข้อเสียต่างกัน
  • คุณจะยืนยันได้อย่างไรว่าคำขอเกิดขึ้นผ่านพร็อกซีอย่างแท้จริง: เช่น การร้องขอ IP ภายนอกของคุณ บันทึกจากผู้ให้บริการพร็อกซี หรือรายการใน headers
  • คุณต้องมีกลยุทธ์การหมุน IP แบบไหน: ปุ่มหมุนด้วยตนเอง อัตโนมัติโดยหลังจาก N คำขอ หรือเซสชัน "ติด" คุณระยะเวลาของงาน

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

การตรวจสอบ: คุณควรเข้าใจว่า MCP คือ "สะพาน" ระหว่างลูกค้าและเครื่องมือภายนอก ในขณะที่พร็อกซีมือถือคือเส้นทางที่ควบคุมการร้องขอเครือข่ายจากเครื่องมือเหล่านี้ เป้าหมายคือการทำให้การเรียกใช้ทุกขั้นตอนเครือข่ายเกิดขึ้นผ่านผู้ให้บริการพร็อกซีที่กำหนด

ทำไมเครื่องมือ AI ต้องการพร็อกซีมือถือ

พร็อกซีมือถือให้ข้อได้เปรียบสำคัญเมื่อทำงานของเครื่องมือ AI กับแหล่งข้อมูลและ API ภายนอก:

  • ความเสถียรในการเข้าถึง: บริการบางอย่างไวต่อประเภทของ IP และการทำงานจาก IP นั้น ๆ IP มือถือมักมีวิธีการกรองที่แตกต่างกัน مماทำให้สามารถคาดการณ์ได้มากขึ้น
  • การหมุนที่ยืดหยุ่น: คุณสามารถหมุน IP ตามปุ่ม เวลาหรือจำนวนคำขอ เพื่อหลีกเลี่ยงการถูกบล็อกที่มากเกินไปที่อยู่เดียว
  • เซสชัน: เซสชัน "ติด" จะช่วยให้คุณรักษา IP เดิมในช่วง เวลาของการทำงานของตัวแทน (เช่น ประมาณ 10–30 นาที) เพื่อไม่ให้การติดต่อสื่อสารขาดตอน
  • ภูมิภาค: การเลือกภูมิศาสตร์การเชื่อมต่อ หากรวมอยู่ในแพ็กเกจ จะช่วยทดสอบพฤติกรรมของบริการในประเทศต่าง ๆ

ในบริบทของ MCP หมายความว่าเครื่องมือใด ๆ ที่ถูกดำเนินการจากเซิร์ฟเวอร์ จะใช้งานเส้นทางเครือข่ายตามที่คุณกำหนด ซึ่งให้ความสามารถในการทำซ้ำและลดความยุ่งเหยิงขณะปรับแต่ง

คำเตือน: ใช้พร็อกซีมือถืออย่างเคร่งครัดตามกฎหมายและนโยบายของบริการที่ต้องการ การตั้งค่าพร็อกซีในคู่มือนี้มีขึ้นเพื่อให้เกิดความเสถียรและความสามารถในการทำซ้ำของการทำงานของเครื่องมือ AI ไม่ใช่เพื่อการหลีกเลี่ยงข้อจำกัด

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

การตรวจสอบ: คุณควรระบุสถานการณ์ของคุณ: ทำไมคุณถึงต้องการพร็อกซีมือถือ (ความเสถียร เซสชัน ภูมิภาค), คุณจะวัดความสำเร็จได้อย่างไร (การเชื่อมต่อที่ผิดพลาดน้อยลง IP เสถียรใน logs การไม่ถูกบล็อกที่ไม่คาดคิด)

ขั้นตอนที่ 1: วางแผนกลยุทธ์และเข้าถึงพร็อกซีมือถือ

เป้าหมายของขั้นตอน

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

คู่มือทีละขั้นตอน

  1. กำหนดว่าคุณจะมีเซสชัน "sticky" หรือไม่ หากตัวแทนต้องการรักษาบริบทตลอดระยะเวลางาน ให้เลือกการทำงาน "sticky" ในระยะเวลา 10–30 นาที
  2. เลือกกลยุทธ์การหมุน: ด้วยตนเองตามปุ่ม/URL ตามกำหนดการหรือจำนวนคำขอ สำหรับเริ่มต้น การหมุนด้วยตัวเองถือว่ายอมรับได้
  3. รับพารามิเตอร์การเชื่อมต่อจากผู้ให้บริการ: host, port, user, password ในกรณีจำเป็นให้รวม URL การหมุน IP และแม่แบบชื่อผู้ใช้สำหรับเซสชัน "sticky"
  4. ตรวจสอบว่าต้องการรายการ IP ที่อนุญาต (whitelist) หรือไม่ หากผู้ให้บริการต้องการการผูกติด IP ที่ส่งออกของคุณ ให้เพิ่มล่วงหน้าในบัญชีผู้ใช้งานที่ผู้ให้บริการ
  5. ดำเนินการทดสอบ curl คำสั่ง: curl -x http://user:password@host:port https://api.ipify.org ต้องส่งกลับ IP ภายนอกของคุณผ่านพร็อกซี
  6. บันทึกข้อมูลประจำตัวในตัวแปรสิ่งแวดล้อม: เช่น PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS จะปลอดภัยกว่าการเก็บไว้ในโค้ด

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

คำแนะนำ: หากผู้ให้บริการสนับสนุนการสร้างชื่อผู้ใช้ที่มีข้อจำกัด (เวลาใช้งาน ภูมิศาสตร์) ให้สร้างข้อมูลประจำตัวที่แยกออกสำหรับการพัฒนา การทดสอบ และการผลิต เพื่อป้องกันไมให้เกิดการตกรายการในแพ็กเกจ

ผลลัพธ์ที่คาดหวัง

คุณมี host, port, username และ password สำหรับพร็อกซีมือถือ ในกรณีเลือก URL การหมุนและคำแนะนำเรื่องเซสชัน “sticky” การทดสอบ curl ยืนยันว่าการเชื่อมต่ออยู่ผ่านพร็อกซี

ปัญหาและวิธีแก้ไขที่เป็นไปได้

  • ข้อผิดพลาด 407 Proxy Authentication Required → ชื่อผู้ใช้/รหัสผ่านไม่ถูกต้อง ตรวจสอบข้อมูลประจำตัว ตรวจสอบว่าอักขระพิเศษถูกเข้ารหัสอย่างถูกต้องหรือไม่เมื่อต้องการใช้งาน URL
  • Timeout → พอร์ตถูกบล็อกโดยไฟร์วอลล์ อนุญาตให้มีการเชื่อมต่อออกไปที่พอร์ตของผู้ให้บริการ หรือสอบถามเกี่ยวกับพอร์ตทางเลือก
  • IP ภายนอกไม่เปลี่ยน → การเข้าถึงผ่านพร็อกซีนั้นหลีกเลี่ยงไปทางอื่น ตรวจสอบไวยากรณ์ของคีย์ -x และการมีอยู่ของการอนุญาต

การตรวจสอบ: คำสั่ง curl ส่งกลับ IP ภายนอกที่แตกต่างจาก IP ปกติของคุณและตรงกับที่แสดงในบัญชีผู้ใช้ของผู้ให้บริการพร็อกซี

ขั้นตอนที่ 2: ติดตั้ง MCP-client และเตรียมสภาพแวดล้อม

เป้าหมายของขั้นตอน

เตรียมโครงสร้างพื้นฐาน: ติดตั้งหรือตรวจสอบ MCP-client (เช่น Claude Desktop), สร้างโปรเจกต์ MCP-server และตั้งค่าข้อมูลที่ต้องการเพื่อทำงานผ่านพร็อกซี

คู่มือทีละขั้นตอน

  1. ตรวจสอบการมีอยู่ของ Node.js: ในเทอร์มินัล รัน node -v หากเวอร์ชันต่ำกว่า 20 ให้ติดตั้ง LTS ล่าสุด
  2. สร้างโฟลเดอร์โปรเจกต์: mkdir mcp-mobileproxy && cd mcp-mobileproxy
  3. เริ่มต้นโปรเจกต์: npm init -y ซึ่งจะสร้าง package.json ขึ้น
  4. ติดตั้ง MCP dependencies: npm install @modelcontextprotocol/sdk axios https-proxy-agent
  5. สร้างไฟล์ index.js ซึ่งจะใส่โค้ด MCP-server ตัวอย่าง
  6. เปิด MCP-client สำหรับ Claude Desktop ให้ค้นหาไฟล์การตั้งค่าคอนฟิก ส่วนใหญ่จะอยู่ในโปรไฟล์ผู้ใช้ภายในโฟลเดอร์ข้อมูลแอปพลิเคชัน บน macOS จะอยู่ในโฟลเดอร์ Library/Application Support ทำการสำรองข้อมูลของไฟล์การตั้งค่าก่อนที่จะแก้ไข
  7. หากใช้ Cline (VS Code) ให้เปิดการตั้งค่าของส่วนขยายและค้นหาลิสต์เพื่อเพิ่ม MCP-server ส่วนใหญ่จะเป็นตัวเลือกที่มีการกำหนดค่า "mcp servers" เตรียมเพิ่มสคริปต์เซิร์ฟเวอร์ในโปรเจกต์ของคุณ

คำแนะนำ: เก็บเส้นทางไปยังโปรเจกต์ MCP-server โดยปราศจากช่องว่างและอักขระพิเศษที่ไม่ได้ใช้ ซึ่งจะช่วยให้การตั้งค่าทำได้สะดวกและลดความเสี่ยงของข้อผิดพลาดที่มาจากลูกน้ำ

ผลลัพธ์ที่คาดหวัง

โฟลเดอร์โปรเจกต์ MCP-server พร้อมติดตั้ง dependencies คุณทราบว่าคุณจะเพิ่มเซิร์ฟเวอร์ใหม่ได้อย่างไรใน MCP-client ของคุณและไฟล์การกำหนดค่าอยู่ที่ไหน

ปัญหาและวิธีแก้ไขที่เป็นไปได้

  • npm ไม่พบ → Node.js ติดตั้งโดยไม่มี npm หรือไม่ได้ถูกเพิ่มไปยัง PATH ติดตั้ง Node.js ใหม่พร้อมเปิดใช้งาน npm และรีสตาร์ทเทอร์มินัล
  • ไม่มีสิทธิ์เข้าถึงโฟลเดอร์ → เปิดเทอร์มินัลด้วยสิทธิ์ผู้ใช้งานที่มีสิทธิ์เขียนหรือใช้โฟลเดอร์ที่อยู่ในโปรไฟล์ของคุณ
  • ไม่พบไฟล์การกำหนดค่าของลูกค้า → เปิดดูเอกสารสำหรับ MCP-client ของคุณหรือดูเอกสารที่หน้า mcp.html เพื่อตรวจสอบเส้นทาง

การตรวจสอบ: รัน npm list ในโฟลเดอร์โปรเจกต์และตรวจสอบว่ามีแพ็คเกจ @modelcontextprotocol/sdk, axios และ https-proxy-agent ติดตั้งอยู่ ไฟล์การกำหนดค่าของลูกค้า MCP ถูกค้นพบและบันทึกสำรองสภาพเริ่มต้นไว้แล้ว

เชื่อมต่อพร็อกซีมือถือกับ MCP-client

เป้าหมายของขั้นตอน

ทำให้การเรียกระบบเครือข่ายทั้งหมดจากเครื่องมือที่ทำงานโดย MCP-server ผ่านพร็อกซีมือถือ เราจะดูสองวิธี: ตัวแปรสิ่งแวดล้อมทั่วโลกและพร็อกซีที่รวมอยู่ในโค้ด

คู่มือทีละขั้นตอน (ผ่านตัวแปรสิ่งแวดล้อมของลูกค้า)

  1. เปิดการกำหนดค่าของ MCP-client และค้นหาส่วนการเพิ่มเซิร์ฟเวอร์ของผู้ใช้ (เช่น mcpServers)
  2. เพิ่มเซิร์ฟเวอร์ใหม่โดยระบุคำสั่งการรัน Node.js และเส้นทางไปยัง index.js ของคุณ โครงสร้างตัวอย่าง: ชื่อเซิร์ฟเวอร์ ฟิลด์ command: node, args: ["เส้นทาง/ไป/index.js"].
  3. ในส่วน env ระบุฟิลด์: HTTP_PROXY และ HTTPS_PROXY โดยมีค่าเป็น http://user:password@host:port หากคุณใช้พร็อกซีที่ไม่มีการอนุญาตให้ใช้ IP จะระบุเพียง host:port เท่านั้น
  4. หากจำเป็นให้เพิ่ม NO_PROXY สำหรับที่อยู่ภายในที่จะไม่ไปผ่านพร็อกซี (เช่น localhost, 127.0.0.1)
  5. เพิ่มตัวแปรสำหรับการหมุนถ้าคุณต้องการเรียกใช้งานจากเซิร์ฟเวอร์: เช่น MOBILEPROXY_ROTATE_URL และ MOBILEPROXY_API_KEY ถ้าผู้ให้บริการต้องการคีย์
  6. บันทึกการกำหนดค่าและรีสตาร์ท MCP-client เพื่อให้มันอ่านรายการใหม่และรันเซิร์ฟเวอร์ของคุณด้วยตัวแปรสิ่งแวดล้อมที่กำหนดไว้

คู่มือทีละขั้นตอน (ผ่านพร็อกซีในระดับโค้ด)

  1. เปิดไฟล์ index.js และเชื่อมต่อ https-proxy-agent หรือการตั้งค่าพร็อกซีของ axios
  2. สร้างตัวแทนด้วยข้อมูลจาก process.env: host, port, user, password
  3. ส่งตัวแทนไปยังแต่ละ HTTP request ภายในเครื่องมือของ MCP-server
  4. เพื่อความยืดหยุ่น ให้เพิ่มความสามารถในการเลือก: หากไม่มีตัวแปรสิ่งแวดล้อม ใช้การเชื่อมต่อโดยตรง และหากมี ให้ใช้พร็อกซี

คำแนะนำ: เริ่มด้วยการใช้ตัวแปรสิ่งแวดล้อมในระดับลูกค้า: ทำให้ง่ายและรวดเร็วในการสั่งเริ่มต้น ครั้งต่อไป ทำในระดับโค้ดเมื่อจำเป็น

ผลลัพธ์ที่คาดหวัง

MCP-client จะเรียกใช้เซิร์ฟเวอร์ของคุณพร้อมตัวแปรสิ่งแวดล้อมที่กำหนด และการเรียก HTTP ทั้งหมดจากเครื่องมือบนเซิร์ฟเวอร์จะอยู่ผ่านพร็อกซีมือถือ

ปัญหาและวิธีแก้ไขที่เป็นไปได้

  • เซิร์ฟเวอร์ไม่ทำงาน → เส้นทางไปยังสคริปต์ใน args ผิดหรือไม่มีสิทธิ์ในการเริ่มต้น ตรวจสอบเส้นทาง ใช้เส้นทางที่สมบูรณ์หากจำเป็น
  • พร็อกซีถูกมองข้าม → ลูกค้าไม่ได้ส่ง env ให้เซิร์ฟเวอร์ ให้แน่ใจว่าคุณกำหนด env ในการกำหนดค่าของ MCP-server ที่เฉพาะเจาะจงไม่ใช่ทั่วยก
  • การตรวจสอบในพร็อกซีไม่ผ่าน → ตรวจสอบว่าชื่อผู้ใช้/รหัสผ่านไม่มีอักขระ @ และ : ที่ไม่ได้ทำการเข้ารหัส หากจำเป็นให้กำหนดเป็นตัวแปรแยกต่างหาก (PROXY_USER, PROXY_PASS) และรวบรวม URI ในโค้ด

การตรวจสอบ: เรียกใช้เครื่องมือที่ทำ HTTP request และเปรียบเทียบ IP ภายนอกก่อนและหลังการเปิดใช้งานพร็อกซี มันควรจะตรงกับ IP ของพร็อกซีมือถือของคุณ

ตัวอย่างจาก MCP-server mobileproxy.space

เป้าหมายของขั้นตอน

สร้าง MCP-server ขั้นพื้นฐานซึ่ง: 1) สามารถดึง IP ภายนอกผ่านพร็อกซีมือถือ 2) สามารถเรียกใช้การหมุน IP 3) ทำการส่ง HTTP request ผ่านพร็อกซีมือถือ เราจะใช้แพ็กเกจ @modelcontextprotocol/sdk และ axios โดยใช้ MCP-server mobileproxy.space เป็นตัวอย่างในการบูรณาการกับผู้ให้บริการพร็อกซีมือถือ

โค้ด MCP-server (index.js)

ด้านล่างคือโค้ดตัวอย่างโดยใช้ JavaScript ซึ่งได้ลงทะเบียนเครื่องมือสามตัว: get_external_ip, rotate_ip และ fetch_url เครื่องมือใช้พร็อกซีและพารามิเตอร์จะถูกดึงมาจากตัวแปรสิ่งแวดล้อม ใช้ URL ตราสารภายนอกมาตรฐานเป็นจุดสิ้นสุด ipify และการหมุนผ่าน MOBILEPROXY_ROTATE_URL

ตัวอย่างโค้ด:

บันทึกเป็น index.js

const { Server } = require('@modelcontextprotocol/sdk'); const axios = require('axios'); const { HttpsProxyAgent } = require('https-proxy-agent'); function buildProxyAgent() { const host = process.env.PROXY_HOST; const port = process.env.PROXY_PORT; const user = process.env.PROXY_USER; const pass = process.env.PROXY_PASS; if (!host || !port) return null; let auth = ''; if (user && pass) {auth = encodeURIComponent(user) + ':' + encodeURIComponent(pass) + '@'; } const proxyUrl = 'http://' + auth + host + ':' + port; return new HttpsProxyAgent(proxyUrl); } async function axiosViaProxy(url, opts = {}) { const agent = buildProxyAgent(); const cfg = { url, method: opts.method || 'GET', headers: opts.headers || {}, data: opts.data, timeout: 20000 }; if (agent) {cfg.httpsAgent = agent;cfg.httpAgent = agent;cfg.proxy = false; } return axios(cfg); } const server = new Server({ name: 'mcp-mobileproxy-space', version: '1.0.0' }); server.tool('get_external_ip', { description: 'ส่งคืน IP ภายนอกผ่านพร็อกซีมือถือ', inputSchema: { type: 'object', properties: {}, additionalProperties: false } }, async () => { const res = await axiosViaProxy('https://api.ipify.org?format=json'); return { content: [{ type: 'text', text: JSON.stringify(res.data) }] }; }); server.tool('rotate_ip', { description: 'ทำการหมุน IP กับผู้ให้บริการพร็อกซีมือถือ', inputSchema: { type: 'object', properties: {}, additionalProperties: false } }, async () => { const rotateUrl = process.env.MOBILEPROXY_ROTATE_URL; if (!rotateUrl) {return { content: [{ type: 'text', text: 'MOBILEPROXY_ROTATE_URL ไม่ได้กำหนดไว้' }] }; } const res = await axiosViaProxy(rotateUrl); return { content: [{ type: 'text', text: 'การหมุนถูกขอ: ' + res.status }] }; }); server.tool('fetch_url', { description: 'HTTP request ผ่านพร็อกซีมือถือ', inputSchema: { type: 'object', properties: { url: { type: 'string' }, method: { type: 'string', enum: ['GET','POST','PUT','DELETE'], default: 'GET' }, headers: { type: 'object', additionalProperties: { type: 'string' } }, body: { type: 'string' } }, required: ['url'], additionalProperties: false } }, async (input) => { const cfg = { method: input.method || 'GET', headers: input.headers || {}, data: input.body }; const res = await axiosViaProxy(input.url, cfg); const out = { status: res.status, headers: res.headers, snippet: typeof res.data === 'string' ? res.data.slice(0, 500) : JSON.stringify(res.data).slice(0, 500) }; return { content: [{ type: 'text', text: JSON.stringify(out) }] }; }); server.start();

การตั้งค่าตัวแปรสิ่งแวดล้อม

  1. ในระบบการกำหนดค่าของ MCP-client ใกล้กับรายการเซิร์ฟเวอร์ของคุณ ให้เพิ่ม env: PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS
  2. เพิ่ม MOBILEPROXY_ROTATE_URL ซึ่งผู้ให้บริการมือถือจัดให้ เช่น URL ที่มีการป้องกันซึ่งเมื่อเรียก GET จะทำให้ IP เปลี่ยน
  3. รีสตาร์ท MCP-client เพื่อให้ใช้งานตัวแปรใหม่นี้

คำแนะนำ: หากผู้ให้บริการ mobileproxy.space สนับสนุน "sticky" sessions ผ่านการปรับชื่อผู้ใช้หรือพารามิเตอร์ของการร้องขอ สร้างตัวแปรแยกต่างหาก เช่น PROXY_SESSION หรือ PROXY_ZONE และจากนั้นสร้าง PROXY_USER แบบไดนามิก

ตรวจสอบการทำงานของเครื่องมือ

  1. ในอินเทอร์เฟซของ MCP-client ค้นหารายการเครื่องมือเซิร์ฟเวอร์ mcp-mobileproxy-space: get_external_ip, rotate_ip, fetch_url
  2. เรียกใช้ get_external_ip และตรวจสอบว่ามี JSON ส่งคืน IP ภายนอกของคุณผ่านพร็อกซี
  3. เรียกใช้ rotate_ip และรอการยืนยันสถานะ 200 หรือรหัสความสำเร็จอื่น ๆ หากผู้ให้บริการตอบแบบนั้น
  4. เรียกใช้ fetch_url พร้อมพารามิเตอร์ url: https://example.org และตรวจสอบว่ามีพ่วง HTML และรหัส 200 ในการตอบสนอง

การตรวจสอบ: หลังจากเรียกใช้ get_external_ip IP ภายนอกที่คุณเห็นในคำตอบต้องตรงกับสิ่งที่แสดงในบัญชีผู้ใช้ mobileproxy.space ของคุณ และหลังจากเรียกใช้ rotate_ip IP ต้องเปลี่ยนไปเป็น IP ใหม่ (ตามเงื่อนไขของคุณและผู้ให้บริการ)

ปัญหาและวิธีแก้ไขที่เป็นไปได้

  • เครื่องมือไม่แสดงผล → เซิร์ฟเวอร์ไม่เริ่มต้น ตรวจสอบบันทึกของลูกค้าและเส้นทางไปยัง index.js รันเซิร์ฟเวอร์แยกกัน: node index.js เพื่อดูข้อผิดพลาดที่เป็นไปได้
  • rotate_ip คืนข้อผิดพลาด → ตรวจสอบค่า MOBILEPROXY_ROTATE_URL และการเข้าถึงจากเครือข่ายของคุณ ตรวจสอบว่า URL ถูกต้องและไม่ต้องการการตอบสนองเพิ่มเติม
  • fetch_url คืนค่าที่ไม่คาดคิด → เว็บไซต์บางแห่งขึ้นกับ User-Agent และ Accept-Language ส่งพวกเขาใน headers เพื่อเลียนแบบเบราว์เซอร์ทั่วไป

คำแนะนำ: เพื่อความเสถียรของคำขอ โปรดแนบ headers ได้แก่ User-Agent, Accept, Accept-Language สิ่งนี้มีประโยชน์โดยเฉพาะในการแยกวิเคราะห์ HTML และทำงานกับ API ที่คาดหวังผู้ใช้ที่มีลักษณะเฉพาะ

ขั้นตอนที่ 4: ปรับแต่งสำหรับลูกค้าและเซิร์ฟเวอร์

เป้าหมายของขั้นตอน

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

คำแนะนำทีละขั้นตอน

  1. เพิ่มการบันทึกอย่างละเอียด ใน index.js ห่อหุ้มการเรียก axiosViaProxy ใน try/catch เพื่อบันทึกรหัสผล ตอบ เวลาที่ใช้ และข้อผิดพลาดพร้อมการประทับเวล
  2. ตั้งค่า Timeout สำหรับทรัพยากรที่ไม่เสถียร ปรับลดเวลา timeout และเปิดใช้งานการร้องขอใหม่ด้วยการแช่เย็น (backoff) หากจำเป็น
  3. เปิดใช้งานเซสชัน "ติด" สำหรับงานที่ต้องการความต่อเนื่อง เก็บ session_id ใน env หรือในสถานะของเซิร์ฟเวอร์และสร้าง PROXY_USER แบบไดนามิก
  4. จำกัดความถี่ในการเรียก fetch_url: เพิ่มตัวนับคำขอและเวลารอฟื้นฟูระหว่างคำขอไปยังโดเมนเดียวกัน สิ่งนี้จะช่วยลดความเสี่ยงของการถูกบล็อกชั่วคราวจากทรัพยากรเป้าหมาย
  5. ตั้งค่าให้เซิร์ฟเวอร์เริ่มต้นใหม่ หากเซิร์ฟเวอร์หยุดทำงานเนื่องจากข้อผิดพลาดด้านเครือข่าย ให้ใช้ตัวจัดการกระบวนการ (เช่น node พร้อมการเสนอตัวเลือก - หรือเครื่องมือทางเลือกที่ใช้ได้ในสภาพแวดล้อมของคุณ) เพื่อให้เซิร์ฟเวอร์เริ่มขึ้นโดยอัตโนมัติ
  6. สะท้อนการหมุนของคุณในโค้ด: เช่น หลังจาก N คำขอที่ประสบความสำเร็จหรือทุก M นาที หากเงื่อนไขของผู้ให้บริการได้รับอนุญาต

คำแนะนำ: เพิ่มคำสั่งเครื่องมือ server_status ซึ่งจะส่งคืนสถานะปัจจุบันของคุณ: session_id ที่ใช้งานอยู่ ตัวนับคำขอ เวลาจนกว่าจะถึงการหมุนครั้งถัดไป สิ่งนี้จะช่วยให้คุณดูแลการสนับสนุนและการควบคุมได้ง่ายขึ้น

ผลลัพธ์ที่คาดหวัง

เซิร์ฟเวอร์ MCP ของคุณมีความทนทานต่อการหยุดทำงานแบบสุ่ม ใช้งานเซสชัน "ติด" และการหมุนที่ถูกต้อง บันทึกเหตุการณ์ที่สำคัญไว้และปรับความถี่ของการร้องขอได้โดยไม่ต้องแก้ไขโค้ดของลูกค้า

ปัญหาและวิธีแก้ไขที่เป็นไปได้

  • ข้อบันทึกเกินกำหนด → ตั้งค่าระดับการบันทึก (info, warn, error) และสลับผ่านตัวแปรสิ่งแวดล้อม LOG_LEVEL
  • การประมวลผลช้า → ตรวจสอบว่าคุณไม่ได้ตั้งค่าความล่าช้าที่รุนแรงเกินไปหรือหมุน IP บ่อยเกินไป
  • เชื่อมต่อขาดหายไปบ่อยครั้ง → เปิดใช้งาน keep-alive บนตัวแทนและลดจำนวนการเชื่อมต่อโดยรวมไปยังโฮสต์หนึ่ง

การตรวจสอบ: จากบันทึก คุณจะเห็นว่าคำขอทำงานอย่างต่อเนื่อง ซึ่งในกรณีที่มีการหมุนใหม่ IP ใหม่ควรได้รับการยืนยันอย่างรวดเร็วจากการเรียก get_external_ip ข้อผิดพลาดจะได้รับการจัดการโดยไม่ให้เซิร์ฟเวอร์หยุดทำงาน

ขั้นตอนที่ 5: การวินิจฉัยและการบันทึก

เป้าหมายของขั้นตอน

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

คู่มือทีละขั้นตอน

  1. ตรวจสอบตัวแปรสิ่งแวดล้อมก่อนที่จะเริ่ม ให้แสดง process.env.PROXY_HOST และข้อมูลสำคัญอื่น ๆ ในบันทึกเมื่อเริ่มต้นเซิร์ฟเวอร์
  2. ทำคำขอทดสอบจากโค้ด (เช่น ไปที่ ipify) และแสดงวัตถุการตอบสนองทั้งหมด: รหัส, headers, ไบต์แรกของเนื้อหา
  3. บันทึกเมตริกขั้นต่ำ: เวลา DNS, เวลาเชื่อมต่อ TLS, เวลาาตอบที่รวมทั้งหมด สิ่งนี้จะช่วยให้เข้าใจว่า "จุดแคบ" อยู่ที่ไหน
  4. ตรวจสอบ headers ที่คุณส่ง: User-Agent, Accept, Content-Type ให้มั่นใจว่าพวกเขาตรงกับคาดการณ์ของ API หรือเว็บไซต์ที่มุ่งหวัง
  5. ดำเนินการ test กับ curl เพื่อเปรียบเทียบ หาก curl ทำงานได้อย่างเสถียรผ่านพร็อกซีเดียวกันแต่เซิร์ฟเวอร์ทำงานไม่ได้ ให้มองหาปัญหาในโค้ด (ตัวแทน เวลาออก proxy=false สำหรับ axios)

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

ผลลัพธ์ที่คาดหวัง

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

ปัญหาและวิธีแก้ไขที่เป็นไปได้

  • HTTP 403 หรือ 429 → คำขอมากเกินไปหรือมีลายเซ็นของลูกค้าที่ยุ่งเหยิง ลดความถี่ลง กำหนด headers และทดลองใช้เซสชัน "sticky" ตามภารกิจ
  • ข้อผิดพลาดการเชื่อมต่อเป็นครั้งคราว → ลองเพิ่มเวลา timeout และเปิดใช้งานการร้องขอใหม่ที่มีระยะเวลาเพิ่มขึ้น ตรวจสอบความเสถียรของมือถือจากผู้ให้บริการ
  • ข้อมูลไม่ตรงกัน → เปรียบเทียบคำตอบระหว่างการเข้าถึงผ่านหรือไม่ผ่านพร็อกซีในสภาพทดสอบ ตรวจสอบรหัสและตรวจสอบให้แน่ใจว่า headers ได้รับการตั้งค่าอย่างถูกต้อง

การตรวจสอบ: จากผลการทดสอบ คุณมีแผนที่ปัญหา: คุณรู้ว่าทุกช่วงของคำขอใช้เวลานานเพียงใดและสามารถมองออกได้อย่างชัดเจนในการปรับแต่งการกำหนดค่าต่อไป

ตรวจสอบผลลัพธ์

รายการตรวจสอบ

  • เครื่องมือ MCP-server แสดงบนลูกค้า
  • การเรียก get_external_ip ส่งคืน IP ของพร็อกซีมือถือ
  • การหมุน IP เสร็จสิ้นและยืนยันการเปลี่ยน IP
  • การร้องขอ fetch_url สำเร็จจากหลายโดเมน
  • บันทึกดูเข้าใจ: แสดงรหัสผล ตลอดจนระยะเวลาและข้อความวินิจฉัยที่สำคัญ

วิธีทดสอบ

  1. ดำเนินการสามการเรียก get_external_ip ติดต่อกันและบันทึก IP จึงเรียกใช้ rotate_ip จากนั้นทำ get_external_ip ใหม่เพื่อยืนยันว่า IP เปลี่ยนไปตามกฏที่ผู้ให้บริการกำหนด
  2. ทำ fetch_url สองโดเมนที่แตกต่างและเปรียบเทียบรหัสและ headers เพื่อให้แน่ใจว่าไม่มีความผิดพลาดโดยระบบ
  3. เรียกใช้งานเซสชัน "sticky" (ถ้ามี) และตรวจสอบว่ามีการอนุรักษ์ IP ที่ไม่เปลี่ยนแปลงในช่วงระยะเวลาเซสชัน

ตัวชี้วัดการสำเร็จ

  • อัตราการขอประสบความสำเร็จที่เสถียร (200 OK) ที่เข้าถึงทรัพยากรที่ต้องการ
  • การหมุนคาดการณ์และไม่มี "กระโดด" ของ IP ที่ไม่ต้องการในช่วงเซสชัน "ติด"
  • การหมดเวลาเพียงเล็กน้อยเมื่อมีการตั้งค่าการหมดเวลาที่ถูกต้องและตัวตรวจสอบการคืนค่า

คำแนะนำ: นำการทดสอบอัตโนมัติ "จุดเช็ค" ไปใช้ใน CI ของคุณ: เรียกใช้ get_external_ip และ fetch_url หนึ่งครั้งก่อนการปรับใช้ สิ่งนี้จะช่วยให้คุณตรวจพบความผิดปกติในทันทีจากผู้ให้บริการหรือการกำหนดค่า

ข้อผิดพลาดทั่วไป

ปัญหา → สาเหตุ → วิธีแก้ไข

  • พร็อกซีไม่ถูกนำไปใช้ → ตัวแปรสิ่งแวดล้อมไม่ได้ถูกส่งไปยังกระบวนการเซิร์ฟเวอร์ → ระบุ env ในระดับการกำหนดค่า MCP-server และรีบูทลูกค้า
  • การอนุญาตไปยังพร็อกซีล้มเหลว → อักขระพิเศษในชื่อผู้ใช้/รหัสผ่านทำให้ URI ล้ม → กำหนดให้ชื่อผู้ใช้/รหัสผ่านเป็นตัวแปรแยกไว้และรวมกันใน proxyUrl ด้วย encodeURIComponent
  • HTTP 429 Too Many Requests → การหมุนบ่อยเกินไปหรือ RPS สูงเกินไป → จำกัดความถี่ของคำขอ ใช้คิว และนำเซสชัน "ติด" ไปใช้สำหรับการดำเนินการที่ต่อเนื่อง
  • 500 ที่ไม่ได้รับที่เซิร์ฟเวอร์ → ทำซ้ำอย่างเข้มงวดล้มเหลวเซิร์ฟเวอร์ที่ไม่เสถียร → เพิ่มความเลี้ยงใน backoff และลดจำนวนการทำซ้ำ
  • ไม่มีเครื่องมือในแผง → MCP-server หยุดทำงานขณะเริ่มต้น → เรียกใช้เซิร์ฟเวอร์แคบเพื่อดูสแต็คเทรสและแก้ไขข้อผิดพลาดของไวยากรณ์แล้วเชื่อมต่ออีกครั้ง
  • IP ไม่เปลี่ยนหลังจากการหมุน → การหมุนยังไม่เสร็จสิ้นหรือเส้นทางถูกเก็บไว้ในแคช → รอระยะเวลาที่ผู้ให้บริการกำหนดหรือตรวจสอบสถานะการหมุนผ่าน API ของพวกเขา
  • ความขัดแย้งกับบริการภายใน → นำพร็อกซีไปใช้กับทั้งหมดรวมทั้ง localhost → ใช้ NO_PROXY=localhost,127.0.0.1 เพื่อให้การเรียกจากในประเทศไปโดยตรง

การตรวจสอบ: ลองซ้ำปัญหาหลังจากที่ทำการแก้ไข ตรวจสอบให้แน่ใจว่าอาการได้หายไป: พร็อกซีใช้งานได้ การอนุญาตผ่านได้ และรหัสตอบกลับที่ถูกคาดหวัง

ฟีเจอร์เพิ่มเติม

การตั้งค่าเชิงลึกที่ทันสมัย

  • ข้อมูลลับและคีย์: ย้ายรหัสผ่านและคีย์ทั้งหมดไปยังตัวแปรสิ่งแวดล้อมหรือผู้จัดการข้อมูลลับ อย่าฝังพวกเขาในโค้ด
  • การกำหนดภูมิศาสตร์: หาก mobileproxy.space เสนอให้เลือกประเทศ/ภูมิภาค ให้สร้างเครื่องมือ set_region และเปลี่ยนภูมิศาสตร์โดยไม่ต้องเริ่มเซิร์ฟเวอร์ใหม่
  • พูลพร็อกซี: สำหรับการใช้งานหนัก ใช้สระจากจุดมุมมือถือหลายจุด และกฎการกระจาย (round-robin, ตามโดเมน, ตามงาน)
  • การควบคุมความถี่: เพิ่ม rate limiter ทั่วไปในเซิร์ฟเวอร์เพื่อไม่ต้องขึ้นอยู่กับระเบียบวินัยของตัวแทน

การปรับปรุงประสิทธิภาพ

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

สิ่งที่ยังคงต้องทำ

  • เพิ่มเครื่องมือในการตรวจสอบการใช้ทรัพยากรเป้าหมาย (healthcheck_url) พร้อมรายงาน
  • ฝังการส่งออกบันทึกไปยังที่เก็บส่วนกลาง เช่น บันทึกเหตุการณ์ของโครงสร้างพื้นฐานของคุณ
  • จัดทำคำแนะนำสำหรับทีมและนำไปไว้ในหน้า mcp.html พร้อมกับเทมเพลตการกำหนดค่า
  • ศึกษาเนื้อหาอย่างละเอียดเกี่ยวกับการเลือกและการปรับแต่งพร็อกซีสำหรับตัวแทนที่หน้า material about proxies for AI agents.

คำแนะนำ: ระบุ "โปรไฟล์การเชื่อมต่อ" — dev, stage, prod — พร้อมด้วยขีดจำกัดและระดับการบันทึกที่แตกต่างกัน สร้างให้ดูแลและตรวจสอบได้ง่ายขึ้น

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

1. เวลาที่ใช้งาน "sticky" session ของพร็อกซีมือถือคือเท่าไหร่?

ขึ้นอยู่กับแพ็กเกจของผู้ให้บริการ โดยทั่วไปผู้ให้บริการมักเสนอระยะเวลา 10–30 นาที หากต้องการให้ยืนยันในบัญชีผู้ใช้ mobileproxy.space และกำหนดระยะเวลาในการทำงานในทรัพยากรเมื่อใช้ในเซิร์ฟเวอร์ MCP

2. จะรู้ได้อย่างไรว่าคำขอได้ใช้งานผ่านพร็อกซีมือถือจริง?

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

3. สามารถตั้งค่าพร็อกซีที่แตกต่างกันสำหรับเครื่องมือที่แตกต่างกันได้หรือไม่?

ได้ ในระดับโค้ด คุณสามารถสร้างตัวแทนของพร็อกซีหลายตัวและเลือกใช้ตามชื่อเครื่องมือหรือโดเมน ในระดับลูกค้าให้ตั้งค่าเซิร์ฟเวอร์หลายตัวที่มี env ที่แตกต่างกัน

4. จะทำอย่างไรหากเว็บไซต์เป้าหมายต้องการ headers โดยเฉพาะ?

ส่ง headers ที่ต้องการผ่าน parameters ของ headers ในเครื่องมือ fetch_url สิ่งเหล่านี้รวมถึง User-Agent, Accept, Accept-Language, Referer

5. จะหลีกเลี่ยงการรั่วไหลของความลับในบันทึกได้อย่างไร?

ซ่อนสตริงที่ละเอียดอ่อนและไม่บันทึก URL ที่สมบูรณ์พร้อมด้วยรหัสผ่าน เก็บข้อมูลลับไว้ในตัวแปรสิ่งแวดล้อมเท่านั้นและเปิดใช้งานการหมุนรหัสผ่าน

6. สามารถใช้พร็อกซีเฉพาะกับโดเมนบางตัวได้หรือไม่?

ได้ ในระดับโค้ดให้เงื่อนไขการใช้พร็อกซีสำหรับโดเมนที่ต้องการ ปล่อยการเชื่อมต่อโดยตรงสำหรับการร้องขออื่นหรือสร้างสองเครื่องมือ: fetch_proxy และ fetch_direct

7. จะทำอย่างไรถ้าการหมุนไม่เปลี่ยน IP?

รอเวลาที่ผู้ให้บริการกำหนดและตรวจสอบสถานะการหมุน ตรวจสอบว่าไม่ได้อยู่ในเซสชัน "sticky" หากต้องการการเปลี่ยนแปลงทันที

8. จะปรับขนาดให้ทนต่อภาระงานหนักได้อย่างไร?

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

9. จะเก็บเอกสารของทีมไว้ที่ไหน?

หน้าใน mcp.html เป็นสถานที่ที่เนื้อหาภาษาอังกฤษเหมาะสำหรับการเก็บข้อมูล คำแนะนำและแบบฟอร์มการกำหนดค่า อัปเดตตามการพัฒนา

10. สามารถเชื่อมต่อ mobileproxy.space เป็น MCP-server สำเร็จรูปได้หรือไม่?

ได้ หากคุณมีเซิร์ฟเวอร์หรืออะแดปเตอร์ที่เหมาะสมที่จะให้บริการการหมุนและการร้องขอผ่านโครงสร้างพื้นฐานของพวกเขาในตัวอย่างที่มีแสดงวิธีการสร้างเซิร์ฟเวอร์ดังกล่าวด้วยตนเองจาก SDK

คำแนะนำ: นำเสนอพิสูจน์ตัวตนเซิร์ฟเวอร์ภายใน: ชื่อ เวอร์ชัน รายการเครื่องมือ ติดต่อผู้รับผิดชอบ ซึ่งจะช่วยให้การสนับสนุนรวดเร็วขึ้นและการฝึกอบรมเพื่อนร่วมงานใหม่ได้ง่ายยิ่งขึ้น

บทสรุป

คุณได้ดำเนินการในทุกขั้นตอนเรียบร้อยแล้ว: ฟิตมากขึ้นถึงรู้ว่า MCP คืออะไรและทำไมถึงพึงประสงค์ในการทำงานในเครื่องมือ AI; เตรียมสภาพแวดล้อม; เชื่อมต่อพร็อกซีมือถือกับ MCP-client; สร้างตัวอย่าง MCP-server ที่ใช้งานได้พร้อมเครื่องมือ get_external_ip, rotate_ip และ fetch_url บนพื้นฐานของ mobileproxy.space; ตั้งค่าการกำหนดค่าทั้งสองอย่าง ความเสถียรและการวินิจฉัย; ทำบททดสอบและวิเคราะห์ข้อผิดพลาดที่พบบ่อยรวมถึงฟีเจอร์ที่ขยายออกไป ในขณะนี้คุณมีโครงสร้างที่สามารถทำซ้ำได้: MCP-client จัดการเครื่องมือ MCP-server สร้างการดำเนินการเครือข่าย พร็อกซีมือถือให้เส้นทางเครือข่ายที่สามารถทำนายได้และกำหนดได้

ต่อไปคุณสามารถ: 1) แยกเซิร์ฟเวอร์ให้เป็นโมดูลสำหรับภารกิจที่แตกต่างกัน 2) เพิ่มโปรไฟล์สภาพแวดล้อม dev/stage/prod 3) เปิดพูลพร็อกซีและเลือกเส้นทางได้แบบไดนามิก 4) เอกสารความแปรผันทั้งหมดไว้ใน mcp.html และอ้างอิงถึง เนื้อหาเกี่ยวกับพร็อกซีสำหรับ AI-agent.

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

คำแนะนำ: ทบทวนขีดจำกัดและแผนการของผู้ให้บริการ mobileproxy.space เป็นระยะ เพื่อหลีกเลี่ยงการถึงขีดจำกัดในช่วงเวลาที่เหลือเคลื่อนที่ ตั้งค่าความจุและมีการตั้งค่าฉุกเฉินเมื่อไม่สามารถใช้จุดหนึ่งได้