เปิดเซสชันไคลเอ็นต์
เชื่อมต่อกับเซิร์ฟเวอร์และดำเนินการจับมือ
เปิดเซสชันไคลเอ็นต์ เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
ตอนนี้คุณเป็นผู้เรียก
จนถึงตอนนี้ เซิร์ฟเวอร์จะประกาศเครื่องมือและรอรับคำขอ ตอนนี้คุณจะสลับบทบาทและเขียน ไคลเอ็นต์ที่ติดต่อ เชื่อมต่อ และควบคุมเซิร์ฟเวอร์จากโค้ด Python ของคุณเอง
SDK เดิม ฝั่งไคลเอ็นต์
แพ็กเกจ mcp อย่างเป็นทางการที่คุณติดตั้งไว้แล้วมีส่วนไคลเอ็นต์รวมอยู่ด้วย คุณไม่จำเป็นต้องติดตั้งส่วนเสริมใหม่เพื่อเริ่มเชื่อมต่อกับเซิร์ฟเวอร์
from mcp import ClientSession, StdioServerParametersเลือกวิธีการรับส่งข้อมูล
ไคลเอนต์จะเลือกวิธีเข้าถึงเซิร์ฟเวอร์ก่อน หากเป็นกระบวนการภายในเครื่อง ให้ใช้ช่องทางการส่งข้อมูลแบบ stdio ซึ่งสื่อสารผ่านอินพุตและเอาต์พุตมาตรฐาน
from mcp.client.stdio import stdio_clientอธิบายวิธีเปิดใช้งาน
คุณระบุวิธีเริ่มเซิร์ฟเวอร์ให้ stdio ทราบอย่างชัดเจนด้วย StdioServerParameters ซึ่งประกอบด้วยคำสั่งที่จะเรียกใช้และอาร์กิวเมนต์ที่จำเป็น
params = StdioServerParameters(
command="python",
args=["server.py"],
)เปิดช่องทางสื่อสาร
stdio_client จะเปิดใช้งานเซิร์ฟเวอร์และส่งกระแสข้อมูลสองชุดให้คุณ ชุดหนึ่งใช้สำหรับอ่านคำตอบ และอีกชุดใช้สำหรับเขียนคำขอ โดยเป็นตัวจัดการบริบทแบบอะซิงโครนัส
async with stdio_client(params) as (read, write):
...ห่อกระแสข้อมูลไว้ในเซสชัน
กระแสข้อมูลดิบอยู่ในระดับต่ำเกินไป ดังนั้นให้ห่อกระแสข้อมูลเหล่านั้นไว้ใน ClientSession เซสชันจะจัดการการสื่อสารแบบ JSON-RPC และติดตามรหัสคำขอให้คุณ
async with ClientSession(read, write) as session:
...ทำการจับมือเชื่อมต่อ
ก่อนทำสิ่งอื่น ให้เรียกใช้ session.initialize() การดำเนินการนี้จะแลกเปลี่ยนข้อความเริ่มต้น เพื่อให้ทั้งสองฝ่ายตกลงเรื่องเวอร์ชันและความสามารถที่รองรับ
await session.initialize()ทุกอย่างเป็นแบบอะซิงโครนัส
ไคลเอนต์ MCP สร้างขึ้นบน asyncio ดังนั้นโค้ดเชื่อมต่อของคุณจะอยู่ภายในฟังก์ชันแบบอะซิงโครนัส และคุณต้องรอการเรียกผ่านเครือข่ายแต่ละครั้ง
import asyncio
async def main():
...
asyncio.run(main())เหตุผลที่ต้องมีออบเจ็กต์เซสชัน
session คือสิ่งที่คุณใช้จัดการการสนทนาทั้งหมด หลังจากเริ่มต้นเซสชันแล้ว คุณจะเรียกใช้เมธอดบนเซสชันเพื่อแสดงรายการและใช้งานสิ่งที่เซิร์ฟเวอร์มีให้
หนึ่งเซสชันต่อหนึ่งเซิร์ฟเวอร์
เซิร์ฟเวอร์แต่ละเครื่องที่คุณเชื่อมต่อจะมีเซสชันไคลเอนต์ของตัวเอง หากต้องการสื่อสารกับหลายเซิร์ฟเวอร์ ให้เปิดหลายเซสชัน โดยแต่ละเซสชันใช้ช่องทางการส่งข้อมูลของตนเอง
ล้างทรัพยากรโดยอัตโนมัติ
เนื่องจากเซสชันและช่องทางการส่งข้อมูลเป็น ตัวจัดการบริบท เมื่อออกจากบล็อก async with ระบบจะปิดเซิร์ฟเวอร์และกระแสข้อมูลให้คุณโดยอัตโนมัติ
ตรวจสอบความเข้าใจ
ต้องเรียกใช้สิ่งใดก่อนที่จะแสดงรายการหรือเรียกใช้สิ่งใดก็ตาม
สรุป: การเชื่อมต่อ
คุณสร้างไคลเอนต์ได้แล้ว โดยเลือก ช่องทางการส่งข้อมูล เปิดเซิร์ฟเวอร์ด้วยพารามิเตอร์ ห่อกระแสข้อมูลไว้ในเซสชัน และเรียกใช้ initialize ก่อนเริ่มงานจริง
คำถามที่พบบ่อย
บทเรียน “เปิดเซสชันไคลเอ็นต์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เปิดเซสชันไคลเอ็นต์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เปิดเซสชันไคลเอ็นต์”
เชื่อมต่อกับเซิร์ฟเวอร์และดำเนินการจับมือ คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “เปิดเซสชันไคลเอ็นต์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม
ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เปิดเซสชันไคลเอ็นต์
- ค้นหาเครื่องมือและทรัพยากร
- เรียกใช้เครื่องมือจากโค้ด
- กำหนดเส้นทางการเรียกเครื่องมือผ่าน LLM