Praktyczna implementacja to moment, w którym moc Model Context Protocol (MCP) staje się namacalna. Choć zrozumienie teorii i architektury MCP jest ważne, prawdziwa wartość pojawia się, gdy zastosujesz te koncepcje do budowy, testowania i wdrażania rozwiązań rozwiązujących rzeczywiste problemy. Ten rozdział łączy wiedzę koncepcyjną z praktycznym rozwojem, prowadząc Cię przez proces tworzenia aplikacji opartych na MCP.
Niezależnie od tego, czy tworzysz inteligentnych asystentów, integrujesz AI z procesami biznesowymi, czy budujesz niestandardowe narzędzia do przetwarzania danych, MCP zapewnia elastyczną podstawę. Jego językowo-neutralny design oraz oficjalne SDK dla popularnych języków programowania sprawiają, że jest dostępny dla szerokiego grona deweloperów. Wykorzystując te SDK, możesz szybko prototypować, iterować i skalować swoje rozwiązania na różnych platformach i środowiskach.
W kolejnych sekcjach znajdziesz praktyczne przykłady, przykładowy kod oraz strategie wdrożeniowe pokazujące, jak zaimplementować MCP w C#, Java, TypeScript, JavaScript i Python. Dowiesz się także, jak debugować i testować serwery MCP, zarządzać API oraz wdrażać rozwiązania w chmurze za pomocą Azure. Te praktyczne materiały mają na celu przyspieszyć Twoją naukę i pomóc Ci pewnie budować solidne, gotowe do produkcji aplikacje MCP.
Ta lekcja skupia się na praktycznych aspektach implementacji MCP w różnych językach programowania. Poznamy, jak korzystać z MCP SDK w C#, Java, TypeScript, JavaScript i Python, aby tworzyć solidne aplikacje, debugować i testować serwery MCP oraz tworzyć wielokrotnego użytku zasoby, prompt’y i narzędzia.
Po ukończeniu tej lekcji będziesz potrafił:
- Implementować rozwiązania MCP korzystając z oficjalnych SDK w różnych językach programowania
- Systematycznie debugować i testować serwery MCP
- Tworzyć i używać funkcji serwera (Resources, Prompts i Tools)
- Projektować efektywne workflow MCP dla złożonych zadań
- Optymalizować implementacje MCP pod kątem wydajności i niezawodności
Model Context Protocol oferuje oficjalne SDK dla wielu języków:
Ta sekcja zawiera praktyczne przykłady implementacji MCP w różnych językach programowania. Przykładowy kod znajdziesz w katalogu samples, uporządkowanym według języka.
Repozytorium zawiera przykładowe implementacje w następujących językach:
Każdy przykład demonstruje kluczowe koncepcje MCP oraz wzorce implementacyjne dla danego języka i ekosystemu.
Serwery MCP mogą implementować dowolne połączenie poniższych funkcji:
Resources dostarczają kontekst i dane do wykorzystania przez użytkownika lub model AI:
- Repozytoria dokumentów
- Bazy wiedzy
- Źródła danych strukturalnych
- Systemy plików
Prompts to szablonowe wiadomości i workflow dla użytkowników:
- Wstępnie zdefiniowane szablony konwersacji
- Wzorce prowadzonej interakcji
- Specjalistyczne struktury dialogowe
Tools to funkcje, które model AI może wykonać:
- Narzędzia do przetwarzania danych
- Integracje z zewnętrznymi API
- Możliwości obliczeniowe
- Funkcje wyszukiwania
Oficjalne repozytorium C# SDK zawiera kilka przykładów pokazujących różne aspekty MCP:
- Podstawowy klient MCP: Prosty przykład pokazujący, jak stworzyć klienta MCP i wywołać narzędzia
- Podstawowy serwer MCP: Minimalna implementacja serwera z podstawową rejestracją narzędzi
- Zaawansowany serwer MCP: Pełna implementacja serwera z rejestracją narzędzi, uwierzytelnianiem i obsługą błędów
- Integracja z ASP.NET: Przykłady integracji z ASP.NET Core
- Wzorce implementacji narzędzi: Różne wzorce implementacji narzędzi o różnym stopniu złożoności
SDK MCP dla C# jest w wersji preview i API mogą ulec zmianie. Będziemy na bieżąco aktualizować ten blog wraz z rozwojem SDK.
Pełne przykłady implementacji w C# znajdziesz w oficjalnym repozytorium przykładów C# SDK
Java SDK oferuje solidne opcje implementacji MCP z funkcjami klasy enterprise.
- Integracja ze Spring Framework
- Silne typowanie
- Wsparcie programowania reaktywnego
- Kompleksowa obsługa błędów
Pełny przykład implementacji w Javie znajdziesz w Java sample w katalogu przykładów.
JavaScript SDK zapewnia lekkie i elastyczne podejście do implementacji MCP.
- Wsparcie Node.js i przeglądarek
- API oparte na Promise
- Łatwa integracja z Express i innymi frameworkami
- Wsparcie WebSocket do streamingu
Pełny przykład implementacji w JavaScript znajdziesz w JavaScript sample w katalogu przykładów.
Python SDK oferuje pythoniczne podejście do implementacji MCP z doskonałą integracją z frameworkami ML.
- Wsparcie async/await z asyncio
- Integracja z FastAPI
- Prosta rejestracja narzędzi
- Natychmiastowa integracja z popularnymi bibliotekami ML
Pełny przykład implementacji w Pythonie znajdziesz w Python sample w katalogu przykładów.
Azure API Management to świetne rozwiązanie, które pozwala zabezpieczyć serwery MCP. Pomysł polega na umieszczeniu instancji Azure API Management przed Twoim serwerem MCP, która zajmie się funkcjami, które prawdopodobnie będziesz chciał mieć, takimi jak:
- ograniczanie liczby żądań (rate limiting)
- zarządzanie tokenami
- monitorowanie
- równoważenie obciążenia
- bezpieczeństwo
Oto przykład Azure, który robi dokładnie to, czyli tworzy serwer MCP i zabezpiecza go za pomocą Azure API Management.
Zobacz, jak przebiega proces autoryzacji na poniższym obrazku:
Na powyższym obrazku dzieje się:
- Uwierzytelnianie/autoryzacja odbywa się za pomocą Microsoft Entra.
- Azure API Management działa jako brama i wykorzystuje polityki do kierowania i zarządzania ruchem.
- Azure Monitor rejestruje wszystkie żądania do dalszej analizy.
Przyjrzyjmy się dokładniej przebiegowi autoryzacji:
Dowiedz się więcej o specyfikacji autoryzacji MCP
Sprawdźmy, czy możemy wdrożyć wspomniany wcześniej przykład:
-
Sklonuj repozytorium
git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git cd remote-mcp-apim-functions-python -
Zarejestruj dostawcę zasobów
Microsoft.App.- Jeśli używasz Azure CLI, uruchom
az provider register --namespace Microsoft.App --wait. - Jeśli używasz Azure PowerShell, uruchom
Register-AzResourceProvider -ProviderNamespace Microsoft.App. Następnie po chwili sprawdź(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState, aby potwierdzić zakończenie rejestracji.
- Jeśli używasz Azure CLI, uruchom
-
Uruchom to polecenie azd, aby utworzyć usługę zarządzania API, aplikację funkcji (z kodem) oraz wszystkie inne wymagane zasoby Azure
azd up
To polecenie powinno wdrożyć wszystkie zasoby w chmurze na Azure
-
W nowym oknie terminala zainstaluj i uruchom MCP Inspector
npx @modelcontextprotocol/inspector
Powinieneś zobaczyć interfejs podobny do:
-
Kliknij CTRL i otwórz aplikację webową MCP Inspector z adresu URL wyświetlonego przez aplikację (np. http://127.0.0.1:6274/#resources)
-
Ustaw typ transportu na
SSE -
Ustaw URL na swój działający punkt końcowy API Management SSE wyświetlony po
azd upi kliknij Connect:https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
-
Lista narzędzi. Kliknij na narzędzie i wybierz Run Tool.
Jeśli wszystkie kroki przebiegły pomyślnie, powinieneś być teraz połączony z serwerem MCP i móc wywołać narzędzie.
Remote-mcp-functions: Ten zestaw repozytoriów to szablon szybkiego startu do budowy i wdrażania niestandardowych zdalnych serwerów MCP (Model Context Protocol) przy użyciu Azure Functions w Python, C# .NET lub Node/TypeScript.
Przykłady dostarczają kompletne rozwiązanie, które pozwala deweloperom:
- Budować i uruchamiać lokalnie: rozwijać i debugować serwer MCP na lokalnej maszynie
- Wdrażać na Azure: łatwo wdrażać w chmurze za pomocą prostego polecenia azd up
- Łączyć się z klientami: łączyć się z serwerem MCP z różnych klientów, w tym z trybu agenta Copilot w VS Code oraz narzędzia MCP Inspector
- Bezpieczeństwo od podstaw: serwer MCP jest zabezpieczony za pomocą kluczy i HTTPS
- Opcje uwierzytelniania: obsługa OAuth z wbudowanym auth i/lub API Management
- Izolacja sieciowa: umożliwia izolację sieciową za pomocą Azure Virtual Networks (VNET)
- Architektura serverless: wykorzystuje Azure Functions do skalowalnego, zdarzeniowego wykonywania
- Lokalny rozwój: kompleksowe wsparcie dla lokalnego rozwoju i debugowania
- Proste wdrożenie: uproszczony proces wdrożenia na Azure
Repozytorium zawiera wszystkie niezbędne pliki konfiguracyjne, kod źródłowy i definicje infrastruktury, aby szybko rozpocząć implementację serwera MCP gotowego do produkcji.
-
Azure Remote MCP Functions Python - Przykładowa implementacja MCP z użyciem Azure Functions w Pythonie
-
Azure Remote MCP Functions .NET - Przykładowa implementacja MCP z użyciem Azure Functions w C# .NET
-
Azure Remote MCP Functions Node/Typescript - Przykładowa implementacja MCP z użyciem Azure Functions w Node/TypeScript.
- SDK MCP dostarczają narzędzia specyficzne dla języków do implementacji solidnych rozwiązań MCP
- Proces debugowania i testowania jest kluczowy dla niezawodnych aplikacji MCP
- Wielokrotnego użytku szablony promptów umożliwiają spójne interakcje z AI
- Dobrze zaprojektowane workflow mogą orkiestrują złożone zadania wykorzystując wiele narzędzi
- Implementacja rozwiązań MCP wymaga uwzględnienia bezpieczeństwa, wydajności i obsługi błędów
Zaprojektuj praktyczny workflow MCP, który rozwiązuje rzeczywisty problem w Twojej dziedzinie:
- Zidentyfikuj 3-4 narzędzia, które byłyby przydatne do rozwiązania tego problemu
- Stwórz diagram workflow pokazujący, jak te narzędzia ze sobą współpracują
- Zaimplementuj podstawową wersję jednego z narzędzi w wybranym przez siebie języku
- Stwórz szablon promptu, który pomoże modelowi efektywnie korzystać z Twojego narzędzia
Następny: Zaawansowane tematy
Zastrzeżenie:
Niniejszy dokument został przetłumaczony przy użyciu usługi tłumaczenia AI Co-op Translator. Chociaż dokładamy starań, aby tłumaczenie było jak najbardziej precyzyjne, prosimy mieć na uwadze, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w języku źródłowym powinien być uznawany za źródło autorytatywne. W przypadku informacji o kluczowym znaczeniu zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.


