До кінця цієї лабораторної роботи ви зможете:
- ✅ Створювати власні MCP сервери за допомогою AI Toolkit
- ✅ Налаштовувати та використовувати останню версію MCP Python SDK (v1.9.3)
- ✅ Налаштовувати та використовувати MCP Inspector для налагодження
- ✅ Налагоджувати MCP сервери як у середовищі Agent Builder, так і в Inspector
- ✅ Розуміти розширені робочі процеси розробки MCP серверів
- Завершення Лабораторної роботи 2 (Основи MCP)
- VS Code з встановленим розширенням AI Toolkit
- Середовище Python 3.10+
- Node.js та npm для налаштування Inspector
У цій лабораторній роботі ви створите Weather MCP Server, який демонструє:
- Власну реалізацію MCP сервера
- Інтеграцію з AI Toolkit Agent Builder
- Професійні робочі процеси налагодження
- Сучасні патерни використання MCP SDK
Python SDK для Model Context Protocol забезпечує основу для створення власних MCP серверів. Ви використовуватимете версію 1.9.3 з покращеними можливостями налагодження.
Потужний інструмент для налагодження, який надає:
- Моніторинг сервера в реальному часі
- Візуалізацію виконання інструментів
- Перевірку мережевих запитів/відповідей
- Інтерактивне тестове середовище
- Запустіть Agent Builder у VS Code через розширення AI Toolkit
- Створіть нового агента з наступною конфігурацією:
- Ім’я агента:
WeatherAgent
- Ім’я агента:
- Перейдіть у Tools → Add Tool в Agent Builder
- Виберіть "MCP Server" зі списку доступних опцій
- Обрати "Create A new MCP Server"
- Виберіть шаблон
python-weather - Назвіть сервер:
weather_mcp
- Відкрийте згенерований проект у VS Code
- Перегляньте структуру проекту:
weather_mcp/ ├── src/ │ ├── __init__.py │ └── server.py ├── inspector/ │ ├── package.json │ └── package-lock.json ├── .vscode/ │ ├── launch.json │ └── tasks.json ├── pyproject.toml └── README.md
🔍 Чому оновлювати? Ми хочемо використовувати останню версію MCP SDK (v1.9.3) та сервіс Inspector (0.14.0) для розширених функцій і кращих можливостей налагодження.
Відредагуйте pyproject.toml: оновіть ./code/weather_mcp/pyproject.toml
Відредагуйте inspector/package.json: оновіть ./code/weather_mcp/inspector/package.json
Відредагуйте inspector/package-lock.json: оновіть ./code/weather_mcp/inspector/package-lock.json
📝 Примітка: Цей файл містить велику кількість визначень залежностей. Нижче наведена основна структура — повний вміст забезпечує коректне розв’язання залежностей.
⚡ Повний Package Lock: Повний файл package-lock.json містить близько 3000 рядків визначень залежностей. Вище показана ключова структура — використовуйте наданий файл для повного розв’язання залежностей.
Примітка: Будь ласка, скопіюйте файл у вказаному шляху, щоб замінити відповідний локальний файл
Відредагуйте .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"
}
]
}
Після внесення змін у конфігурацію виконайте наступні команди:
Встановлення Python-залежностей:
uv syncВстановлення залежностей Inspector:
cd inspector
npm install- Натисніть F5 або використайте конфігурацію "Debug in Agent Builder"
- Виберіть compound конфігурацію у панелі налагодження
- Дочекайтесь запуску сервера та відкриття Agent Builder
- Перевірте роботу вашого weather MCP сервера за допомогою запитів природною мовою
Введіть запит, наприклад
SYSTEM_PROMPT
You are my weather assistant
USER_PROMPT
How's the weather like in Seattle
- Використайте конфігурацію "Debug in Inspector" (Edge або Chrome)
- Відкрийте інтерфейс Inspector за адресою
http://localhost:6274 - Ознайомтесь з інтерактивним тестовим середовищем:
- Перегляд доступних інструментів
- Тестування виконання інструментів
- Моніторинг мережевих запитів
- Налагодження відповідей сервера
Виконавши цю лабораторну роботу, ви:
- Створили власний MCP сервер за допомогою шаблонів AI 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 | Пряме підключення AI Toolkit | Повне тестування агента |
- Документація MCP Python SDK
- Посібник з розширення AI Toolkit
- Документація з налагодження у VS Code
- Специфікація Model Context Protocol
🎉 Вітаємо! Ви успішно завершили Лабораторну роботу 3 і тепер можете створювати, налагоджувати та розгортати власні MCP сервери, використовуючи професійні робочі процеси розробки.
Готові застосувати свої навички MCP у реальному робочому процесі розробки? Продовжуйте до Модуль 4: Практична розробка MCP - власний сервер клонування GitHub, де ви:
- Створите готовий до продакшену MCP сервер для автоматизації операцій з репозиторіями GitHub
- Реалізуєте функціонал клонування репозиторіїв GitHub через MCP
- Інтегруєте власні MCP сервери з VS Code та GitHub Copilot Agent Mode
- Тестуватимете та розгортатимете MCP сервери у продакшен-середовищах
- Навчитеся практичній автоматизації робочих процесів для розробників
Відмова від відповідальності:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується звертатися до професійного людського перекладу. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.



