Практическата реализация е моментът, в който силата на Model Context Protocol (MCP) става осезаема. Докато разбирането на теорията и архитектурата зад MCP е важно, истинската стойност се проявява, когато прилагате тези концепции за изграждане, тестване и внедряване на решения, които решават реални проблеми. Тази глава преодолява пропастта между концептуалните знания и практическата разработка, като ви води през процеса на създаване на приложения, базирани на MCP.
Независимо дали разработвате интелигентни асистенти, интегрирате AI в бизнес процеси или създавате персонализирани инструменти за обработка на данни, MCP осигурява гъвкава основа. Неговият езиково независим дизайн и официални SDK-та за популярни програмни езици го правят достъпен за широк кръг разработчици. Използвайки тези SDK-та, можете бързо да прототипирате, итеративно да развивате и мащабирате решенията си на различни платформи и среди.
В следващите секции ще намерите практически примери, образци на код и стратегии за внедряване, които показват как да приложите MCP на C#, Java, TypeScript, JavaScript и Python. Ще научите също как да отстранявате грешки и тествате MCP сървъри, да управлявате API-та и да внедрявате решения в облака с Azure. Тези практически ресурси са създадени, за да ускорят вашето обучение и да ви помогнат уверено да изграждате стабилни, готови за продукция MCP приложения.
Този урок се фокусира върху практическите аспекти на реализацията на MCP на няколко програмни езика. Ще разгледаме как да използваме MCP SDK-та на C#, Java, TypeScript, JavaScript и Python за изграждане на стабилни приложения, отстраняване на грешки и тестване на MCP сървъри, както и създаване на повторно използваеми ресурси, prompts и инструменти.
След края на този урок ще можете да:
- Реализирате MCP решения с помощта на официални SDK-та на различни програмни езици
- Систематично да отстранявате грешки и тествате MCP сървъри
- Създавате и използвате сървърни функции (Ресурси, Prompts и Инструменти)
- Проектирате ефективни MCP работни потоци за сложни задачи
- Оптимизирате реализациите на MCP за производителност и надеждност
Model Context Protocol предлага официални SDK-та за няколко езика:
Тази секция предоставя практически примери за реализация на MCP на няколко програмни езика. Можете да намерите примерен код в директорията samples, организиран по езици.
Репозиторият включва примерни реализации на следните езици:
Всеки пример демонстрира ключови концепции и модели за реализация на MCP за съответния език и екосистема.
MCP сървърите могат да реализират всякаква комбинация от следните функции:
Ресурсите предоставят контекст и данни, които потребителят или AI моделът използват:
- Хранилища с документи
- Бази знания
- Структурирани източници на данни
- Файлови системи
Prompts са шаблонирани съобщения и работни потоци за потребители:
- Предварително дефинирани шаблони за разговор
- Водени модели на взаимодействие
- Специализирани структури за диалог
Инструментите са функции, които AI моделът изпълнява:
- Помощни средства за обработка на данни
- Връзки с външни API-та
- Изчислителни възможности
- Функции за търсене
Официалният репозиторий на C# SDK съдържа няколко примерни реализации, демонстриращи различни аспекти на MCP:
- Основен MCP клиент: Прост пример за създаване на MCP клиент и извикване на инструменти
- Основен MCP сървър: Минимална сървърна реализация с основна регистрация на инструменти
- Разширен MCP сървър: Пълнофункционален сървър с регистрация на инструменти, удостоверяване и обработка на грешки
- Интеграция с ASP.NET: Примери за интеграция с ASP.NET Core
- Модели за реализиране на инструменти: Различни модели за реализиране на инструменти с различна сложност
MCP C# SDK е в предварителна версия и API-тата могат да се променят. Ще актуализираме този блог непрекъснато с развитието на SDK-то.
-
Създаване на първия ви MCP сървър.
За пълни примерни реализации на C# посетете официалния репозиторий с примери за C# SDK
Java SDK предлага стабилни възможности за MCP реализация с корпоративни функции.
- Интеграция със Spring Framework
- Силна типова безопасност
- Поддръжка на реактивно програмиране
- Обширна обработка на грешки
За пълен пример на Java реализация вижте Java пример в директорията с примери.
JavaScript SDK осигурява лек и гъвкав подход за реализация на MCP.
- Поддръжка за Node.js и браузър
- API базиран на Promise
- Лесна интеграция с Express и други фреймуъркове
- Поддръжка на WebSocket за стрийминг
За пълен пример на JavaScript реализация вижте JavaScript пример в директорията с примери.
Python SDK предлага „питоничен“ подход за реализация на MCP с отлична интеграция с ML фреймуъркове.
- Поддръжка на async/await с asyncio
- Интеграция с Flask и 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 Authorization specification
Нека видим дали можем да внедрим примера, който споменахме по-рано:
-
Клонирайте репозиторито
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
Регистрирайте
Microsoft.Appresource provider.- If you are using Azure CLI, run
az provider register --namespace Microsoft.App --wait. - If you are using Azure PowerShell, run
Register-AzResourceProvider -ProviderNamespace Microsoft.App. Then run(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationStateи след известно време проверете дали регистрацията е завършена.
- If you are using Azure CLI, run
-
Стартирайте тази azd команда, за да осигурите api management услугата, function app (с код) и всички други необходими Azure ресурси
azd up
Тази команда трябва да внедри всички облачни ресурси в Azure
-
В нов терминален прозорец инсталирайте и стартирайте MCP Inspector
npx @modelcontextprotocol/inspector
Ще видите интерфейс подобен на:
-
Натиснете CTRL и кликнете, за да заредите уеб приложението MCP Inspector от URL адреса, показан от приложението (например http://127.0.0.1:6274/#resources)
-
Задайте типа транспорт на
SSE -
Set the URL to your running API Management SSE endpoint displayed after
azd upи Connect:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Списък с инструменти. Кликнете върху инструмент и изберете Run Tool.
Ако всички стъпки са успешни, вече сте свързани със 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 приложения
- Повторно използваемите шаблони за prompts осигуряват последователни AI взаимодействия
- Добре проектираните работни потоци могат да оркестрират сложни задачи с множество инструменти
- Реализирането на MCP решения изисква внимание към сигурността, производителността и обработката на грешки
Проектирайте практичен MCP работен поток, който решава реален проблем във вашата област:
- Идентифицирайте 3-4 инструмента, които биха били полезни за решаването на този проблем
- Създайте диаграма на работния поток, показваща как тези инструменти взаимодействат
- Реализирайте основна версия на един от инструментите, използвайки предпочитания от вас език
- Създайте шаблон за prompt, който да помогне на модела ефективно да използва вашия инструмент
Следва: Разширени теми
Отказ от отговорност:
Този документ е преведен с помощта на AI преводаческа услуга Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за никакви недоразумения или неправилни тълкувания, произтичащи от използването на този превод.


