Udostępnij przez


Nawiązywanie połączenia z serwerami protokołu kontekstu modelu (wersja zapoznawcza)

Uwaga / Notatka

Ten dokument odnosi się do klasycznej wersji interfejsu API agentów.

🔍 Zapoznaj się z nową dokumentacją narzędzia MCP.

Możliwości agenta usługi Foundry można rozszerzyć, łącząc go z narzędziami hostowanymi na zdalnych serwerach protokołu Model Context Protocol (MCP) (dostarcz własny punkt końcowy serwera MCP). Deweloperzy i organizacje utrzymują te serwery. Serwery udostępniają narzędzia, do których mogą uzyskiwać dostęp klienci zgodni z MCP, tacy jak usługa Foundry Agent.

MCP to otwarty standard, który definiuje sposób, w jaki aplikacje zapewniają narzędzia i dane kontekstowe do dużych modeli językowych (LLMs). Umożliwia spójną, skalowalną integrację narzędzi zewnętrznych z przepływami pracy modelu.

Zagadnienia dotyczące korzystania z usług i serwerów firm innych niż Microsoft

Korzystanie z połączonych usług innych niż Microsoft podlega postanowieniom między Tobą a dostawcą usług. Po nawiązaniu połączenia z usługą inną niż Microsoft niektóre dane (takie jak zawartość monitu) są przekazywane do usługi innej niż Microsoft lub aplikacja może odbierać dane z usługi innej firmy niż Microsoft. Ponosisz odpowiedzialność za korzystanie z usług i danych firm innych niż Microsoft wraz z wszelkimi opłatami skojarzonymi z tym użyciem.

Zdalne serwery MCP, których decydujesz się używać z narzędziem MCP opisanym w tym artykule, zostały utworzone przez inne firmy, a nie microsoft. Firma Microsoft nie przetestowała ani nie zweryfikowała tych serwerów. Firma Microsoft nie ponosi odpowiedzialności wobec Ciebie lub innych w związku z Twoim korzystaniem z jakichkolwiek zdalnych serwerów MCP.

Zalecamy dokładne przejrzenie i śledzenie, jakie serwery MCP dodajesz do Foundry Agent Service. Zalecamy również poleganie na serwerach hostowanych przez zaufanych dostawców usług zamiast serwerów proxy.

Narzędzie MCP umożliwia przekazywanie niestandardowych nagłówków, takich jak klucze uwierzytelniania lub schematy, których może potrzebować zdalny serwer MCP. Zalecamy przejrzenie wszystkich danych udostępnionych zdalnym serwerom MCP i zarejestrowaniu danych w celach inspekcji. Bądź świadomy praktyk innych niż Microsoft dotyczących przechowywania i lokalizacji danych.

Jak to działa

Należy przenieść zdalny serwer MCP (istniejący punkt końcowy serwera MCP) do usługi Foundry Agent Service. Możesz przenieść wiele zdalnych serwerów MCP, dodając je jako narzędzia. Dla każdego narzędzia należy podać unikatową wartość server_label w obrębie tego samego agenta oraz wartość server_url wskazującą na zdalny serwer MCP. Pamiętaj, aby dokładnie sprawdzić, które serwery MCP dodajesz do agenta usługi Foundry.

Narzędzie MCP obsługuje nagłówki niestandardowe, dzięki czemu można nawiązać połączenie z serwerami MCP przy użyciu schematów uwierzytelniania, których wymagają, lub przekazując inne nagłówki wymagane przez serwery MCP. Nagłówki można określić tylko przez uwzględnienie ich w tool_resources przy każdym uruchomieniu. W ten sposób można umieścić klucze interfejsu API, tokeny dostępu OAuth lub inne poświadczenia bezpośrednio w żądaniu.

Najczęściej używanym nagłówkem jest nagłówek autoryzacji. Przekazane nagłówki są dostępne tylko dla obecnego uruchomienia i nie są utrwalane.

Aby uzyskać więcej informacji na temat korzystania z programu MCP, zobacz:

Wsparcie użytkowania

