De opkomst van grote taalmodellen (LLM’s) heeft onmiskenbaar het landschap van kunstmatige intelligentie radicaal veranderd. Een hardnekkige uitdaging blijft echter bestaan: het effectief integreren van deze modellen met bedrijfseigen gegevens. Hoewel LLM’s bedreven zijn in het verwerken van enorme hoeveelheden informatie van het internet, ligt hun ware potentieel in het dienen als natuurlijke taalinterfaces voor onze applicaties en gegevens, waardoor we hun voorspellende en generatieve mogelijkheden binnen een gecontroleerde omgeving kunnen benutten.
Om de betrouwbaarheid en relevantie van LLM-outputs te waarborgen, zijn verschillende strategieën ontstaan, elk ontworpen om de kloof tussen deze modellen en specifieke datasets te overbruggen. Deze strategieën variëren van het creëren van aangepaste embeddings en het toepassen van retrieval-augmented generation (RAG)-technieken - waarbij grafiekdatabases worden gebruikt om complexe relaties binnen gegevens te ontdekken - tot het gebruik van LLM’s om gegevens te distilleren en te presenteren die zijn verkregen via OpenAPI-aanroepen die door gebruikersprompts worden geactiveerd. Bovendien biedt het plug-in model dat populair is gemaakt door ChatGPT van OpenAI een andere manier voor gegevensintegratie. Van deze diverse benaderingen valt het Model Context Protocol (MCP) op als een veelbelovende oplossing voor het standaardiseren van de verbinding tussen LLM’s en externe gegevensbronnen.
Onthulling van het Model Context Protocol
Het Model Context Protocol, dat eind 2024 door Anthropic werd onthuld, vertegenwoordigt een belangrijke stap in de richting van het stroomlijnen van de interactie tussen LLM’s en gebruikersspecifieke gegevens. Dit protocol onderstreept de cruciale rol van context in AI-toepassingen, in de wetenschap dat het vermogen van AI om coherente en zinvolle outputs te leveren afhangt van de beschikbaarheid van relevante contextuele informatie. Uitsluitend vertrouwen op chatprompts om verstandige antwoorden te krijgen, is op zijn best een oefening in optimisme en, in het slechtste geval, een recept voor onnauwkeurige of misleidende resultaten. Om robuuste, semi-autonome agents te bouwen die workflows rond onze gegevens kunnen orkestreren, is een betrouwbaar mechanisme essentieel om die gegevens aan deze agents te leveren.
Als open-source initiatief biedt MCP SDK-implementaties voor een breed scala aan programmeertalen, vergezeld van uitgebreide documentatie binnen zijn GitHub-repository. Deze documentatie stelt ontwikkelaars in staat om MCP-servers effectief te implementeren of te gebruiken. De projectbeschrijving van MCP als een ‘USB-C-poort voor AI-toepassingen’ vat de essentie treffend samen en benadrukt het vermogen om verbindingen met diverse gegevensbronnen te standaardiseren. Gebouwd op een gestandaardiseerde basis, integreert MCP gemakkelijk met bestaande projecten en interfaceert naadloos met verschillende LLM’s en inference providers.
De architectuur van MCP volgt een gevestigd client/server-model, waarbij een broker de verantwoordelijkheid op zich neemt om MCP-verzoeken te vertalen naar lokale of externe verzoeken. Dit ontwerp weerspiegelt de functionaliteit van interface definition languages zoals CORBA, waardoor MCP wordt getransformeerd in een veelzijdige interoperabiliteitslaag die naadloos schakelen tussen informatiebronnen en LLM-toepassingen mogelijk maakt. Met behulp van een JSON RPC-verbinding maakt MCP fijnmazige controle op individueel gebruikersniveau mogelijk via tools zoals Azure API Management.
MCP bevordert de ontwikkeling van generieke interfaces voor AI-gestuurde code, wat blijkt uit de toenemende adoptie op de AI-ontwikkelingsplatforms van Microsoft. Van de integratie binnen de Semantic Kernel model orchestration tool tot de implementatie als MCP-servers die compatibel zijn met Azure OpenAI en Azure AI Foundry, MCP wint snel aan populariteit. Microsoft verbetert ook Azure API Management met functies om datatoegang te beheren op basis van gebruikersreferenties, waardoor de rol van MCP in veilige en beheerde AI-implementaties verder wordt verstevigd.
Azure MCP Server: Een vroege implementatie
De open-source Azure MCP Server, die onlangs in openbare preview is vrijgegeven, is een voorbeeld van een vroege implementatie van MCP op het platform van Microsoft. Deze server dient als een gemeenschappelijke broker voor AI-toegang tot belangrijke Azure-services, in overeenstemming met de open-source principes die door veel recente Azure-projecten worden omarmd. De code is direct toegankelijk op GitHub. De Azure MCP Server biedt toegang tot een aanzienlijk deel van het Azure-platform, waaronder databases, opslagoplossingen en services zoals de Azure CLI.
De opname van ondersteuning voor de Azure CLI (en de Developer CLI) is bijzonder opmerkelijk, omdat het MCP-gestuurde agents in staat stelt om rechtstreeks met Azure te communiceren en MCP-aanroepen als operators te behandelen. Dit maakt de weg vrij voor het bouwen van agents die een natuurlijke taal self-service interface naar Azure bieden. Een agent zou bijvoorbeeld een beschrijving van een infrastructuur kunnen nemen en automatisch de ARM-templates genereren die nodig zijn voor de implementatie ervan. Door dit concept verder uit te breiden, zou men zich een multimodale agent kunnen voorstellen die een whiteboard-schets analyseert, een beschrijving van de benodigde resources afleidt en vervolgens de infrastructuur implementeert, waardoor onmiddellijke code ontwikkeling mogelijk wordt. Aanvullende systeembeheerservices die toegankelijk zijn via de Azure MCP Server omvatten het weergeven van de huidige resourcegroepen en het gebruiken van KQL om Azure Monitoring-logboeken te bevragen.
Azure MCP Server integreren met GitHub Copilot Chat
Omdat het de MCP-standaard volgt, kan de Azure MCP Server naadloos worden geïntegreerd met elke AI-tool die MCP ondersteunt, zoals de GitHub Copilot Agent Mode. Door simpelweg de server aan uw tenant toe te voegen, kunt u vragen stellen via Copilot, rechtstreeks of via de Visual Studio Code-integratie. Deze laatste optie biedt een effectieve manier om te leren hoe u MCP kunt gebruiken en prompts kunt maken voor uw eigen MCP-gebaseerde AI-toepassingen.
Momenteel heeft Microsoft nog geen speciale MCP-tool voor zijn programmeertalen uitgebracht, waardoor het gebruik van officiële SDK’s noodzakelijk is om aangepaste code te ontwikkelen. Met ondersteuning voor TypeScript, C# en Python hebben ontwikkelaars toegang tot de nodige tools om hun eigen Azure MCP-agents te maken. Experimenten kunnen worden uitgevoerd binnen Visual Studio Code, met behulp van bestaande Azure-referenties.
De server werkt op uw ontwikkel-PC en vereist Node.js. De installatie wordt rechtstreeks uitgevoerd vanuit de GitHub-repository van het project in VS Code. Eenmaal geïnstalleerd, moet u ervoor zorgen dat zowel de GitHub Copilot- als de GitHub Copilot Chat-extensie zijn geconfigureerd om de experimentele agent mode te gebruiken (toegankelijk via de instellingentool van VS Code). Open vervolgens het GitHub Copilot-chatvenster en schakel over naar de agent mode. Controleer of de Azure MCP Server is geïnstalleerd in de vervolgkeuzelijst met tools. U kunt nu vragen indienen, zoals ‘List my Azure subscriptions’.
De resulterende tool is van onschatbare waarde voor iedereen die met Azure werkt en gaat verder dan Copilot-integratie. De Azure MCP Server kan worden geïnstalleerd waar Node.js wordt ondersteund, waardoor de integratie in aangepaste agents mogelijk wordt.
De rol van MCP in Azure AI Foundry
Microsoft breidt zijn portfolio van MCP-tools snel uit, waardoor bestaande functionaliteiten via MCP worden blootgesteld of het verbruik ervan binnen agentic-toepassingen mogelijk wordt gemaakt. Deze snelle uitrol omvat tools voor de no-code agentontwikkeling van Copilot Studio, die werd aangekondigd tijdens het schrijven van dit artikel.
Azure AI Foundry, het belangrijkste ontwikkelplatform van Microsoft voor grootschalige AI-applicatieontwikkeling, ontwikkelt ook actief een MCP Server als aanvulling op de AI Agent Service van Azure. Deze integratie is bedoeld om agents die binnen Azure AI Foundry draaien te verbinden met clients die werken als onderdeel van andere AI-toepassingen.
Met deze service kunt u bestaande AI-code en -services snel hergebruiken en koppelen aan nieuwe toepassingen. Services zoals Fabric stellen hun agentfuncties bloot als AI Agent Service-endpoints, waardoor AI-applicaties naadloos verbinding kunnen maken met core line-of-business-gegevens, waardoor essentiële grounding wordt geboden om de risico’s van hallucinatie en fouten te verminderen.
Na de installatie biedt de server een set MCP-acties voor het verbinden met agents en het verzenden van queries. Het kan ook beschikbare agents weergeven of een standaardagent gebruiken voor specifieke taken. Ondersteuning voor conversation threads is inbegrepen, waardoor agents een basis semantisch geheugen krijgen voor contextuele gesprekken. U hebt de Azure AI Agent Service agent-ID’s nodig om ze met behulp van MCP aan te roepen.
De server is geïmplementeerd in Python en kan worden geïnstalleerd met behulp van de Azure CLI via pip
. Als alternatief is een TypeScript-versie beschikbaar voor degenen die er de voorkeur aan geven. Net als de Azure MCP Server werkt deze server buiten de AI Foundry-omgeving, waardoor deze kan worden geïnstalleerd op een ontwikkel-PC of als onderdeel van een cloudgebaseerde applicatie binnen een eigen container of VM, met ondersteuning voor Windows, macOS en Linux.
MCP-servers gebruiken vanuit Semantic Kernel AI-toepassingen
Als open standaard maakt MCP servercompatibiliteit met elke client mogelijk. De GitHub-repository biedt instructies over het tot stand brengen van een verbinding met behulp van Claude Desktop van Anthropic, maar de echte waarde ligt in het bouwen van aangepaste agentworkflows binnen Semantic Kernel.
Microsoft biedt voorbeeldcode die laat zien hoe u MCP-ondersteuning kunt integreren in een Semantic Kernel-orkestratie, waarbij het wordt behandeld als een kernel-plug-in die integreert met bekende functieaanroepen. Deze integraties kunnen worden verpakt als agents en naar behoefte worden geopend. Hoewel MCP-integratie binnen Semantic Kernel nog in ontwikkeling is, integreert het naadloos met de bestaande functieset, waardoor minimale extra code nodig is om MCP-tools van een server bloot te leggen aan AI-toepassingen.
Tools zoals MCP zijn kritische componenten van een moderne AI-stack en bieden een gestandaardiseerde benadering voor het bouwen van detecteerbare interfaces voor zowel lokale als externe toepassingen. Eenmaal gedefinieerd, worden MCP-tools eenvoudig aangeroepen, waarbij een server een lijst met beschikbare tools biedt en MCP LLM’s een gestandaardiseerde manier biedt om die tools aan te roepen en hun outputs te gebruiken. Deze benadering draagt aanzienlijk bij aan het bieden van een universele grounding tool voor AI-toepassingen, die werken met standaard API’s, database queries en AI-agents.