Files
2026-07-13 13:31:35 +08:00

21 KiB
Raw Permalink Blame History

Практична имплементација

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

(Кликните на слику изнад да бисте погледали видео о овој лекцији)

Практична имплементација је место где моћ Протокола контекста модела (MCP) постаје опипљива. Иако је разумевање теорије и архитектуре иза MCP важно, права вредност се појављује када примените ове концепте да бисте изградили, тестирали и распоредили решења која решавају реалне проблеме. Ово поглавље прелази празнину између концептуалног знања и практичног развоја, водећи вас кроз процес оживљавања апликација заснованих на MCP.

Без обзира да ли развијате интелигентне асистенте, интегришете АИ у пословне радне токове или градите прилагођене алате за обраду података, MCP пружа флексибилну основу. Његова језички независна дизајн и званични SDK-ови за популарне програмске језике чине га доступним широком распону програмера. Коришћењем ових SDK-ова, можете брзо прототипизирати, итеративно унапређивати и скалирати ваша решења на различитим платформама и окружењима.

У следећим одељцима, пронаћи ћете практичне примере, примерни код и стратегије распоређивања које показују како имплементирати MCP у C#, Java са Spring, TypeScript, JavaScript и Python. Такође ћете научити како да откључавате и тестирате ваше MCP сервере, управљате API-јима и распоређујете решења у облаку коришћењем Azure-а. Ови практични ресурси су дизајнирани да убрзају ваше учење и помогну вам да самопоуздано изградите робусне MCP апликације спремне за производњу.

Преглед

Ова лекција се фокусира на практичне аспекте имплементације MCP-а у више програмских језика. Истражићемо како користити MCP SDK-ове у C#, Java са Spring, TypeScript, JavaScript и Python за израду робусних апликација, отклањање и тестирање MCP сервера, и креирање поновно употребљивих ресурса, подстицаја (prompts) и алата.

Циљеви учења

До краја ове лекције, бићете способни да:

  • Имплементирате MCP решења користећи званичне SDK-ове у различитим програмским језицима
  • Систематски отклањате и тестирате MCP сервере
  • Креирате и користите серверске функције (Ресурсе, Подстицаје и Алате)
  • Дизајнирате ефикасне MCP радне токове за сложене задатке
  • Оптимизујете MCP имплементације за перформансе и поузданост

Званични SDK ресурси

Протокол контекста модела нуди званичне SDK-ове за више језика (у складу са MCP спецификацијом 2025-11-25):

Рад са MCP SDK-овима

Овај одељак пружа практичне примере имплементације MCP-а у више програмских језика. Примерни код се налази у директоријуму samples организован по језицима.

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

Репозиторијум укључује примерке имплементација на следећим језицима:

Сваки пример демонстрира кључне MCP концепте и обрасце имплементације за тај конкретни језик и екосистем.

Практични водичи

Додатни водичи за практичну имплементацију MCP-а:

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

MCP сервери могу имплементирати било коју комбинацију ових функција:

Ресурси

Ресурси пружају контекст и податке које корисник или АИ модел може користити:

  • Репозиторијуми докумената
  • Базе знања
  • Структурирани извори података
  • Фајл системи

Подстицаји (Prompts)

Подстицаји су шаблонизоване поруке и радни токови за кориснике:

  • Унапред дефинисани шаблони разговора
  • Вођени обрасци интеракције
  • Структуре специјализованог дијалога

Алати

Алати су функције које АИ модел извршава:

  • Утилити за обраду података
  • Интеграције са спољним API-јима
  • Рачунске могућности
  • Претраживачка функционалност

Пример имплементација: Имплементација у C#

Званични C# SDK репозиторијум садржи неколико примерних имплементација које показују различите аспекте MCP-а:

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

MCP C# SDK је у прегледу и API-ји могу да се мењају. Наставићемо да ажурирамо овај блог како SDK буде еволуирао.

Кључне функције

За комплетне примерке имплементације у C#, посетите званични репозиторијум примерa C# SDK-a

Пример имплементације: 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 нуди питоничан приступ 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 евидентира све захтеве за даљу анализу.

Ток ауторизације

Погледајмо ток ауторизације детаљније:

Sequence Diagram

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
    

    Ова команда би требало да распореди све облачне ресурсe на 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 сервером са различитих клијената укључујући VS Code мод за Copilot агента и алат MCP Inspector

Кључне функције

  • Безбедност по дизајну: MCP сервер је обезбеђен коришћењем кључева и HTTPS-а
  • Опције аутентификације: Подршка за OAuth коришћењем уграђене аутентификације и/или API управљања
  • Изолација мреже: Омогућава изолацију мреже коришћењем Azure Virtual Networks (VNET)
  • Беспослужна архитектура: Користи Azure Functions за скалабилно и на догађајима засновано извршавање
  • Локални развој: Свеобухватна подршка за локални развој и отклањање грешака
  • Једноставно распоређивање: Поједностављен процес распоређивања на Azure

Репозиторијум садржи све потребне конфигурационе фајлове, изворни код и инфраструктурне дефиниције да бисте брзо кренули са имплементацијом MCP сервера спремног за производњу.

Кључне поуке

  • MCP SDK-ови обезбеђују језички специфичне алате за имплементацију робусних MCP решења
  • Процес отклањања и тестирања је критичан за поуздане MCP апликације
  • Поново употребљиви шаблони подстицаја олакшавају доследне АИ интеракције
  • Добро дизајнирани радни токови могу оркестрирати сложене задатке коришћењем више алата
  • Имплементација MCP решења захтева посматрање безбедности, перформанси и руковања грешкама

Вежба

Осмислите практичан MCP радни ток који решава реални проблем у вашем домену:

  1. Идентификујте 3-4 алата који би били корисни за решавање овог проблема
  2. Креирајте дијаграм радног тока који приказује како ти алати међусобно делују
  3. Имплементирајте основну верзију једног од алата користећи жељени језик
  4. Креирајте шаблон подстицаја који би помогао моделу да ефикасно користи ваш алат

Додатни ресурси


Шта следи

Сада: Напредне теме


Искључење одговорности: Овaj документ је преведен коришћењем AI преводилачке услуге Co-op Translator. Иако се трудимо да превод буде тачан, молимо имајте у виду да аутоматизовани преводи могу садржати грешке или нетачности. Изворни документ на његовом оригиналном језику треба сматрати ауторитетним извором. За критичне информације препоручује се професионални превод од стране људског преводиоца. Не сносИмо одговорност за било каква неспоразума или погрешне тумачења настала коришћењем овог превода.