🔧 Module 3: Phát Triển MCP Nâng Cao với Microsoft Foundry Toolkit
🎯 Mục Tiêu Học Tập
Sau khi hoàn thành phòng thí nghiệm này, bạn sẽ có thể:
- ✅ Tạo máy chủ MCP tùy chỉnh bằng Microsoft Foundry Toolkit
- ✅ Cấu hình và sử dụng MCP Python SDK mới nhất (v1.9.3)
- ✅ Thiết lập và sử dụng MCP Inspector để gỡ lỗi
- ✅ Gỡ lỗi máy chủ MCP trong cả môi trường Agent Builder và Inspector
- ✅ Hiểu các quy trình phát triển máy chủ MCP nâng cao
📋 Yêu Cầu Tiên Quyết
- Hoàn thành Phòng thí nghiệm 2 (Kiến thức cơ bản về MCP)
- VS Code đã cài tiện ích mở rộng Microsoft Foundry Toolkit
- Môi trường Python 3.10+
- Node.js và npm để cài đặt Inspector
🏗️ Bạn Sẽ Xây Dựng Gì
Trong bài lab này, bạn sẽ tạo một Weather MCP Server minh họa:
- Triển khai máy chủ MCP tùy chỉnh
- Tích hợp với Microsoft Foundry Toolkit Agent Builder
- Quy trình gỡ lỗi chuyên nghiệp
- Mẫu sử dụng MCP SDK hiện đại
🔧 Tổng Quan Các Thành Phần Chính
🐍 MCP Python SDK
Bộ SDK Protocol Ngữ cảnh Mô hình (Model Context Protocol) Python cung cấp nền tảng để xây dựng máy chủ MCP tùy chỉnh. Bạn sẽ sử dụng phiên bản 1.9.3 với khả năng gỡ lỗi nâng cao.
🔍 MCP Inspector
Một công cụ gỡ lỗi mạnh mẽ cung cấp:
- Giám sát máy chủ theo thời gian thực
- Hiển thị việc thực thi công cụ
- Kiểm tra các yêu cầu/phản hồi mạng
- Môi trường thử nghiệm tương tác
📖 Triển Khai Từng Bước
Bước 1: Tạo WeatherAgent trong Agent Builder
- Khởi chạy Agent Builder trong VS Code qua tiện ích Microsoft Foundry Toolkit
- Tạo một agent mới với cấu hình sau:
- Tên Agent:
WeatherAgent
- Tên Agent:
Bước 2: Khởi Tạo Dự Án MCP Server
- Đi tới Tools → Add Tool trong Agent Builder
- Chọn "MCP Server" từ các tùy chọn có sẵn
- Chọn "Create A new MCP Server"
- Chọn mẫu
python-weather - Đặt tên máy chủ:
weather_mcp
Bước 3: Mở và Kiểm Tra Dự Án
- Mở dự án được tạo trong VS Code
- Xem xét cấu trúc dự án:
weather_mcp/ ├── src/ │ ├── __init__.py │ └── server.py ├── inspector/ │ ├── package.json │ └── package-lock.json ├── .vscode/ │ ├── launch.json │ └── tasks.json ├── pyproject.toml └── README.md
Bước 4: Nâng Cấp Lên MCP SDK Mới Nhất
🔍 Tại sao cần nâng cấp? Chúng ta muốn sử dụng MCP SDK mới nhất (v1.9.3) và dịch vụ Inspector (0.14.0) để có các tính năng nâng cao và cải thiện khả năng gỡ lỗi.
4a. Cập nhật các phụ thuộc Python
Chỉnh sửa pyproject.toml: cập nhật ./code/weather_mcp/pyproject.toml
4b. Cập nhật cấu hình Inspector
Chỉnh sửa inspector/package.json: cập nhật ./code/weather_mcp/inspector/package.json
4c. Cập nhật các phụ thuộc Inspector
Chỉnh sửa inspector/package-lock.json: cập nhật ./code/weather_mcp/inspector/package-lock.json
📝 Lưu ý: Tệp này chứa định nghĩa phụ thuộc chi tiết. Dưới đây là cấu trúc thiết yếu - nội dung đầy đủ đảm bảo giải quyết phụ thuộc chính xác.
⚡ Gói Khóa Đầy Đủ: File package-lock.json đầy đủ có khoảng ~3000 dòng định nghĩa phụ thuộc. Phần trên trình bày cấu trúc chính - hãy dùng file đi kèm để đảm bảo giải quyết phụ thuộc đầy đủ.
Bước 5: Cấu Hình Gỡ Lỗi VS Code
Lưu ý: Vui lòng sao chép file trong đường dẫn được chỉ định để thay thế file cục bộ tương ứng
5a. Cập nhật cấu hình khởi chạy
Chỉnh sửa .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
}
]
}
Chỉnh sửa .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"
}
]
}
🚀 Chạy và Kiểm Tra Máy Chủ MCP Của Bạn
Bước 6: Cài Đặt Phụ Thuộc
Sau khi thực hiện các thay đổi cấu hình, chạy các lệnh sau:
Cài đặt phụ thuộc Python:
uv sync
Cài đặt phụ thuộc Inspector:
cd inspector
npm install
Bước 7: Gỡ Lỗi với Agent Builder
- Nhấn F5 hoặc sử dụng cấu hình "Debug in Agent Builder"
- Chọn cấu hình compound trong bảng điều khiển gỡ lỗi
- Chờ máy chủ khởi động và Agent Builder mở ra
- Kiểm tra máy chủ weather MCP với các câu hỏi ngôn ngữ tự nhiên
Nhập lời nhắc như sau
SYSTEM_PROMPT
You are my weather assistant
USER_PROMPT
How's the weather like in Seattle
Bước 8: Gỡ Lỗi với MCP Inspector
- Sử dụng cấu hình "Debug in Inspector" (Edge hoặc Chrome)
- Mở giao diện Inspector tại
http://localhost:6274 - Khám phá môi trường thử nghiệm tương tác:
- Xem các công cụ có sẵn
- Thử nghiệm thực thi công cụ
- Giám sát các yêu cầu mạng
- Gỡ lỗi các phản hồi từ máy chủ
🎯 Kết Quả Học Tập Chính
Sau khi hoàn thành phòng thí nghiệm này, bạn đã:
- Tạo máy chủ MCP tùy chỉnh bằng cách sử dụng mẫu Microsoft Foundry Toolkit
- Nâng cấp lên MCP SDK mới nhất (v1.9.3) để có tính năng cải tiến
- Cấu hình quy trình gỡ lỗi chuyên nghiệp cho cả Agent Builder và Inspector
- Thiết lập MCP Inspector để thử nghiệm máy chủ tương tác
- Thành thạo cấu hình gỡ lỗi VS Code cho phát triển MCP
🔧 Tính Năng Nâng Cao Đã Khám Phá
| Tính Năng | Mô Tả | Trường Hợp Sử Dụng |
|---|---|---|
| MCP Python SDK v1.9.3 | Triển khai giao thức mới nhất | Phát triển máy chủ hiện đại |
| MCP Inspector 0.14.0 | Công cụ gỡ lỗi tương tác | Thử nghiệm máy chủ theo thời gian thực |
| Gỡ Lỗi VS Code | Môi trường phát triển tích hợp | Quy trình gỡ lỗi chuyên nghiệp |
| Tích Hợp Agent Builder | Kết nối trực tiếp với Microsoft Foundry Toolkit | Thử nghiệm agent đầu-cuối |
📚 Tài Nguyên Bổ Sung
- Tài liệu MCP Python SDK
- Hướng dẫn Tiện ích mở rộng Microsoft Foundry Toolkit
- Tài liệu gỡ lỗi VS Code
- Đặc tả Model Context Protocol
🎉 Chúc mừng! Bạn đã hoàn thành thành công Lab 3 và có thể tạo, gỡ lỗi, triển khai máy chủ MCP tùy chỉnh sử dụng quy trình phát triển chuyên nghiệp.
🔜 Tiếp tục sang Module tiếp theo
Sẵn sàng áp dụng kỹ năng MCP vào quy trình phát triển thực tế? Tiếp tục đến Module 4: Phát Triển MCP Thực Tiễn - Máy Chủ Nhân Bản GitHub Tùy Chỉnh nơi bạn sẽ:
- Xây dựng máy chủ MCP sẵn sàng cho sản xuất tự động hóa thao tác kho GitHub
- Triển khai chức năng nhân bản kho GitHub qua MCP
- Tích hợp máy chủ MCP tùy chỉnh với VS Code và Chế Độ Agent GitHub Copilot
- Thử nghiệm và triển khai máy chủ MCP tùy chỉnh trong môi trường sản xuất
- Học cách tự động hóa quy trình thực tế cho nhà phát triển
Tuyên bố miễn trừ trách nhiệm: Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng bản dịch tự động có thể chứa lỗi hoặc sai sót. Tài liệu gốc bằng ngôn ngữ gốc nên được coi là nguồn tin chính thức. Đối với thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm về bất kỳ hiểu lầm hoặc giải thích sai nào phát sinh từ việc sử dụng bản dịch này.



