Skip to content

Latest commit

 

History

History
283 lines (180 loc) · 22 KB

File metadata and controls

283 lines (180 loc) · 22 KB

Практическая реализация

Как создавать, тестировать и развертывать приложения MCP с использованием реальных инструментов и рабочих процессов

(Нажмите на изображение выше, чтобы посмотреть видео этого урока)

Практическая реализация — это момент, когда мощь протокола 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 для повышения производительности и надежности

Официальные ресурсы SDK

Протокол Model Context Protocol предлагает официальные SDK для нескольких языков:

Работа с SDK MCP

Этот раздел предоставляет практические примеры реализации MCP на различных языках программирования. Вы можете найти примеры кода в каталоге samples, организованном по языкам.

Доступные примеры

Репозиторий включает примеры реализации на следующих языках:

Каждый пример демонстрирует ключевые концепции MCP и шаблоны реализации для конкретного языка и экосистемы.

Основные функции сервера

Серверы MCP могут реализовывать любую комбинацию следующих функций:

Ресурсы

Ресурсы предоставляют контекст и данные для использования пользователем или моделью ИИ:

  • Репозитории документов
  • Базы знаний
  • Структурированные источники данных
  • Файловые системы

Подсказки

Подсказки — это шаблонные сообщения и рабочие процессы для пользователей:

  • Предопределенные шаблоны разговоров
  • Шаблоны направленного взаимодействия
  • Специализированные структуры диалога

Инструменты

Инструменты — это функции, которые модель ИИ может выполнять:

  • Утилиты обработки данных
  • Интеграции с внешними API
  • Вычислительные возможности
  • Функциональность поиска

Примеры реализации: Реализация на C#

Официальный репозиторий SDK C# содержит несколько примеров реализации, демонстрирующих различные аспекты MCP:

  • Базовый клиент MCP: Простой пример создания клиента MCP и вызова инструментов
  • Базовый сервер MCP: Минимальная реализация сервера с базовой регистрацией инструментов
  • Расширенный сервер MCP: Полнофункциональный сервер с регистрацией инструментов, аутентификацией и обработкой ошибок
  • Интеграция с ASP.NET: Примеры интеграции с ASP.NET Core
  • Шаблоны реализации инструментов: Различные шаблоны реализации инструментов с разным уровнем сложности

SDK MCP для C# находится в стадии предварительного просмотра, и API могут измениться. Мы будем регулярно обновлять этот блог по мере развития SDK.

Основные функции

Для получения полных примеров реализации на C# посетите официальный репозиторий примеров SDK C#

Пример реализации: Реализация на Java с Spring

SDK Java с Spring предлагает надежные варианты реализации MCP с функциями корпоративного уровня.

Основные функции

  • Интеграция с Spring Framework
  • Сильная типизация
  • Поддержка реактивного программирования
  • Комплексная обработка ошибок

Для полного примера реализации на Java с Spring см. Пример Java с Spring в каталоге примеров.

Пример реализации: Реализация на JavaScript

SDK JavaScript предоставляет легкий и гибкий подход к реализации MCP.

Основные функции

  • Поддержка Node.js и браузеров
  • API на основе Promise
  • Легкая интеграция с Express и другими фреймворками
  • Поддержка WebSocket для потоковой передачи

Для полного примера реализации на JavaScript см. Пример JavaScript в каталоге примеров.

Пример реализации: Реализация на Python

SDK Python предлагает подход, соответствующий стилю Python, для реализации MCP с отличной интеграцией с ML-фреймворками.

Основные функции

  • Поддержка async/await с asyncio
  • Интеграция с FastAPI
  • Простая регистрация инструментов
  • Нативная интеграция с популярными библиотеками ML

Для полного примера реализации на Python см. Пример Python в каталоге примеров.

Управление API

Azure API Management — отличный способ обеспечить безопасность серверов MCP. Идея заключается в том, чтобы разместить экземпляр Azure API Management перед вашим сервером MCP и позволить ему обрабатывать функции, которые вам, вероятно, понадобятся, такие как:

  • ограничение скорости
  • управление токенами
  • мониторинг
  • балансировка нагрузки
  • безопасность

Пример Azure

Вот пример Azure, который делает именно это, а именно создание сервера MCP и обеспечение его безопасности с помощью Azure API Management.

Посмотрите, как происходит поток авторизации на изображении ниже:

APIM-MCP

На изображении выше происходит следующее:

  • Аутентификация/Авторизация осуществляется с использованием Microsoft Entra.
  • Azure API Management действует как шлюз и использует политики для направления и управления трафиком.
  • Azure Monitor регистрирует все запросы для дальнейшего анализа.

Поток авторизации

Давайте рассмотрим поток авторизации более подробно:

Диаграмма последовательности

Спецификация авторизации MCP

Узнайте больше о спецификации авторизации MCP

Развертывание удаленного сервера MCP в Azure

Давайте посмотрим, сможем ли мы развернуть упомянутый ранее пример:

  1. Клонируйте репозиторий

    git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git
    cd remote-mcp-apim-functions-python
  2. Зарегистрируйте поставщика ресурсов Microsoft.App.

    • Если вы используете Azure CLI, выполните команду az provider register --namespace Microsoft.App --wait.
    • Если вы используете Azure PowerShell, выполните команду Register-AzResourceProvider -ProviderNamespace Microsoft.App. Затем выполните (Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState через некоторое время, чтобы проверить, завершена ли регистрация.
  3. Выполните эту команду azd для создания службы управления API, функции приложения (с кодом) и всех других необходимых ресурсов Azure

    azd up

    Эта команда должна развернуть все облачные ресурсы в Azure.

Тестирование вашего сервера с MCP Inspector

  1. В новом окне терминала установите и запустите MCP Inspector

    npx @modelcontextprotocol/inspector

    Вы должны увидеть интерфейс, похожий на:

    Подключение к Node inspector

  2. Нажмите CTRL, чтобы загрузить веб-приложение MCP Inspector по URL, отображаемому приложением (например, http://127.0.0.1:6274/#resources)

  3. Установите тип транспорта на SSE

  4. Установите URL вашего работающего конечного точки API Management SSE, отображаемого после azd up, и Подключитесь:

    https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
  5. Список инструментов. Нажмите на инструмент и Запустите инструмент.

Если все шаги выполнены успешно, вы должны быть подключены к серверу MCP и смогли вызвать инструмент.

Серверы MCP для Azure

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.

Основные выводы

  • SDK MCP предоставляют инструменты, специфичные для языка, для реализации надежных решений MCP
  • Процесс отладки и тестирования критически важен для надежных приложений MCP
  • Повторно используемые шаблоны подсказок обеспечивают последовательное взаимодействие ИИ
  • Хорошо спроектированные рабочие процессы могут организовывать сложные задачи с использованием нескольких инструментов
  • Реализация решений MCP требует учета безопасности, производительности и обработки ошибок

Упражнение

Разработайте практический рабочий процесс MCP, который решает реальную задачу в вашей области:

  1. Определите 3-4 инструмента, которые будут полезны для решения этой задачи
  2. Создайте диаграмму рабочего процесса, показывающую, как эти инструменты взаимодействуют
  3. Реализуйте базовую версию одного из инструментов на вашем предпочтительном языке
  4. Создайте шаблон подсказки, который поможет модели эффективно использовать ваш инструмент

Дополнительные ресурсы


Далее: Продвинутые темы

Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные толкования, возникшие в результате использования данного перевода.