ตัวอย่างก่อนหน้านี้แสดงให้เห็นวิธีการใช้โปรเจกต์ .NET แบบโลคอลที่มีประเภท stdio และวิธีการรันเซิร์ฟเวอร์ในเครื่องผ่านคอนเทนเนอร์ นี่เป็นวิธีแก้ปัญหาที่ดีในหลายสถานการณ์ อย่างไรก็ตาม การมีเซิร์ฟเวอร์ที่รันจากระยะไกล เช่น ในสภาพแวดล้อมคลาวด์ ก็มีประโยชน์เช่นกัน ซึ่งตรงนี้เองที่ประเภท http เข้ามามีบทบาท
เมื่อดูที่โซลูชันในโฟลเดอร์ 04-PracticalImplementation อาจดูซับซ้อนกว่าตัวอย่างก่อนหน้านี้มาก แต่ในความเป็นจริงแล้วไม่ใช่เลย ถ้าคุณดูโปรเจกต์ src/Calculator อย่างละเอียด จะเห็นว่าโค้ดส่วนใหญ่เหมือนกับตัวอย่างก่อนหน้า ความแตกต่างเพียงอย่างเดียวคือเราใช้ไลบรารีต่างออกไปคือ ModelContextProtocol.AspNetCore เพื่อจัดการกับ HTTP requests และเราเปลี่ยนเมธอด IsPrime ให้เป็น private เพื่อแสดงให้เห็นว่าคุณสามารถมีเมธอดส่วนตัวในโค้ดของคุณได้ โค้ดส่วนที่เหลือยังเหมือนเดิม
โปรเจกต์อื่นๆ มาจาก .NET Aspire การมี .NET Aspire ในโซลูชันจะช่วยปรับปรุงประสบการณ์ของนักพัฒนาในระหว่างการพัฒนาและทดสอบ รวมถึงช่วยในเรื่องของการสังเกตการณ์ (observability) แม้ว่าจะไม่จำเป็นสำหรับการรันเซิร์ฟเวอร์ แต่ก็เป็นแนวทางปฏิบัติที่ดีที่จะมีไว้ในโซลูชันของคุณ
-
จาก VS Code (พร้อมส่วนขยาย C# DevKit) ให้ไปที่ไดเรกทอรี
04-PracticalImplementation/samples/csharp -
รันคำสั่งต่อไปนี้เพื่อเริ่มเซิร์ฟเวอร์:
dotnet watch run --project ./src/AppHost
-
เมื่อเว็บเบราว์เซอร์เปิดหน้าแดชบอร์ด .NET Aspire ให้จดจำ URL ของ
httpไว้ ซึ่งน่าจะเป็นประมาณhttp://localhost:5058/
ถ้าคุณมี Node.js เวอร์ชัน 22.7.5 ขึ้นไป คุณสามารถใช้ MCP Inspector ในการทดสอบเซิร์ฟเวอร์ของคุณได้
เริ่มเซิร์ฟเวอร์แล้วรันคำสั่งนี้ในเทอร์มินัล:
npx @modelcontextprotocol/inspector http://localhost:5058- เลือก
Streamable HTTPas the Transport type. - In the Url field, enter the URL of the server noted earlier, and append
/mcpซึ่งควรจะเป็นhttp(ไม่ใช่https) something likehttp://localhost:5058/mcp. - select the Connect button.
A nice thing about the Inspector is that it provide a nice visibility on what is happening.
- Try listing the available tools
- Try some of them, it should works just like before.
To use the Streamable HTTP transport with GitHub Copilot Chat, change the configuration of the calc-mcp เซิร์ฟเวอร์ที่สร้างไว้ก่อนหน้านี้ควรมีลักษณะดังนี้:
ลองทดสอบดังนี้:
- ขอ "จำนวนเฉพาะ 3 ตัวหลังเลข 6780" สังเกตว่า Copilot จะใช้เครื่องมือใหม่
NextFivePrimeNumbersและคืนค่าจำนวนเฉพาะ 3 ตัวแรกเท่านั้น - ขอ "จำนวนเฉพาะ 7 ตัวหลังเลข 111" เพื่อดูผลลัพธ์
- ขอ "จอห์นมีลูกกวาด 24 เม็ดและต้องการแจกให้ลูกทั้ง 3 คนเท่าๆ กัน แต่ละคนจะได้ลูกกวาดกี่เม็ด?" เพื่อดูผลลัพธ์
มานำเซิร์ฟเวอร์ไปใช้งานบน Azure เพื่อให้คนอื่นสามารถใช้งานได้มากขึ้น
จากเทอร์มินัล ให้ไปที่โฟลเดอร์ 04-PracticalImplementation/samples/csharp แล้วรันคำสั่งนี้:
azd upเมื่อการดีพลอยเสร็จสิ้น คุณควรเห็นข้อความแบบนี้:
นำ URL นี้ไปใช้ใน MCP Inspector และใน GitHub Copilot Chat
// .vscode/mcp.json
{
"servers": {
"calc-mcp": {
"type": "http",
"url": "https://calc-mcp.gentleriver-3977fbcf.australiaeast.azurecontainerapps.io/mcp"
}
}
}เราได้ลองใช้ประเภทการขนส่งและเครื่องมือทดสอบต่างๆ และยังได้นำเซิร์ฟเวอร์ MCP ของคุณไปดีพลอยบน Azure แต่ถ้าเซิร์ฟเวอร์ของเราต้องการเข้าถึงทรัพยากรส่วนตัวล่ะ? เช่น ฐานข้อมูลหรือ API ส่วนตัว? ในบทถัดไป เราจะมาดูวิธีปรับปรุงความปลอดภัยของเซิร์ฟเวอร์ของเราให้ดีขึ้น
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้เราจะพยายามให้ความถูกต้องสูงสุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลสำคัญแนะนำให้ใช้บริการแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดใด ๆ ที่เกิดจากการใช้การแปลนี้


