MCP Academy · บทเรียน

สร้างเครื่องมือ ทรัพยากร และพรอมต์

สร้างองค์ประกอบพื้นฐานทั้งสามสำหรับกรณีการใช้งาน

บทเรียน 2 จาก 413 ขั้นตอน

สร้างเครื่องมือ ทรัพยากร และพรอมต์ เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน

สร้าง primitive ทั้งสามประเภท

เมื่อมีแผนแล้ว ตอนนี้คุณจะเขียนโค้ดจริง บทเรียนนี้จะเชื่อม เครื่องมือ resource และ prompt ของคุณเข้ากับเซิร์ฟเวอร์ที่ใช้งานได้หนึ่งตัว 🛠️

ตั้งค่าแบ็กเอนด์

ขั้นแรก ให้เซิร์ฟเวอร์มีสิ่งที่จะดำเนินการด้วย ที่เก็บข้อมูล store ขนาดเล็ก เช่น รายการหรือไฟล์ SQLite จะเก็บบันทึกที่ primitive ทั้งหมดใช้ร่วมกัน

import sqlite3

db = sqlite3.connect("notes.db")
db.execute("CREATE TABLE IF NOT EXISTS notes(id INTEGER PRIMARY KEY, title TEXT, body TEXT)")

เขียนเครื่องมือเพิ่มข้อมูล

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

@mcp.tool()
def add_note(title: str, body: str) -> str:
    db.execute("INSERT INTO notes(title, body) VALUES (?, ?)", (title, body))
    db.commit()
    return "Saved."

เขียนเครื่องมือค้นหา

เพิ่ม tool รายการที่สองเพื่อค้นหาบันทึกตามคำสำคัญ การส่งกลับรายการผลลัพธ์ที่สั้นช่วยให้โมเดลนำไปใช้ได้ง่าย

@mcp.tool()
def search_notes(query: str) -> list[str]:
    rows = db.execute("SELECT title FROM notes WHERE body LIKE ?", (f"%{query}%",))
    return [r[0] for r in rows]

อธิบายเครื่องมือให้ชัดเจน

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

เปิดเผย resource

ตอนนี้ให้บริการบริบทแบบอ่านอย่างเดียว URI ของ resource ช่วยให้โมเดลดึงบันทึกหนึ่งรายการได้โดยไม่เปลี่ยนแปลงสิ่งใดในที่เก็บข้อมูลของคุณ

@mcp.resource("note://{note_id}")
def get_note(note_id: int) -> str:
    row = db.execute("SELECT body FROM notes WHERE id = ?", (note_id,)).fetchone()
    return row[0] if row else "Not found."

รับค่าตัวแปร URI

วงเล็บปีกกาใน URI จะกลายเป็นอาร์กิวเมนต์ของฟังก์ชัน MCP ดึง note_id โดยตรงจากเส้นทาง ดังนั้นการอ่านแต่ละครั้งจึงเจาะจงไปยังระเบียนเดียวอย่างถูกต้อง

ลงทะเบียน prompt

เพิ่ม prompt ที่นำกลับมาใช้ซ้ำได้และผู้ใช้เรียกใช้ได้ prompt นี้จะกำหนดกรอบของคำขอ เพื่อให้ผู้เรียกได้รับคำแนะนำที่สม่ำเสมอและมีคุณภาพสูงทุกครั้ง

@mcp.prompt()
def summarize(note_id: int) -> str:
    return f"Read note://{note_id} and summarize it in three bullet points."

ส่งกลับข้อความที่มีประโยชน์

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

ใช้ร่วมกัน แต่แยกบทบาทให้ชัดเจน

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

เชื่อมจุดเริ่มต้น

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

if __name__ == "__main__":
    mcp.run()

ตรวจสอบอย่างรวดเร็ว

มาทบทวนรายละเอียด URI ของ resource กัน

ทบทวน

คุณสร้าง primitive ทั้งสามประเภทแล้ว ได้แก่ เครื่องมือที่ดำเนินการ resource ที่อ่านข้อมูล และ prompt ที่ให้คำแนะนำ ตอนนี้เซิร์ฟเวอร์สรุปโครงการของคุณทำงานจริงได้แล้ว 🎯

เริ่มต้นได้ฟรี

เรียนรู้ Python ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
30
บทเรียน
120

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

บทเรียน “สร้างเครื่องมือ ทรัพยากร และพรอมต์” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “สร้างเครื่องมือ ทรัพยากร และพรอมต์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “สร้างเครื่องมือ ทรัพยากร และพรอมต์”

สร้างองค์ประกอบพื้นฐานทั้งสามสำหรับกรณีการใช้งาน คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “สร้างเครื่องมือ ทรัพยากร และพรอมต์” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม

ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. กำหนดขอบเขตโครงการและเครื่องมือ
  2. สร้างเครื่องมือ ทรัพยากร และพรอมต์
  3. ทดสอบ ตรวจสอบ และเสริมความปลอดภัย
  4. จัดทำเอกสารและเผยแพร่เซิร์ฟเวอร์
← กลับไปที่ MCP Academy