Verbinding maken met Model Context Protocol-servers (preview) (klassiek)

Opmerking

Dit document verwijst naar de Microsoft Foundry-agents (klassiek).

🔍 Bekijk de documentatie voor het nieuwe MCP-hulpprogramma. Agents (klassiek) zijn nu afgeschaft en worden buiten gebruik gesteld op 31 maart 2027. Gebruik de nieuwe agents in de algemeen beschikbare Microsoft Foundry Agents Service. Volg de migratiehandleiding om uw workloads bij te werken.

U kunt de mogelijkheden van uw Foundry-agent uitbreiden door deze te verbinden met tools die worden gehost op Model Context Protocol (MCP)-servers (gebruik uw eigen MCP-server-eindpunt). Ontwikkelaars en organisaties onderhouden deze servers. De servers maken hulpprogramma's beschikbaar waartoe MCP-compatibele clients, zoals Foundry Agent Service, toegang hebben.

MCP is een open standaard die definieert hoe toepassingen hulpprogramma's en contextuele gegevens bieden aan grote taalmodellen (LLM's). Het maakt consistente, schaalbare integratie van externe hulpprogramma's mogelijk in modelwerkstromen.

Overwegingen voor het gebruik van niet-Microsoft-services en servers

Uw gebruik van verbonden niet-Microsoft-services is onderhevig aan de voorwaarden tussen u en de serviceprovider. Wanneer u verbinding maakt met een niet-Microsoft-service, worden sommige gegevens (zoals promptinhoud) doorgegeven aan de service die niet Microsoft of ontvangt uw toepassing mogelijk gegevens van de service die niet Microsoft. U bent verantwoordelijk voor uw gebruik van niet-Microsoft-services en gegevens, samen met eventuele kosten voor dat gebruik.

De externe MCP-servers die u besluit te gebruiken met het MCP-hulpprogramma dat in dit artikel wordt beschreven, zijn gemaakt door derden, niet Microsoft. Microsoft deze servers niet heeft getest of geverifieerd. Microsoft heeft geen verantwoordelijkheid voor u of anderen met betrekking tot uw gebruik van externe MCP-servers.

We raden u aan zorgvuldig te controleren en bij te houden welke MCP-servers u toevoegt aan Foundry Agent Service. We raden u ook aan om te vertrouwen op servers die worden gehost door vertrouwde serviceproviders zelf in plaats van proxy's.

Met de MCP-tool kunt u aangepaste headers, zoals verificatiesleutels of schema's, doorgeven die een externe MCP-server nodig kan hebben. We raden u aan alle gegevens te bekijken die worden gedeeld met externe MCP-servers en dat u de gegevens voor controledoeleinden aanmeldt. Wees cognizant van niet-Microsoft praktijken voor het bewaren en locatie van gegevens.

Hoe het werkt

U moet een externe MCP-server (een bestaand MCP-servereindpunt) naar de Foundry Agent-service brengen. U kunt meerdere externe MCP-servers meenemen door ze toe te voegen als hulpprogramma's. Voor elk hulpprogramma moet u een unieke server_label waarde opgeven binnen dezelfde agent en een server_url waarde die verwijst naar de externe MCP-server. Zorg ervoor dat u zorgvuldig controleert welke MCP-servers u toevoegt aan Foundry Agent Service.

Het MCP-hulpprogramma ondersteunt aangepaste headers, zodat u verbinding kunt maken met de MCP-servers met behulp van de verificatieschema's die ze nodig hebben of door andere headers door te geven die de MCP-servers nodig hebben. U kunt headers alleen opgeven door ze bij elke uitvoering in tool_resources op te nemen. Op deze manier kunt u API-sleutels, OAuth-toegangstokens of andere referenties rechtstreeks in uw aanvraag plaatsen.

De meest gebruikte header is de autorisatieheader. Headers die u doorgeeft, zijn alleen beschikbaar voor de huidige run en worden niet bewaard.

Zie voor meer informatie over het gebruik van MCP:

Gebruiksondersteuning

ondersteuning voor ai-foundry Azure Python SDK C#SDK JavaScript SDK REST API Basisagent instellen Standaardagent configureren
- ✔️ - - ✔️ ✔️ ✔️

