Skip to content

Latest commit

 

History

History
283 lines (180 loc) · 21.6 KB

File metadata and controls

283 lines (180 loc) · 21.6 KB

Практическо приложение

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

(Кликнете върху изображението по-горе, за да гледате видеото към този урок)

Практическото приложение е мястото, където силата на Model Context Protocol (MCP) става осезаема. Докато разбирането на теорията и архитектурата зад MCP е важно, истинската стойност се проявява, когато приложите тези концепции, за да изградите, тествате и внедрите решения, които решават реални проблеми. Тази глава свързва пропастта между концептуалното знание и практическата разработка, като ви води през процеса на създаване на приложения, базирани на MCP.

Независимо дали разработвате интелигентни асистенти, интегрирате AI в бизнес процеси или изграждате персонализирани инструменти за обработка на данни, MCP предоставя гъвкава основа. Неговият езиково-независим дизайн и официалните SDK за популярни програмни езици го правят достъпен за широк кръг разработчици. Използвайки тези SDK, можете бързо да създавате прототипи, да итератирате и да мащабирате вашите решения на различни платформи и среди.

В следващите раздели ще намерите практически примери, примерен код и стратегии за внедряване, които демонстрират как да приложите MCP в C#, Java със Spring, TypeScript, JavaScript и Python. Ще научите също как да дебъгвате и тествате вашите MCP сървъри, да управлявате API-та и да внедрявате решения в облака с помощта на Azure. Тези практически ресурси са създадени, за да ускорят вашето обучение и да ви помогнат уверено да изграждате стабилни, готови за производство MCP приложения.

Преглед

Този урок се фокусира върху практическите аспекти на прилагането на MCP в различни програмни езици. Ще разгледаме как да използваме MCP SDK в C#, Java със Spring, TypeScript, JavaScript и Python за изграждане на стабилни приложения, дебъгване и тестване на MCP сървъри, както и създаване на многократно използваеми ресурси, подсказки и инструменти.

Цели на обучението

До края на този урок ще можете да:

  • Прилагате MCP решения, използвайки официални SDK за различни програмни езици
  • Систематично дебъгвате и тествате MCP сървъри
  • Създавате и използвате функции на сървъра (Ресурси, Подсказки и Инструменти)
  • Проектирате ефективни MCP работни процеси за сложни задачи
  • Оптимизирате MCP приложения за производителност и надеждност

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

Model Context Protocol предлага официални SDK за няколко езика:

Работа с MCP SDK

Този раздел предоставя практически примери за прилагане на MCP в различни програмни езици. Можете да намерите примерен код в директорията samples, организирана по езици.

Налични примери

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

Всеки пример демонстрира ключови концепции и модели за прилагане на MCP за съответния език и екосистема.

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

MCP сървърите могат да прилагат всяка комбинация от тези функции:

Ресурси

Ресурсите предоставят контекст и данни за потребителя или AI модела:

  • Хранилища на документи
  • Бази от знания
  • Структурирани източници на данни
  • Файлови системи

Подсказки

Подсказките са шаблонни съобщения и работни процеси за потребителите:

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

Инструменти

Инструментите са функции, които AI моделът може да изпълнява:

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

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

Официалният C# SDK репозиторий съдържа няколко примерни реализации, демонстриращи различни аспекти на MCP:

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

C# SDK за MCP е в предварителна версия и API-тата може да се променят. Ще актуализираме този блог, докато SDK се развива.

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

За пълни примери за реализация с C#, посетете официалния репозиторий за примери на C# SDK.

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

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

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

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

За пълен пример за реализация с Java със Spring, вижте Java със Spring пример в директорията с примери.

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

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

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

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

За пълен пример за реализация с JavaScript, вижте JavaScript пример в директорията с примери.

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

Python SDK предлага 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, функцията app (с код) и всички други необходими Azure ресурси:

    azd up

    Тази команда трябва да внедри всички облачни ресурси в Azure.

Тестване на вашия сървър с MCP Inspector

  1. В нов прозорец на терминала, инсталирайте и стартирайте MCP Inspector:

    npx @modelcontextprotocol/inspector

    Трябва да видите интерфейс, подобен на:

    Свързване към Node инспектор

  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 Management
  • Изолация на мрежата: Позволява изолация на мрежата, използвайки Azure Virtual Networks (VNET)
  • Безсървърна архитектура: Използва Azure Functions за мащабируемо, събитийно управление
  • Локална разработка: Изчерпателна поддръжка за локална разработка и дебъгване
  • Оптимизиран процес на внедряване: Улеснен процес на внедряване в Azure

Репозиторият включва всички необходими конфигурационни файлове, изходен код и дефиниции на инфраструктурата, за да започнете бързо с готова за производство реализация на MCP сървър.

Основни изводи

  • MCP SDK предоставят инструменти, специфични за езика, за прилагане на стабилни MCP решения
  • Процесът на дебъгване и тестване е критичен за надеждни MCP приложения
  • Многократно използваемите шаблони за подсказки осигуряват последователни AI взаимодействия
  • Добре проектираните работни процеси могат да оркестрират сложни задачи, използвайки множество инструменти
  • Прилагането на MCP решения изисква внимание към сигурността, производителността и обработката на грешки

Упражнение

Проектирайте практически MCP работен процес, който адресира реален проблем във вашата област:

  1. Идентифицирайте 3-4 инструмента, които биха били полезни за решаването на този проблем
  2. Създайте диаграма на работния процес, показваща как тези инструменти взаимодействат
  3. Реализирайте основна версия на един от инструментите, използвайки предпочитания от вас език
  4. Създайте шаблон за подсказка, който би помогнал на модела ефективно да използва вашия инструмент

Допълнителни ресурси


Следващо: Разширени теми

Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да било недоразумения или погрешни интерпретации, произтичащи от използването на този превод.