Практическата реализация е моментът, в който силата на 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 сървъри, както и създаване на повторно използваеми ресурси, подсказки и инструменти.
Към края на този урок ще можете да:
- Реализирате MCP решения, използвайки официалните SDK-та на различни програмни езици
- Систематично да отстранявате грешки и тествате MCP сървъри
- Създавате и използвате функции на сървъра (Resources, Prompts и Tools)
- Проектирате ефективни MCP работни потоци за сложни задачи
- Оптимизирате MCP реализации за производителност и надеждност
Model Context Protocol предлага официални SDK-та за няколко езика:
Тази секция предоставя практически примери за реализиране на MCP на няколко програмни езика. Можете да намерите примерен код в директорията samples, организиран по езици.
Репозиторият включва примерни реализации на следните езици:
Всеки пример демонстрира ключови концепции и модели за реализация на MCP за съответния език и екосистема.
MCP сървърите могат да реализират всяка комбинация от следните функции:
Resources предоставят контекст и данни за потребителя или AI модела:
- Хранилища с документи
- Бази знания
- Структурирани източници на данни
- Файлови системи
Prompts са шаблонирани съобщения и работни потоци за потребителите:
- Предефинирани шаблони за разговори
- Водени модели на взаимодействие
- Специализирани диалогови структури
Tools са функции, които AI моделът може да изпълнява:
- Утилити за обработка на данни
- Интеграции с външни API-та
- Изчислителни възможности
- Функции за търсене
Официалният репозиторий на C# SDK съдържа няколко примерни реализации, демонстриращи различни аспекти на MCP:
- Basic MCP Client: Прост пример, показващ как да се създаде MCP клиент и да се извикват инструменти
- Basic MCP Server: Минимална реализация на сървър с основна регистрация на инструменти
- Advanced MCP Server: Пълнофункционален сървър с регистрация на инструменти, автентикация и обработка на грешки
- ASP.NET Integration: Примери за интеграция с ASP.NET Core
- Tool Implementation Patterns: Различни модели за реализиране на инструменти с различна степен на сложност
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 предлага 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 Authorization specification
Нека видим дали можем да внедрим примера, който споменахме по-рано:
-
Клонирайте репозиторито
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, функцията (с код) и всички други необходими 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и натиснете 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 приложения
- Повторно използваемите шаблони за подсказки осигуряват последователни AI взаимодействия
- Добре проектираните работни потоци могат да оркестрират сложни задачи с помощта на множество инструменти
- Реализацията на MCP решения изисква внимание към сигурността, производителността и обработката на грешки
Проектирайте практичен MCP работен поток, който решава реален проблем във вашата област:
- Идентифицирайте 3-4 инструмента, които биха били полезни за решаването на този проблем
- Създайте диаграма на работния поток, показваща как тези инструменти взаимодействат
- Реализирайте базова версия на един от инструментите, използвайки предпочитания от вас език
- Създайте шаблон за подсказка, който да помогне на модела ефективно да използва вашия инструмент
Следва: Разширени теми
Отказ от отговорност:
Този документ е преведен с помощта на AI преводаческа услуга Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи могат да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да е недоразумения или неправилни тълкувания, произтичащи от използването на този превод.


