(Нажмите на изображение выше, чтобы посмотреть видео этого урока)
Практическая реализация — это момент, когда мощь протокола Model Context Protocol (MCP) становится ощутимой. Хотя понимание теории и архитектуры MCP важно, настоящая ценность проявляется, когда вы применяете эти концепции для создания, тестирования и развертывания решений, которые решают реальные задачи. Эта глава соединяет концептуальные знания с практической разработкой, помогая вам воплотить приложения на основе MCP в жизнь.
Независимо от того, разрабатываете ли вы интеллектуальных помощников, интегрируете ИИ в бизнес-процессы или создаете пользовательские инструменты для обработки данных, MCP предоставляет гибкую основу. Его независимый от языка дизайн и официальные SDK для популярных языков программирования делают его доступным для широкого круга разработчиков. Используя эти SDK, вы можете быстро создавать прототипы, итеративно улучшать и масштабировать свои решения на различных платформах и в разных средах.
В следующих разделах вы найдете практические примеры, образцы кода и стратегии развертывания, которые демонстрируют, как реализовать MCP на C#, Java с Spring, TypeScript, JavaScript и Python. Вы также узнаете, как отлаживать и тестировать серверы MCP, управлять API и развертывать решения в облаке с использованием Azure. Эти практические ресурсы предназначены для ускорения вашего обучения и уверенного создания надежных приложений MCP, готовых к производству.
Этот урок сосредоточен на практических аспектах реализации MCP на различных языках программирования. Мы рассмотрим, как использовать SDK MCP на C#, Java с Spring, TypeScript, JavaScript и Python для создания надежных приложений, отладки и тестирования серверов MCP, а также создания повторно используемых ресурсов, подсказок и инструментов.
К концу этого урока вы сможете:
- Реализовать решения MCP с использованием официальных SDK на различных языках программирования
- Систематически отлаживать и тестировать серверы MCP
- Создавать и использовать функции сервера (Ресурсы, Подсказки и Инструменты)
- Разрабатывать эффективные рабочие процессы MCP для сложных задач
- Оптимизировать реализации MCP для повышения производительности и надежности
Протокол Model Context Protocol предлагает официальные SDK для нескольких языков:
- C# SDK
- Java с Spring SDK Примечание: требует зависимости от Project Reactor. (См. обсуждение issue 246.)
- TypeScript SDK
- Python SDK
- Kotlin SDK
Этот раздел предоставляет практические примеры реализации MCP на различных языках программирования. Вы можете найти примеры кода в каталоге samples, организованном по языкам.
Репозиторий включает примеры реализации на следующих языках:
Каждый пример демонстрирует ключевые концепции MCP и шаблоны реализации для конкретного языка и экосистемы.
Серверы MCP могут реализовывать любую комбинацию следующих функций:
Ресурсы предоставляют контекст и данные для использования пользователем или моделью ИИ:
- Репозитории документов
- Базы знаний
- Структурированные источники данных
- Файловые системы
Подсказки — это шаблонные сообщения и рабочие процессы для пользователей:
- Предопределенные шаблоны разговоров
- Шаблоны направленного взаимодействия
- Специализированные структуры диалога
Инструменты — это функции, которые модель ИИ может выполнять:
- Утилиты обработки данных
- Интеграции с внешними API
- Вычислительные возможности
- Функциональность поиска
Официальный репозиторий SDK C# содержит несколько примеров реализации, демонстрирующих различные аспекты MCP:
- Базовый клиент MCP: Простой пример создания клиента MCP и вызова инструментов
- Базовый сервер MCP: Минимальная реализация сервера с базовой регистрацией инструментов
- Расширенный сервер MCP: Полнофункциональный сервер с регистрацией инструментов, аутентификацией и обработкой ошибок
- Интеграция с ASP.NET: Примеры интеграции с ASP.NET Core
- Шаблоны реализации инструментов: Различные шаблоны реализации инструментов с разным уровнем сложности
SDK MCP для C# находится в стадии предварительного просмотра, и API могут измениться. Мы будем регулярно обновлять этот блог по мере развития SDK.
- C# MCP Nuget ModelContextProtocol
- Создание вашего первого сервера MCP.
Для получения полных примеров реализации на C# посетите официальный репозиторий примеров SDK C#
SDK Java с Spring предлагает надежные варианты реализации MCP с функциями корпоративного уровня.
- Интеграция с Spring Framework
- Сильная типизация
- Поддержка реактивного программирования
- Комплексная обработка ошибок
Для полного примера реализации на Java с Spring см. Пример Java с Spring в каталоге примеров.
SDK JavaScript предоставляет легкий и гибкий подход к реализации MCP.
- Поддержка Node.js и браузеров
- API на основе Promise
- Легкая интеграция с Express и другими фреймворками
- Поддержка WebSocket для потоковой передачи
Для полного примера реализации на JavaScript см. Пример JavaScript в каталоге примеров.
SDK Python предлагает подход, соответствующий стилю Python, для реализации MCP с отличной интеграцией с ML-фреймворками.
- Поддержка async/await с asyncio
- Интеграция с FastAPI
- Простая регистрация инструментов
- Нативная интеграция с популярными библиотеками ML
Для полного примера реализации на Python см. Пример Python в каталоге примеров.
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, функции приложения (с кодом) и всех других необходимых ресурсов Azure
azd up
Эта команда должна развернуть все облачные ресурсы в Azure.
-
В новом окне терминала установите и запустите MCP Inspector
npx @modelcontextprotocol/inspector
Вы должны увидеть интерфейс, похожий на:
-
Нажмите CTRL, чтобы загрузить веб-приложение MCP Inspector по URL, отображаемому приложением (например, http://127.0.0.1:6274/#resources)
-
Установите тип транспорта на
SSE -
Установите URL вашего работающего конечного точки API Management SSE, отображаемого после
azd up, и Подключитесь:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Список инструментов. Нажмите на инструмент и Запустите инструмент.
Если все шаги выполнены успешно, вы должны быть подключены к серверу 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
- Изоляция сети: Возможность изоляции сети с использованием виртуальных сетей Azure (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.
- SDK MCP предоставляют инструменты, специфичные для языка, для реализации надежных решений MCP
- Процесс отладки и тестирования критически важен для надежных приложений MCP
- Повторно используемые шаблоны подсказок обеспечивают последовательное взаимодействие ИИ
- Хорошо спроектированные рабочие процессы могут организовывать сложные задачи с использованием нескольких инструментов
- Реализация решений MCP требует учета безопасности, производительности и обработки ошибок
Разработайте практический рабочий процесс MCP, который решает реальную задачу в вашей области:
- Определите 3-4 инструмента, которые будут полезны для решения этой задачи
- Создайте диаграмму рабочего процесса, показывающую, как эти инструменты взаимодействуют
- Реализуйте базовую версию одного из инструментов на вашем предпочтительном языке
- Создайте шаблон подсказки, который поможет модели эффективно использовать ваш инструмент
Далее: Продвинутые темы
Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования данного перевода.



