สร้างเครื่องมือ ทรัพยากร และพรอมต์
สร้างองค์ประกอบพื้นฐานทั้งสามสำหรับกรณีการใช้งาน
สร้างเครื่องมือ ทรัพยากร และพรอมต์ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- กำหนดขอบเขตโครงการและเครื่องมือ
- สร้างเครื่องมือ ทรัพยากร และพรอมต์
- ทดสอบ ตรวจสอบ และเสริมความปลอดภัย
- จัดทำเอกสารและเผยแพร่เซิร์ฟเวอร์