Installatie

  1. Maak een Foundry-agent door de stappen in de quickstart te volgen.

  2. Zoek de externe MCP-server waarmee u verbinding wilt maken, zoals de GitHub MCP-server. Maak of werk een Foundry agent bij met een mcp tool met de volgende informatie:

    1. server_url: de URL van de MCP-server; bijvoorbeeld https://api.githubcopilot.com/mcp/.
    2. server_label: Een unieke id van deze MCP-server aan de agent; bijvoorbeeld github.
    3. allowed_tools: Een optionele lijst met hulpprogramma's die deze agent kan openen en gebruiken.
  3. Maak een uitvoering en geef aanvullende informatie over het mcp hulpprogramma door tool_resources met headers:

    1. tool_label: Gebruik de identificatie die u hebt opgegeven bij het maken van de agent.
    2. headers: Geef een set headers door die de MCP-server nodig heeft.
    3. require_approval: Optioneel bepalen of goedkeuring vereist is. Ondersteunde waarden zijn:
      • always: Een ontwikkelaar moet goedkeuring bieden voor elke aanroep. Als u geen waarde opgeeft, is dit de standaardwaarde.
      • never: Er is geen goedkeuring vereist.
      • {"never":[<tool_name_1>, <tool_name_2>]}: U geeft een lijst op met hulpprogramma's waarvoor geen goedkeuring is vereist.
      • {"always":[<tool_name_1>, <tool_name_2>]}: U geeft een lijst op met hulpprogramma's waarvoor goedkeuring is vereist.
  4. Als het model probeert een hulpprogramma op uw MCP-server aan te roepen met goedkeuring vereist, krijgt u de uitvoeringsstatus requires_action. In het requires_action veld krijgt u meer informatie over welk hulpprogramma op de MCP-server wordt aangeroepen, argumenten die moeten worden doorgegeven en call_id de waarde. Controleer het hulpprogramma en de argumenten, zodat u een weloverwogen beslissing voor goedkeuring kunt nemen.

  5. Dien uw goedkeuring in bij de agent door call_id in te stellen approve op true.

Een lokale MCP-server hosten

De Agent Service Runtime accepteert alleen een extern MCP-servereindpunt. Als u hulpprogramma's van een lokale MCP-server wilt toevoegen, moet u deze zelf hosten op Azure Container Apps of Azure Functions om een extern MCP-servereindpunt op te halen. Let op de volgende overwegingen bij het hosten van lokale MCP-servers in de cloud:

Lokale MCP-server instellen Hosten in Azure Container Apps Hosting binnen Azure Functions
Vervoer HTTP POST/GET-eindpunten vereist. HTTP kan worden gestreamd.
Codewijzigingen Herbouw van container is vereist. Azure Functions-specifieke configuratiebestanden zijn vereist in de hoofdmap.
Verificatie Een aangepaste authenticatie-implementatie vereist. Enkel op basis van een sleutel. OAuth heeft API Management nodig.
Language Elke taal die wordt uitgevoerd in Linux-containers (Python, Node.js, .NET, TypeScript, Go). Python, Node.js, Java, alleen .NET.
Containervereisten Alleen Linux (linux/amd64). Geen bevoegde containers. Containerservers worden niet ondersteund.
Afhankelijkheden Alle afhankelijkheden moeten zich in de container image bevinden. Afhankelijkheden op besturingssysteemniveau (zoals Playwright) worden niet ondersteund.
Staat Alleen staatloos. Alleen staatloos.
UVX/NPX Ondersteund. Niet ondersteund. npx startopdrachten worden niet ondersteund.

Bekende beperkingen

  • Time-out voor niet-streaming MCP-hulpprogramma's: niet-streaming MCP-hulpprogramma-aanroepen hebben een time-out van 50 seconden. Als het langer dan 50 seconden duurt voordat uw MCP-server reageert, mislukt de oproep. Om time-outs te voorkomen, moet u ervoor zorgen dat uw MCP-server binnen deze limiet reageert. Als voor uw use-case langere verwerkingstijden zijn vereist, kunt u overwegen de logica aan de serverzijde te optimaliseren of de bewerking in kleinere stappen te verbreken.