Azure API Management to usługa, która zapewnia bramę na szczycie punktów końcowych Twojego API. Działa ona jak proxy przed Twoimi API i może decydować, co zrobić z nadchodzącymi żądaniami.
Korzystając z niej, dodajesz szereg funkcji, takich jak:
- Bezpieczeństwo, możesz używać wszystkiego, od kluczy API, JWT po zarządzaną tożsamość.
- Ograniczanie liczby wywołań (rate limiting), świetna funkcja pozwalająca zdecydować, ile wywołań może przejść w określonej jednostce czasu. Pomaga to zapewnić wszystkim użytkownikom doskonałe doświadczenia oraz chronić usługę przed przeciążeniem żądaniami.
- Skalowanie i równoważenie obciążenia. Możesz skonfigurować wiele punktów końcowych, aby zrównoważyć obciążenie oraz zdecydować, jak przeprowadzać równoważenie obciążenia.
- Funkcje AI takie jak semantyczne buforowanie, limit tokenów i monitorowanie tokenów oraz więcej. Te funkcje poprawiają szybkość reakcji oraz pomagają kontrolować wydatki na tokeny. Przeczytaj więcej tutaj.
Model Context Protocol szybko staje się standardem dla aplikacji AI z agentami oraz sposobem na spójne udostępnianie narzędzi i danych. Azure API Management to naturalny wybór, gdy potrzebujesz „zarządzać” API. Serwery MCP często integrują się z innymi API, by rozwiązywać żądania np. do narzędzi. Dlatego połączenie Azure API Management i MCP ma dużo sensu.
W tym konkretnym przypadku użycia nauczymy się udostępniać punkty końcowe API jako serwer MCP. Dzięki temu możemy łatwo uczynić te punkty końcowe częścią aplikacji agentowej, jednocześnie korzystając z funkcji Azure API Management.
- Wybierasz metody punktów końcowych, które chcesz udostępnić jako narzędzia.
- Dodatkowe funkcje zależą od tego, co skonfigurujesz w sekcji polityk dla swojego API. Pokażemy tu, jak dodać ograniczanie liczby wywołań.
Jeśli masz już API w Azure API Management, świetnie, możesz pominąć ten krok. Jeśli nie, sprawdź ten link, importowanie API do Azure API Management.
Aby udostępnić punkty końcowe API, wykonaj następujące kroki:
-
Przejdź do Azure Portal pod adresem https://portal.azure.com/?Microsoft_Azure_ApiManagement=mcp Przejdź do swojej instancji Azure API Management.
-
W lewym menu wybierz APIs > MCP Servers > + Create new MCP Server.
-
W API wybierz REST API, które chcesz udostępnić jako serwer MCP.
-
Wybierz jedną lub więcej operacji API do udostępnienia jako narzędzia. Możesz wybrać wszystkie operacje lub tylko wybrane.
-
Wybierz Create.
-
Przejdź do opcji menu APIs i MCP Servers, powinieneś zobaczyć następujące:
Serwer MCP został utworzony, a operacje API zostały udostępnione jako narzędzia. Serwer MCP jest wymieniony w panelu MCP Servers. Kolumna URL pokazuje punkt końcowy serwera MCP, który możesz wywołać do testów lub w aplikacji klienckiej.
Azure API Management posiada podstawową koncepcję polityk, gdzie ustawiasz różne reguły dla swoich punktów końcowych, na przykład ograniczanie liczby wywołań albo semantyczne buforowanie. Polityki są definiowane w XML.
Oto jak skonfigurować politykę ograniczającą liczbę wywołań dla Twojego serwera MCP:
-
W portalu, pod APIs, wybierz MCP Servers.
-
Wybierz utworzony serwer MCP.
-
W lewym menu, w sekcji MCP, wybierz Policies.
-
W edytorze polityk dodaj lub edytuj polityki, które chcesz zastosować do narzędzi serwera MCP. Polityki są zdefiniowane w formacie XML. Na przykład możesz dodać politykę, która ogranicza wywołania narzędzi serwera MCP (w tym przykładzie 5 wywołań na 30 sekund na adres IP klienta). Oto XML, który ograniczy liczbę wywołań:
<rate-limit-by-key calls="5" renewal-period="30" counter-key="@(context.Request.IpAddress)" remaining-calls-variable-name="remainingCallsPerIP" />
Oto obraz edytora polityk:
Upewnijmy się, że nasz serwer MCP działa zgodnie z zamierzeniami.
Do tego użyjemy Visual Studio Code oraz GitHub Copilot w trybie agenta. Dodamy serwer MCP do pliku mcp.json. Dzięki temu Visual Studio Code będzie działać jako klient z możliwościami agentowymi, a użytkownicy końcowi będą mogli wpisywać polecenia i komunikować się z serwerem.
Zobaczmy, jak dodać serwer MCP w Visual Studio Code:
-
Użyj polecenia MCP: Add Server command from the Command Palette.
-
Po wyświetleniu monitu wybierz typ serwera: HTTP (HTTP lub Server Sent Events).
-
Wprowadź URL serwera MCP w Azure API Management. Przykład: https://.azure-api.net/-mcp/sse (dla punktu SSE) lub https://.azure-api.net/-mcp/mcp (dla punktu MCP), zwróć uwagę na różnicę w protokole
/sselub/mcp. -
Wprowadź wybrany przez siebie identyfikator serwera. Nie jest to istotna wartość, ale pomoże Ci zapamiętać, co to jest za instancja serwera.
-
Wybierz, czy zapisać konfigurację w ustawieniach workspace'u czy użytkownika.
-
Workspace settings - konfiguracja serwera jest zapisywana w pliku .vscode/mcp.json dostępnym tylko w obecnym workspace.
mcp.json
"servers": { "APIM petstore" : { "type": "sse", "url": "url-to-mcp-server/sse" } }
lub jeśli wybierzesz streaming HTTP jako protokół, będzie wyglądać to nieco inaczej:
"servers": { "APIM petstore" : { "type": "http", "url": "url-to-mcp-server/mcp" } }
-
User settings - konfiguracja serwera jest dodawana do globalnego pliku settings.json i jest dostępna we wszystkich workspace’ach. Konfiguracja wygląda tak:
-
Musisz także dodać konfigurację nagłówka, aby zapewnić właściwą autoryzację w Azure API Management. Używa on nagłówka o nazwie Ocp-Apim-Subscription-Key.
- Oto jak możesz dodać go w ustawieniach:
, co spowoduje wyświetlenie monitu o wartość klucza API, który znajdziesz w Azure Portal dla Twojej instancji Azure API Management.
- Aby dodać go do mcp.json, zrób to w ten sposób:
"inputs": [ { "type": "promptString", "id": "apim_key", "description": "API Key for Azure API Management", "password": true } ] "servers": { "APIM petstore" : { "type": "http", "url": "url-to-mcp-server/mcp", "headers": { "Ocp-Apim-Subscription-Key": "Bearer ${input:apim_key}" } } }
Teraz wszystko jest gotowe, zarówno w ustawieniach, jak i w .vscode/mcp.json. Wypróbujmy to.
Powinieneś zobaczyć ikonę Narzędzia, gdzie widoczne są udostępnione narzędzia z Twojego serwera:
-
Kliknij ikonę narzędzi, a zobaczysz listę narzędzi:
-
Wpisz polecenie w czacie, aby wywołać narzędzie. Na przykład, jeśli wybrałeś narzędzie do uzyskiwania informacji o zamówieniu, możesz zapytać agenta o zamówienie. Oto przykładowe polecenie:
get information from order 2Pojawi się ikona narzędzi z pytaniem o kontynuację wywołania narzędzia. Wybierz, aby kontynuować. Powinieneś zobaczyć wynik jak poniżej:
to, co widzisz powyżej, zależy od wybranych narzędzi, ale chodzi o to, by otrzymać tekstową odpowiedź, jak powyżej
Oto jak możesz dowiedzieć się więcej:
-
Przykład w Python: Bezpieczne zdalne serwery MCP z użyciem Azure API Management (eksperymentalne)
-
Użyj rozszerzenia Azure API Management dla VS Code do importu i zarządzania API
-
AI Gateway Świetne repozytorium pokazujące wiele możliwości AI z Azure API Management
-
Warsztaty AI Gateway Zawiera warsztaty z użyciem Azure Portal, co jest świetnym sposobem na rozpoczęcie oceny możliwości AI.
- Powrót do: Przegląd studiów przypadku
- Dalej: Azure AI Travel Agents
Zastrzeżenie:
Niniejszy dokument został przetłumaczony za pomocą usługi tłumaczeń AI Co-op Translator. Dokładamy wszelkich starań, aby tłumaczenie było jak najdokładniejsze, jednak prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub niedokładności. Oryginalny dokument w jego rodzimej wersji językowej powinien być traktowany jako źródło nadrzędne. W przypadku informacji krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia wykonywanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z korzystania z tego tłumaczenia.







