🔧 ម៉ូឌុល 3៖ ការអភិវឌ្ឍ MCP ជំហានខ្ពស់ជាមួយ Microsoft Foundry Toolkit
🎯 គោលបំណងរៀន
នៅចុងបញ្ចប់នៃមន្ទីរ this lab, អ្នកនឹងអាច:
- ✅ បង្កើតម៉ាស៊ីនបម្រើ MCP លក្ខណៈផ្ទាល់ខ្លួនដោយប្រើ Microsoft Foundry Toolkit
- ✅ កំណត់រចនាសម្ព័ន្ធ និងប្រើ MCP Python SDK ជំនាន់ចុងក្រោយ (v1.9.3)
- ✅ កំណត់ និងប្រើ MCP Inspector សម្រាប់កំហុសត្រួតពិនិត្យ
- ✅ បញ្ច្រាស់កំហុសម៉ាស៊ីនបម្រើ MCP ក្នុងបរិយាកាស Agent Builder និង Inspector
- ✅ យល់ដឹងពីលំដាប់ការអភិវឌ្ឍម៉ាស៊ីនបម្រើ MCP ជំហានខ្ពស់
📋 លក្ខខ័ណ្ឌមុនដំណើរការ
- បញ្ចប់ Lab 2 (គ្រឹះមូល MCP)
- VS Code ជាមួយការបន្ថែម Microsoft Foundry Toolkit ត្រូវបានដំឡើង
- បរិយាកាស Python 3.10+
- Node.js និង npm សម្រាប់ការកំណត់ Inspector
🏗️ អ្វីដែលអ្នកនឹងបង្កើត
ក្នុងមន្ទីរនេះ អ្នកនឹងបង្កើត ម៉ាស៊ីនបម្រើ Weather MCP ដែលបង្ហាញពី៖
- ការអនុវត្តម៉ាស៊ីនបម្រើ MCP លក្ខណៈផ្ទាល់ខ្លួន
- ការតភ្ជាប់ជាមួយ Microsoft Foundry Toolkit Agent Builder
- លំដាប់ការកំហុសត្រួតពិនិត្យមានជំរុញវិជ្ជាជីវៈ
- លំនាំប្រើ MCP SDK សម័យថ្មី
🔧 ទិដ្ឋភាពទូទៅសមាសភាគស្នូល
🐍 MCP Python SDK
Model Context Protocol Python SDK ផ្តល់មូលដ្ឋានសម្រាប់បង្កើតម៉ាស៊ីនបម្រើ MCP ផ្ទាល់ខ្លួន។ អ្នកនឹងប្រើជំនាន់ 1.9.3 ជាមួយសមត្ថភាពកំហុសត្រួតពិនិត្យកាន់តែច្បាស់លាស់។
🔍 MCP Inspector
ឧបករណ៍កំហុសត្រួតពិនិត្យមានថាមពល ដែលផ្តល់៖
- ការត្រួតពិនិត្យម៉ាស៊ីនបម្រើពេលវេលាពិត
- ការមើលឃើញការប្រតិបត្តិឧបករណ៍
- ការត្រួតពិនិត្យការស្នើសុំនិងចម្លើយបណ្ដាញ
- បរិយាកាសសាកល្បងអន្តរកម្ម
📖 អនុវត្តជំហាន-ប្រចាំជំហាន
ជំហាន 1៖ បង្កើត WeatherAgent ក្នុង Agent Builder
- បើក Agent Builder 在 VS Code តាមរយៈការបន្ថែម Microsoft Foundry Toolkit
- បង្កើត agent ថ្មី ជាមួយរចនាសម្ព័ន្ធដូចខាងក្រោម៖
- ឈ្មោះ Agent:
WeatherAgent
- ឈ្មោះ Agent:
ជំហាន 2៖ ចាប់ផ្តើមគម្រោងម៉ាស៊ីនបម្រើ MCP
- ទៅកាន់ Tools → Add Tool ក្នុង Agent Builder
- ជ្រើស "MCP Server" ពីជម្រើសមានស្រាប់
- ជ្រើស "Create A new MCP Server"
- ជ្រើសនិមិត្តសញ្ញា
python-weather - ដាក់ឈ្មោះម៉ាស៊ីនបម្រើរបស់អ្នក:
weather_mcp
ជំហាន 3៖ បើក និងពិនិត្យគម្រោង
- បើកគម្រោងបានបង្កើត នៅក្នុង VS Code
- ពិនិត្យរចនាសម្ព័ន្ធគម្រោង៖
weather_mcp/ ├── src/ │ ├── __init__.py │ └── server.py ├── inspector/ │ ├── package.json │ └── package-lock.json ├── .vscode/ │ ├── launch.json │ └── tasks.json ├── pyproject.toml └── README.md
ជំហាន 4៖ បង្គណ៍ទៅ MCP SDK ជំនាន់ចុងក្រោយ
🔍 មាថាលើកមកថ្មី? ពួកយើងចង់ប្រើ MCP SDK ជំនាន់ចុងក្រោយ (v1.9.3) និងសេវាកម្ម Inspector (0.14.0) សម្រាប់មុខងារដែលមានការកែលម្អ និងជំនួយកំហុសឆ្ពោះមុខ។
4a. បន្ទាន់សម័យផ្នែក Python Dependencies
កែសម្រួល pyproject.toml: បន្ទាន់សម័យ ./code/weather_mcp/pyproject.toml
4b. បន្ទាន់សម័យរចនាសម្ព័ន្ធ Inspector
កែសម្រួល inspector/package.json: បន្ទាន់សម័យ ./code/weather_mcp/inspector/package.json
4c. បន្ទាន់សម័យ Dependencies Inspector
កែសម្រួល inspector/package-lock.json: បន្ទាន់សម័យ ./code/weather_mcp/inspector/package-lock.json
📝 សម្គាល់៖ ឯកសារនេះមានការកំណត់លក្ខខណ្ឌ dependency ធំទូលាយ។ ខាងក្រោមជារចនាសម្ព័ន្ធសំខាន់ - មាតិកាពេញលេញធានាការដោះស្រាយ dependency ត្រឹមត្រូវ។
⚡ ការកំណត់ពេញលេញ Package Lock: package-lock.json ពេញលេញមានជាយូរលានៅ ~3000 បន្ទាត់នៃការកំណត់ dependency។ ខាងលើបង្ហាញរចនាសម្ព័ន្ធសំខាន់ - ប្រើឯកសារបំបែកនេះសម្រាប់ការដោះស្រាយ dependency ទាំងមូល។
ជំហាន 5៖ កំណត់រចនាសម្ព័ន្ធ VS Code របស់ការកំហុសត្រួតពិនិត្យ
សម្គាល់៖ សូមចម្លងឯកសារនៅទីតាំងកំណត់ទៅលើឯកសារក្នុងម្ដងក្នុងម៉ាស៊ីនរបស់អ្នក
5a. បន្ទាន់សម័យរចនាសម្ព័ន្ធចាប់ផ្តើម
កែសម្រួល .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Local MCP",
"type": "debugpy",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"presentation": {
"hidden": true
},
"internalConsoleOptions": "neverOpen",
"postDebugTask": "Terminate All Tasks"
},
{
"name": "Launch Inspector (Edge)",
"type": "msedge",
"request": "launch",
"url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
"cascadeTerminateToConfigurations": [
"Attach to Local MCP"
],
"presentation": {
"hidden": true
},
"internalConsoleOptions": "neverOpen"
},
{
"name": "Launch Inspector (Chrome)",
"type": "chrome",
"request": "launch",
"url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
"cascadeTerminateToConfigurations": [
"Attach to Local MCP"
],
"presentation": {
"hidden": true
},
"internalConsoleOptions": "neverOpen"
}
],
"compounds": [
{
"name": "Debug in Agent Builder",
"configurations": [
"Attach to Local MCP"
],
"preLaunchTask": "Open Agent Builder",
},
{
"name": "Debug in Inspector (Edge)",
"configurations": [
"Launch Inspector (Edge)",
"Attach to Local MCP"
],
"preLaunchTask": "Start MCP Inspector",
"stopAll": true
},
{
"name": "Debug in Inspector (Chrome)",
"configurations": [
"Launch Inspector (Chrome)",
"Attach to Local MCP"
],
"preLaunchTask": "Start MCP Inspector",
"stopAll": true
}
]
}
កែសម្រួល .vscode/tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "Start MCP Server",
"type": "shell",
"command": "python -m debugpy --listen 127.0.0.1:5678 src/__init__.py sse",
"isBackground": true,
"options": {
"cwd": "${workspaceFolder}",
"env": {
"PORT": "3001"
}
},
"problemMatcher": {
"pattern": [
{
"regexp": "^.*$",
"file": 0,
"location": 1,
"message": 2
}
],
"background": {
"activeOnStart": true,
"beginsPattern": ".*",
"endsPattern": "Application startup complete|running"
}
}
},
{
"label": "Start MCP Inspector",
"type": "shell",
"command": "npm run dev:inspector",
"isBackground": true,
"options": {
"cwd": "${workspaceFolder}/inspector",
"env": {
"CLIENT_PORT": "6274",
"SERVER_PORT": "6277",
}
},
"problemMatcher": {
"pattern": [
{
"regexp": "^.*$",
"file": 0,
"location": 1,
"message": 2
}
],
"background": {
"activeOnStart": true,
"beginsPattern": "Starting MCP inspector",
"endsPattern": "Proxy server listening on port"
}
},
"dependsOn": [
"Start MCP Server"
]
},
{
"label": "Open Agent Builder",
"type": "shell",
"command": "echo ${input:openAgentBuilder}",
"presentation": {
"reveal": "never"
},
"dependsOn": [
"Start MCP Server"
],
},
{
"label": "Terminate All Tasks",
"command": "echo ${input:terminate}",
"type": "shell",
"problemMatcher": []
}
],
"inputs": [
{
"id": "openAgentBuilder",
"type": "command",
"command": "ai-mlstudio.agentBuilder",
"args": {
"initialMCPs": [ "local-server-weather_mcp" ],
"triggeredFrom": "vsc-tasks"
}
},
{
"id": "terminate",
"type": "command",
"command": "workbench.action.tasks.terminate",
"args": "terminateAll"
}
]
}
🚀 រត់ និង សាកល្បងម៉ាស៊ីនបម្រើ MCP របស់អ្នក
ជំហាន 6៖ ដំឡើង Dependencies
បន្ទាប់ពីធ្វើបម្រែបម្រួលរចនាសម្ព័ន្ធ ចាប់ផ្តើមបញ្ជាលេខខាងក្រោម៖
ដំឡើង Python dependencies:
uv sync
ដំឡើង Inspector dependencies:
cd inspector
npm install
ជំហាន 7៖ កំហុសត្រួតពិនិត្យជាមួយ Agent Builder
- ចុច F5 ឬប្រើរចនាសម្ព័ន្ធ "Debug in Agent Builder"
- ជ្រើសរចនាសម្ព័ន្ធ compound ពីផ្ទាំង debug
- រង់ចាំម៉ាស៊ីនបម្រើចាប់ផ្តើម និង Agent Builder បើកឡើង
- សាកល្បងម៉ាស៊ីនបម្រើ weather MCP របស់អ្នក ជាមួយសំណួរភាសាធម្មតា
បញ្ចូល prompt ដូចខាងក្រោម
SYSTEM_PROMPT
You are my weather assistant
USER_PROMPT
How's the weather like in Seattle
ជំហាន 8៖ កំហុសត្រួតពិនិត្យជាមួយ MCP Inspector
- ប្រើរចនាសម្ព័ន្ធ "Debug in Inspector" (Edge ឬ Chrome)
- បើកផ្ទាំង Inspector នៅ
http://localhost:6274 - ស្វែងយល់បរិយាកាសសាកល្បងអន្តរកម្ម៖
- មើលឧបករណ៍ដែលមានស្រាប់
- សាកល្បងការប្រតិបត្តិឧបករណ៍
- ត្រួតពិនិត្យសំណើបណ្ដាញ
- កំហុសត្រួតពិនិត្យចម្លើយម៉ាស៊ីនបម្រើ
🎯 លទ្ធផលការរៀនសំខាន់ៗ
ដោយបញ្ចប់មន្ទីរនេះ អ្នកបាន:
- បង្កើតម៉ាស៊ីនបម្រើ MCP ផ្ទាល់ខ្លួន ដោយប្រើគំរូ Microsoft Foundry Toolkit
- បន្ទាន់សម័យទៅ MCP SDK ជំនាន់ចុងក្រោយ (v1.9.3) សម្រាប់មុខងារកែលម្អ
- កំណត់លំដាប់កំហុសត្រួតពិនិត្យជាងវិជ្ជាជីវៈ សម្រាប់ Agent Builder និង Inspector
- ដំឡើង MCP Inspector សម្រាប់សាកល្បងម៉ាស៊ីនបម្រើអន្តរកម្ម
- មានជំនាញក្នុងការកំណត់ VS Code សម្រាប់កំហុសត្រួតពិនិត្យ MCP
🔧 មុខងារលម្អិតដែលបានស្វែងយល់
| មុខងារ | ការពិពណ៌នា | ករណីប្រើប្រាស់ |
|---|---|---|
| MCP Python SDK v1.9.3 | ការអនុវត្តពិធីការថ្មី | ការអភិវឌ្ឍម៉ាស៊ីនបម្រើសម័យថ្មី |
| MCP Inspector 0.14.0 | ឧបករណ៍កំហុសត្រួតពិនិត្យអន្តរកម្ម | សាកល្បងម៉ាស៊ីនបម្រើពេលវេលាពិត |
| ការកំហុសត្រួតពិនិត្យ VS Code | វិស្វកម្មអភិវឌ្ឍបិទជុំ | លំនាំកំហុសត្រួតពិនិត្យជាងវិជ្ជាជីវៈ |
| ការចងក្រង Agent Builder | ការតភ្ជាប់ផ្ទាល់ Microsoft Foundry Toolkit | សាកល្បង agent ពេញលេញ |
📚 ឯកសារបន្ថែម
- ឯកសារ MCP Python SDK
- មគ្គុទេសក៍ Microsoft Foundry Toolkit Extension
- ឯកសារកំហុសត្រួតពិនិត្យ VS Code
- បញ្ជាក់ Model Context Protocol
🎉 សូមអបអរសាទរ! អ្នកបានបញ្ចប់ Lab 3 ជោគជ័យ ហើយឥឡូវនេះអាចបង្កើត កំហុសត្រួតពិនិត្យ និងប្រើប្រាស់ម៉ាស៊ីនបម្រើ MCP ផ្ទាល់ខ្លួនដោយលំនាំអភិវឌ្ឍវិជ្ជាជីវៈ។
🔜 បន្តទៅម៉ូឌុលបន្ទាប់
រួចរាល់ដើម្បីដាក់បញ្ចូលជំនាញ MCP របស់អ្នកទៅលំនាំអភិវឌ្ឍជាក់ស្តែង? បន្តទៅ Module 4: Practical MCP Development - Custom GitHub Clone Server ដែលអ្នកនឹង៖
- បង្កើតម៉ាស៊ីនបម្រើ MCP ទីបំផុតដែលស្វ័យប្រវត្តិកម្មប្រតិបត្តិការក្នុង GitHub repository
- អនុវត្តមុខងារចម្លង GitHub repository តាម MCP
- បញ្ចូលម៉ាស៊ីនបម្រើ MCP ផ្ទាល់ខ្លួនជាមួយ VS Code និង GitHub Copilot Agent Mode
- សាកល្បង និងដាក់ម៉ាស៊ីនបម្រើ MCP ផ្ទាល់ខ្លួនក្នុងបរិយាកាសផលិតកម្ម
- រៀនលំនាំស្វ័យប្រវត្តិការអភិវឌ្ឍខាងជាក់ស្តែងសម្រាប់អ្នកអភិវឌ្ឍការ
ការបដិសេធ: ឯកសារនេះត្រូវបានបម្លែងភាសា ដោយប្រើសេវាបម្លែងភាសា AI Co-op Translator។ ទោះយើងខ្ញុំមានក្តីប្រាថ្នាឱ្យបានច្បាស់លាស់ តែសូមយល់ដឹងថាការបម្លែងដោយស្វ័យប្រវត្តិក៏អាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមជាភាសាទីតាំងគួរត្រូវបានគេប្រើជាប្រភពច្បាស់លាស់។ សម្រាប់ព័ត៌មានសំខាន់ៗ សូមណែនាំឱ្យប្រើប្រាស់ការប្រែដោយមនុស្សជំនាញ។ យើងខ្ញុំមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកស្រាយខុសបន្ទាប់ពីការប្រើប្រាស់ការបម្លែងនេះនោះទេ។



