ห่อ REST API เป็นเครื่องมือ
เปลี่ยนปลายทางภายนอกให้เป็นเครื่องมือที่เรียกใช้ได้
ห่อ REST API เป็นเครื่องมือ เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
เปลี่ยนปลายทางให้เป็นเครื่องมือ
REST API ใด ๆ ก็สามารถกลายเป็น เครื่องมือ MCP ได้ ปลายทางแต่ละรายการจะกลายเป็นฟังก์ชันที่เรียกใช้ได้ ซึ่งโมเดลสามารถเรียกเพื่อดึงหรือส่งข้อมูล 🌐
เรียก HTTP จากเครื่องมือ
ภายในเครื่องมือ คุณส่งคำขอ HTTP ตามปกติ จากนั้นส่งคืนคำตอบเป็นข้อความที่โมเดลสามารถอ่านและใช้ให้เหตุผลได้
เลือกใช้ไคลเอนต์แบบอะซิงโครนัส
ใช้ไคลเอนต์แบบอะซิงโครนัส เช่น httpx เพื่อไม่ให้การเรียก API ที่ช้าขัดขวางคำขออื่นระหว่างรอเครือข่าย
import httpx
async with httpx.AsyncClient() as client:
r = await client.get(url)จับคู่พารามิเตอร์กับอาร์กิวเมนต์
เปิดเผยคำค้นของปลายทางเป็น อาร์กิวเมนต์ ของเครื่องมือ โมเดลจะส่งเมืองหรือรหัสมา แล้วคุณนำค่านั้นไปใส่ในคำขออย่างปลอดภัย
@mcp.tool()
async def get_weather(city: str) -> str:
...เก็บข้อมูลลับไว้ฝั่งเซิร์ฟเวอร์
เก็บ คีย์ API ไว้ในสภาพแวดล้อมของเซิร์ฟเวอร์ อย่าใช้เป็นอาร์กิวเมนต์ของเครื่องมือ โมเดลไม่ควรเห็นหรือส่งข้อมูลรับรอง
key = os.environ["WEATHER_API_KEY"]ตรวจสอบรหัสสถานะ
ตรวจสอบ สถานะ HTTP ก่อนเชื่อถือเนื้อหาที่ส่งกลับมา รหัส 404 หรือ 500 หมายความว่าคุณควรรายงานข้อผิดพลาดที่ชัดเจน ไม่ใช่ส่งข้อมูลที่ใช้การไม่ได้
r.raise_for_status()แยกวิเคราะห์และตัด JSON
API ส่วนใหญ่ส่งคืน JSON ให้แยกวิเคราะห์และส่งคืนเฉพาะ ฟิลด์ที่งานต้องใช้ เพื่อไม่ให้โมเดลถูกข้อมูลรบกวนมากเกินไป
data = r.json()
return data["temp_c"]ให้เครื่องมือแต่ละตัวทำงานเดียว
จับคู่ปลายทางหนึ่งรายการกับเครื่องมือเฉพาะทางหนึ่งตัว และตั้งชื่อให้ชัดเจน เครื่องมือที่ แบ่งย่อยอย่างเหมาะสมช่วยให้โมเดลเลือกได้ถูกต้องง่ายขึ้น
เขียนคำอธิบายที่เป็นประโยชน์
อธิบายว่าปลายทางทำอะไรและควรใช้เมื่อใด คำอธิบายที่แม่นยำช่วยให้โมเดลรู้ว่าควรเรียกใช้เครื่องมือนี้
จัดการความล้มเหลวของเครือข่าย
ห่อการเรียกใช้ไว้เพื่อให้การหมดเวลารอหรือการเชื่อมต่อหลุดส่งคืนข้อความ ข้อผิดพลาดที่อ่านเข้าใจได้ แทนที่จะทำให้ทั้งเซิร์ฟเวอร์หยุดทำงาน
กำหนดเวลารอที่เหมาะสม
ส่งค่า เวลารอสูงสุดเสมอ เพื่อไม่ให้ระบบต้นทางที่ค้างทำให้เครื่องมือของคุณหยุดรอคำตอบที่ไม่มีวันมาถึง
r = await client.get(url, timeout=10.0)ตรวจสอบความเข้าใจ
คีย์ API ควรเก็บไว้ที่ใด
สรุป: REST ในรูปแบบเครื่องมือ
คุณได้ห่อปลายทางให้เป็นเครื่องมือแบบ async แล้ว โดยรับอาร์กิวเมนต์ ใช้คีย์ฝั่งเซิร์ฟเวอร์ ตรวจสอบสถานะ และส่งออก JSON ที่ตัดส่วนเกินออก ขั้นต่อไปคือจัดพูลการเชื่อมต่อ 🎯
คำถามที่พบบ่อย
บทเรียน “ห่อ REST API เป็นเครื่องมือ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ห่อ REST API เป็นเครื่องมือ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ห่อ REST API เป็นเครื่องมือ”
เปลี่ยนปลายทางภายนอกให้เป็นเครื่องมือที่เรียกใช้ได้ คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ห่อ REST API เป็นเครื่องมือ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม
ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เปิดเผยคำค้น SQL อย่างปลอดภัย
- ห่อ REST API เป็นเครื่องมือ
- รวมกลุ่มการเชื่อมต่อในช่วงอายุการใช้งาน
- แคชและจำกัดอัตราของระบบต้นทาง