Pomoc techniczna dla usług rozwoju sztucznej inteligencji na platformie Azure Zestaw SDK dla języka Python Zestaw SDK języka C# Zestaw SDK dla języka JavaScript interfejs API REST Konfiguracja agenta podstawowego Konfiguracja agenta standardowego
- ✔️ - - ✔️ ✔️ ✔️

Konfiguracja

  1. Utwórz agenta Foundry, wykonując kroki opisane w przewodniku „Szybki start”.

  2. Znajdź zdalny serwer MCP, z którym chcesz nawiązać połączenie, na przykład z serwerem MCP usługi GitHub. Utwórz lub zaktualizuj agenta Foundry za pomocą narzędzia mcp, korzystając z następujących informacji:

    1. server_url: adres URL serwera MCP; na przykład https://api.githubcopilot.com/mcp/.
    2. server_label: unikatowy identyfikator tego serwera MCP dla agenta; na przykład github.
    3. allowed_tools: opcjonalna lista narzędzi, do których ten agent może uzyskiwać dostęp i używać.
  3. Utwórz przebieg i przekaż dodatkowe informacje o narzędziu mcp za tool_resources pomocą nagłówków:

    1. tool_label: użyj identyfikatora podanego podczas tworzenia agenta.
    2. headers: Przekaż zestaw nagłówków, których wymaga serwer MCP.
    3. require_approval: Opcjonalnie określ, czy wymagane jest zatwierdzenie. Obsługiwane wartości to:
      • always: Deweloper musi zatwierdzić każde wywołanie. Jeśli nie podasz wartości, jest to wartość domyślna.
      • never: Nie jest wymagane zatwierdzenie.
      • {"never":[<tool_name_1>, <tool_name_2>]}: Udostępniasz listę narzędzi, które nie wymagają zatwierdzenia.
      • {"always":[<tool_name_1>, <tool_name_2>]}: Udostępniasz listę narzędzi, które wymagają zatwierdzenia.
  4. Jeśli model próbuje wywołać narzędzie na serwerze MCP z wymaganym zatwierdzeniem, otrzymasz status uruchomienia requires_action. W polu requires_action można uzyskać więcej szczegółów na temat narzędzia wywoływanego na serwerze MCP, argumentów, które należy przekazać, oraz wartości call_id. Przejrzyj narzędzie i argumenty, aby można było podjąć świadomą decyzję o zatwierdzeniu.

  5. Prześlij zatwierdzenie do agenta call_id, ustawiając approve na true.

Hostowanie lokalnego serwera MCP

Środowisko uruchomieniowe usługi agenta akceptuje tylko zdalny punkt końcowy serwera MCP. Jeśli chcesz dodać narzędzia z lokalnego serwera MCP, musisz samodzielnie hostować je w usłudze Azure Container Apps lub Azure Functions , aby uzyskać zdalny punkt końcowy serwera MCP. Podczas próby hostowania lokalnych serwerów MCP w chmurze należy zwrócić uwagę na następujące kwestie:

Konfiguracja lokalnego serwera MCP Hosting w usłudze Azure Container Apps Hosting w usłudze Azure Functions
Transport Wymagane punkty końcowe HTTP POST/GET. Wymagana jest możliwość transmitowania HTTP.
Zmiany kodu Wymagane jest odtworzenie kontenera. Pliki konfiguracji specyficzne dla usługi Azure Functions wymagane w katalogu głównym.
Uwierzytelnianie Wymagana jest implementacja uwierzytelniania niestandardowego. Tylko oparte na kluczach. Protokół OAuth wymaga usługi API Management.
Język Dowolny język uruchamiany w kontenerach systemu Linux (Python, Node.js, .NET, TypeScript, Go). Tylko język Python, Node.js, Java, .NET.
Wymagania dotyczące kontenera Linux (tylko linux/amd64). Brak uprzywilejowanych kontenerów. Serwery konteneryzowane nie są obsługiwane.
Zależności Wszystkie zależności muszą znajdować się w obrazie kontenera. Zależności na poziomie systemu operacyjnego (takie jak Playwright) nie są obsługiwane.
State Tylko bezstanowe. Tylko bezstanowe.
UVX/NPX Supported. Niewspierane. npx polecenia uruchamiania nie są obsługiwane.