Практична реалізація — це той момент, коли сила Model Context Protocol (MCP) стає відчутною. Хоча розуміння теорії та архітектури MCP важливе, справжня цінність з’являється, коли ви застосовуєте ці концепції для створення, тестування та розгортання рішень, які вирішують реальні проблеми. Цей розділ допомагає подолати розрив між теоретичними знаннями та практичною розробкою, проводячи вас через процес створення додатків на основі MCP.
Чи розробляєте ви інтелектуальних помічників, інтегруєте ШІ у бізнес-процеси або створюєте інструменти для обробки даних, MCP забезпечує гнучку основу. Його мова-незалежний дизайн та офіційні SDK для популярних мов програмування роблять його доступним для широкого кола розробників. Використовуючи ці SDK, ви можете швидко створювати прототипи, ітерувати та масштабувати свої рішення на різних платформах і середовищах.
У наступних розділах ви знайдете практичні приклади, зразки коду та стратегії розгортання, які демонструють, як реалізувати MCP на C#, Java, TypeScript, JavaScript та Python. Ви також дізнаєтеся, як налагоджувати та тестувати MCP-сервери, керувати API та розгортати рішення в хмарі за допомогою Azure. Ці практичні ресурси створені, щоб прискорити ваше навчання і допомогти впевнено створювати надійні MCP-додатки, готові до виробництва.
Цей урок зосереджений на практичних аспектах реалізації MCP на різних мовах програмування. Ми розглянемо, як використовувати MCP SDK на C#, Java, TypeScript, JavaScript та Python для створення надійних додатків, налагодження та тестування MCP-серверів, а також створення повторно використовуваних ресурсів, промптів і інструментів.
До кінця цього уроку ви зможете:
- Реалізовувати MCP-рішення за допомогою офіційних SDK на різних мовах програмування
- Систематично налагоджувати та тестувати MCP-сервери
- Створювати та використовувати серверні функції (Resources, Prompts і Tools)
- Проєктувати ефективні MCP-робочі процеси для складних завдань
- Оптимізувати реалізації MCP для продуктивності та надійності
Model Context Protocol пропонує офіційні SDK для кількох мов:
У цьому розділі наведено практичні приклади реалізації MCP на різних мовах програмування. Зразки коду можна знайти в каталозі samples, організованому за мовами.
Репозиторій містить приклади реалізацій на таких мовах:
Кожен приклад демонструє ключові концепції MCP та шаблони реалізації для конкретної мови та екосистеми.
MCP-сервери можуть реалізовувати будь-яке поєднання цих функцій:
Resources надають контекст і дані для користувача або моделі ШІ:
- Репозиторії документів
- Бази знань
- Структуровані джерела даних
- Файлові системи
Prompts — це шаблонізовані повідомлення та робочі процеси для користувачів:
- Попередньо визначені шаблони розмов
- Керовані патерни взаємодії
- Спеціалізовані структури діалогів
Tools — це функції, які модель ШІ може виконувати:
- Утиліти для обробки даних
- Інтеграції з зовнішніми API
- Обчислювальні можливості
- Функції пошуку
Офіційний репозиторій C# SDK містить кілька прикладів, що демонструють різні аспекти MCP:
- Basic MCP Client: Простий приклад створення MCP-клієнта та виклику інструментів
- Basic MCP Server: Мінімальна реалізація сервера з базовою реєстрацією інструментів
- Advanced MCP Server: Повнофункціональний сервер з реєстрацією інструментів, автентифікацією та обробкою помилок
- ASP.NET Integration: Приклади інтеграції з ASP.NET Core
- Tool Implementation Patterns: Різні патерни реалізації інструментів з різним рівнем складності
MCP C# SDK знаходиться в прев’ю, і API можуть змінюватися. Ми будемо регулярно оновлювати цей блог у міру розвитку SDK.
-
Створення вашого першого MCP-сервера.
Для повних прикладів реалізації на C# відвідайте офіційний репозиторій зразків C# SDK
Java SDK пропонує надійні можливості реалізації MCP з корпоративними функціями.
- Інтеграція зі Spring Framework
- Сильна типізація
- Підтримка реактивного програмування
- Комплексна обробка помилок
Для повного прикладу реалізації на Java дивіться Java sample у каталозі зразків.
JavaScript SDK забезпечує легкий і гнучкий підхід до реалізації MCP.
- Підтримка Node.js та браузера
- API на основі Promise
- Легка інтеграція з Express та іншими фреймворками
- Підтримка WebSocket для стрімінгу
Для повного прикладу реалізації на JavaScript дивіться JavaScript sample у каталозі зразків.
Python SDK пропонує «пітонічний» підхід до реалізації MCP з відмінною інтеграцією ML-фреймворків.
- Підтримка async/await з asyncio
- Інтеграція з FastAPI
- Проста реєстрація інструментів
- Рідна інтеграція з популярними ML-бібліотеками
Для повного прикладу реалізації на Python дивіться Python sample у каталозі зразків.
Azure API Management — відмінне рішення для захисту MCP-серверів. Ідея полягає в тому, щоб розмістити інстанс Azure API Management перед вашим MCP-сервером і дозволити йому обробляти функції, які вам можуть знадобитися, такі як:
- обмеження швидкості запитів
- керування токенами
- моніторинг
- балансування навантаження
- безпека
Ось приклад Azure, який робить саме це, тобто створює MCP-сервер і захищає його за допомогою Azure API Management.
Дивіться, як відбувається процес авторизації на зображенні нижче:
На наведеному зображенні відбувається наступне:
- Аутентифікація/авторизація здійснюється за допомогою Microsoft Entra.
- Azure API Management виступає шлюзом і використовує політики для керування трафіком.
- Azure Monitor веде журнал усіх запитів для подальшого аналізу.
Розглянемо детальніше потік авторизації:
Дізнайтеся більше про специфікацію авторизації MCP
Давайте спробуємо розгорнути приклад, який ми згадували раніше:
-
Клонуйте репозиторій
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
Зареєструйте провайдера ресурсів
Microsoft.App.- Якщо ви використовуєте Azure CLI, виконайте
az provider register --namespace Microsoft.App --wait. - Якщо ви використовуєте Azure PowerShell, виконайте
Register-AzResourceProvider -ProviderNamespace Microsoft.App. Потім через деякий час перевірте стан реєстрації командою(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState.
- Якщо ви використовуєте Azure CLI, виконайте
-
Виконайте цю команду azd для створення служби API Management, функціонального додатку (з кодом) та всіх інших необхідних ресурсів Azure
azd up
Ця команда має розгорнути всі хмарні ресурси в Azure
-
У новому вікні терміналу встановіть і запустіть MCP Inspector
npx @modelcontextprotocol/inspector
Ви побачите інтерфейс, схожий на:
-
CTRL-клікніть, щоб завантажити веб-додаток MCP Inspector за URL, який відображає додаток (наприклад, http://127.0.0.1:6274/#resources)
-
Встановіть тип транспорту
SSE -
Встановіть URL на ваш поточний SSE-ендпоінт API Management, який відображається після
azd up, і натисніть Connect:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Список інструментів. Клікніть на інструмент і натисніть Run Tool.
Якщо всі кроки виконані правильно, ви тепер підключені до MCP-сервера і змогли викликати інструмент.
Remote-mcp-functions: цей набір репозиторіїв є шаблоном швидкого старту для створення та розгортання кастомних віддалених MCP (Model Context Protocol) серверів за допомогою Azure Functions на Python, C# .NET або Node/TypeScript.
Зразки надають повне рішення, яке дозволяє розробникам:
- Розробляти та запускати локально: розробляти та налагоджувати MCP-сервер на локальній машині
- Розгортати в Azure: легко розгортати в хмарі за допомогою простої команди azd up
- Підключатися з клієнтів: підключатися до MCP-сервера з різних клієнтів, включно з режимом агента Copilot у VS Code та інструментом MCP Inspector
- Безпека за замовчуванням: MCP-сервер захищений за допомогою ключів і HTTPS
- Варіанти автентифікації: підтримка OAuth із вбудованою автентифікацією та/або API Management
- Ізоляція мережі: підтримка ізоляції мережі за допомогою Azure Virtual Networks (VNET)
- Безсерверна архітектура: використання Azure Functions для масштабованого виконання на основі подій
- Локальна розробка: повна підтримка локальної розробки та налагодження
- Просте розгортання: оптимізований процес розгортання в Azure
Репозиторій містить усі необхідні конфігураційні файли, вихідний код і визначення інфраструктури, щоб швидко почати роботу з MCP-сервером, готовим до виробництва.
-
Azure Remote MCP Functions Python — приклад реалізації MCP за допомогою Azure Functions на Python
-
Azure Remote MCP Functions .NET — приклад реалізації MCP за допомогою Azure Functions на C# .NET
-
Azure Remote MCP Functions Node/Typescript — приклад реалізації MCP за допомогою Azure Functions на Node/TypeScript.
- MCP SDK надають мовно-специфічні інструменти для реалізації надійних MCP-рішень
- Процес налагодження та тестування критично важливий для стабільних MCP-додатків
- Повторно використовувані шаблони промптів забезпечують послідовну взаємодію з ШІ
- Добре спроєктовані робочі процеси можуть координувати складні завдання з використанням кількох інструментів
- Реалізація MCP-рішень вимагає уваги до безпеки, продуктивності та обробки помилок
Спроєктуйте практичний MCP-робочий процес, який вирішує реальну проблему у вашій сфері:
- Визначте 3-4 інструменти, які були б корисними для розв’язання цієї проблеми
- Створіть діаграму робочого процесу, що показує, як ці інструменти взаємодіють
- Реалізуйте базову версію одного з інструментів на обраній мові
- Створіть шаблон промпту, який допоможе моделі ефективно використовувати ваш інструмент
Далі: Розширені теми
Відмова від відповідальності:
Цей документ було перекладено за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується звертатися до професійного людського перекладу. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.


