(Кликнете върху изображението по-горе, за да гледате видеото към този урок)
Практическото приложение е мястото, където силата на 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 приложения за производителност и надеждност
Model Context Protocol предлага официални SDK за няколко езика:
- C# SDK
- Java със Spring SDK Забележка: изисква зависимост от Project Reactor. (Вижте дискусия по въпрос 246.)
- TypeScript SDK
- Python SDK
- Kotlin SDK
Този раздел предоставя практически примери за прилагане на MCP в различни програмни езици. Можете да намерите примерен код в директорията samples, организирана по езици.
Репозиторият включва примерни реализации на следните езици:
Всеки пример демонстрира ключови концепции и модели за прилагане на MCP за съответния език и екосистема.
MCP сървърите могат да прилагат всяка комбинация от тези функции:
Ресурсите предоставят контекст и данни за потребителя или AI модела:
- Хранилища на документи
- Бази от знания
- Структурирани източници на данни
- Файлови системи
Подсказките са шаблонни съобщения и работни процеси за потребителите:
- Предварително дефинирани шаблони за разговори
- Насочени модели за взаимодействие
- Специализирани структури за диалог
Инструментите са функции, които AI моделът може да изпълнява:
- Утилити за обработка на данни
- Интеграции с външни API
- Изчислителни възможности
- Функционалност за търсене
Официалният C# SDK репозиторий съдържа няколко примерни реализации, демонстриращи различни аспекти на MCP:
- Основен MCP клиент: Прост пример, показващ как да създадете MCP клиент и да извикате инструменти
- Основен MCP сървър: Минимална реализация на сървър с основна регистрация на инструменти
- Разширен MCP сървър: Пълнофункционален сървър с регистрация на инструменти, автентикация и обработка на грешки
- Интеграция с ASP.NET: Примери за интеграция с ASP.NET Core
- Модели за реализация на инструменти: Различни модели за прилагане на инструменти с различни нива на сложност
C# SDK за MCP е в предварителна версия и API-тата може да се променят. Ще актуализираме този блог, докато SDK се развива.
- C# MCP Nuget ModelContextProtocol
- Изграждане на вашия първи MCP сървър.
За пълни примери за реализация с C#, посетете официалния репозиторий за примери на C# SDK.
Java със Spring SDK предлага стабилни опции за реализация на MCP с функции от корпоративен клас.
- Интеграция със Spring Framework
- Силна типова безопасност
- Поддръжка на реактивно програмиране
- Изчерпателна обработка на грешки
За пълен пример за реализация с Java със Spring, вижте Java със Spring пример в директорията с примери.
JavaScript SDK предоставя лек и гъвкав подход към реализацията на MCP.
- Поддръжка за Node.js и браузъри
- API, базиран на Promise
- Лесна интеграция с Express и други рамки
- Поддръжка на WebSocket за стрийминг
За пълен пример за реализация с JavaScript, вижте JavaScript пример в директорията с примери.
Python SDK предлага 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, функцията app (с код) и всички други необходими 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 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 приложения
- Многократно използваемите шаблони за подсказки осигуряват последователни AI взаимодействия
- Добре проектираните работни процеси могат да оркестрират сложни задачи, използвайки множество инструменти
- Прилагането на MCP решения изисква внимание към сигурността, производителността и обработката на грешки
Проектирайте практически MCP работен процес, който адресира реален проблем във вашата област:
- Идентифицирайте 3-4 инструмента, които биха били полезни за решаването на този проблем
- Създайте диаграма на работния процес, показваща как тези инструменти взаимодействат
- Реализирайте основна версия на един от инструментите, използвайки предпочитания от вас език
- Създайте шаблон за подсказка, който би помогнал на модела ефективно да използва вашия инструмент
Следващо: Разширени теми
Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да било недоразумения или погрешни интерпретации, произтичащи от използването на този превод.



