Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln ansluter du en MCP-kompatibel verktygsserver med en KAITO-slutsatsdragningsarbetsyta (AI toolchain operator) på Azure Kubernetes Service (AKS), vilket möjliggör säker och modulär verktygsanrop för LLM-program. Du får också lära dig hur du validerar anrop från slutpunkt till slutpunkt genom att integrera modellen med MCP-servern och övervaka funktionskörning i realtid via strukturerade svar.
McP (Model Context Protocol)
Som ett tillägg till KAITO-slutsatsdragning med verktygsanrop ger MCP (Model Context Protocol) ett standardiserat sätt att definiera och exponera verktyg för språkmodeller att anropa.
Verktygsanrop med MCP gör det enklare att ansluta språkmodeller till verkliga tjänster och åtgärder utan att nära koppla logik till själva modellen. I stället för att bädda in varje funktion eller API-anrop i programkoden kan du med MCP köra en fristående verktygsserver som exponerar standardiserade verktyg eller API:er som alla kompatibla LLM kan använda. Den här rena separationen innebär att du kan uppdatera verktygen oberoende av varandra, dela dem mellan modeller och hantera dem som andra mikrotjänster.
Du kan ta med dina egna (BYO) interna eller ansluta externa MCP-servrar sömlöst med din KAITO-slutsatsdragningsarbetsyta på AKS.
MCP med AI-verktygskedja (KAITO) på AKS
Du kan registrera en extern MCP-server i ett enhetligt schemabaserat format och hantera den till alla kompatibla slutpunkter för slutsatsdragning, inklusive de som distribueras med en KAITO-arbetsyta. Den här metoden möjliggör externalisering av affärslogik, avkoppling av modellbeteende från verktygskörning och återanvändning av verktyg mellan agenter, modeller och miljöer.
I den här guiden registrerar du en fördefinierad MCP-server, testar verkliga anrop som utfärdas av en LLM som körs i en KAITO-slutsatsdragningsarbetsyta och bekräftar att hela verktygskörningssökvägen (från modellprompt till MCP-funktionsanrop) fungerar som avsett. Du har flexibilitet att skala eller byta verktyg oberoende av din modell.
Förutsättningar
- Den här artikeln förutsätter att du har ett befintligt AKS-kluster. Om du inte har något kluster skapar du ett med hjälp av Azure CLI, Azure PowerShell eller Azure-portalen.
- AKS-klustret körs på Kubernetes-versionen
1.33eller senare. Information om hur du uppgraderar klustret finns i Uppgradera ditt AKS-kluster. - Installera och konfigurera Azure CLI-versionen
2.77.0eller senare. Du hittar din version genom att köraaz --version. Information om hur du installerar eller uppdaterar finns i Installera Azure CLI. - Du har ai-verktygskedjans operatörstillägg aktiverat i klustret och en KAITO-arbetsyta med verktygsanropsstöd distribuerat i klustret.
- En extern MCP-server som är tillgänglig på en tillgänglig URL (t.ex.
https://mcp.example.com/mcp) som returnerar giltig/list_toolsoch harstreamtransport.
Ansluta till en referens-MCP-server
I det här exemplet använder vi en referens för Time MCP Server, som tillhandahåller funktioner för tidszonskonvertering och gör det möjligt för LLM:er att hämta aktuell tidsinformation och utföra konverteringar med hjälp av standardiserade namn.
Vidarebefordra KAITO-inferenstjänsten
Bekräfta att KAITO-arbetsytan är klar och hämta slutpunkten för inferenstjänsten med kommandot
kubectl get.kubectl get svc workspace‑phi‑4-mini-toolcallAnmärkning
Utdata kan vara en
ClusterIPeller intern adress. Kontrollera vilka portar tjänsten lyssnar på. Standard-API:et för KAITO-slutsatsdragning finns på porten80för HTTP. Om det bara är internt kan du portforwarda lokalt.Vidarebefordra inferenstjänsten för testning med hjälp av
kubectl port-forwardkommandot .kubectl port-forward svc/workspace‑phi‑4‑mini-toolcall 8000:80Kontrollera slutpunkten
/v1/modelsför att bekräfta att LLMPhi-4-mini-instructär tillgängligt genom att användacurl.curl http://localhost:8000/v1/modelsDitt
Phi-4-mini-instructOpenAI-kompatibla slutsatsdragnings-API kommer att vara tillgängligt på:http://localhost:8000/v1/chat/completions
Bekräfta att referens-MCP-servern är giltig
Det här exemplet förutsätter att Time MCP-servern är värd vid https://mcp.example.com.
Bekräfta att servern returnerar verktygen med hjälp av
curl.curl https://mcp.example.com/mcp/list_toolsFörväntat resultat:
{ "tools": [ { "name": "get_current_time", "description": "Get the current time in a specific timezone", "arguments": { "timezone": "string" } }, { "name": "convert_time", "description": "Convert time between two timezones", "arguments": { "source_timezone": "string", "time": "string", "target_timezone": "string" } } ] }
Ansluta MCP-servern till KAITO-arbetsytan med hjälp av API-begäran
KAITO hämtar automatiskt verktygsdefinitioner från verktyg som deklarerats i API-begäranden eller registrerats dynamiskt i inferenskörningen (vLLM + MCP-verktygsläsare).
I den här guiden skapar vi en virtuell Python-miljö för att skicka en begäran om verktygsanrop till Phi-4-mini-instruct inferrensslutpunkten genom att använda MCP-definitionen och ange servern.
Definiera en ny arbetskatalog för det här testprojektet.
mkdir kaito-mcp cd kaito-mcpSkapa en virtuell Python-miljö och aktivera den så att alla paket är lokala för ditt testprojekt.
uv venv source .venv/bin/activateAnvänd Autogen-ramverket med öppen källkod för att testa funktionen för att anropa verktyget och installera dess beroenden:
uv pip install "autogen-ext[openai]" "autogen-agentchat" "autogen-ext[mcp]"Skapa en testfil med namnet
test.py:- Ansluter till TIME MCP-servern och läser in
get_current_timeverktyget. - Ansluter till din KAITO-slutsatsdragningstjänst som körs på
localhost:8000. - Skickar en exempelfråga som "Vilken tid är det i Europa/Paris?"
- Aktiverar automatisk markering och anrop av
get_current_timeverktyget.
import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.ui import Console from autogen_core import CancellationToken from autogen_core.models import ModelFamily, ModelInfo from autogen_ext.models.openai import OpenAIChatCompletionClient from autogen_ext.tools.mcp import (StreamableHttpMcpToolAdapter, StreamableHttpServerParams) from openai import OpenAI async def main() -> None: # Create server params for the Time MCP service server_params = StreamableHttpServerParams( url="https://mcp.example.com/mcp", timeout=30.0, terminate_on_close=True, ) # Load the get_current_time tool from the server adapter = await StreamableHttpMcpToolAdapter.from_server_params(server_params, "get_current_time") # Fetch model name from KAITO's local OpenAI-compatible API model = OpenAI(base_url="http://localhost:8000/v1", api_key="dummy").models.list().data[0].id model_info: ModelInfo = { "vision": False, "function_calling": True, "json_output": True, "family": ModelFamily.UNKNOWN, "structured_output": True, "multiple_system_messages": True, } # Connect to the KAITO inference workspace model_client = OpenAIChatCompletionClient( base_url="http://localhost:8000/v1", api_key="dummy", model=model, model_info=model_info ) # Define the assistant agent agent = AssistantAgent( name="time-assistant", model_client=model_client, tools=[adapter], system_message="You are a helpful assistant that can provide time information." ) # Run a test task that invokes the tool await Console( agent.run_stream( task="What time is it in Europe/Paris?", cancellation_token=CancellationToken() ) ) if __name__ == "__main__": asyncio.run(main())- Ansluter till TIME MCP-servern och läser in
Kör testskriptet i din virtuella miljö.
uv run test.pyI utdata från det här testet bör du förvänta dig följande:
- Modellen genererar korrekt ett verktygsanrop med mcp-namnet och förväntade argument.
- Autogen skickar verktygsanropet till MCP-servern, MCP-servern kör logiken och returnerar ett resultat.
-
Phi-4-mini-instructLLM tolkar råverktygets utdata och ger ett svar på naturligt språk.
---------- TextMessage (user) ---------- What time is it in Europe/Paris? ---------- ToolCallRequestEvent (time-assistant) ---------- [FunctionCall(id='chatcmpl-tool-xxxx', arguments='{"timezone": "Europe/Paris"}', name='get_current_time')] ---------- ToolCallExecutionEvent (time-assistant) ---------- [FunctionExecutionResult(content='{"timezone":"Europe/Paris","datetime":"2025-09-17T17:43:05+02:00","is_dst":true}', name='get_current_time', call_id='chatcmpl-tool-xxxx', is_error=False)] ---------- ToolCallSummaryMessage (time-assistant) ---------- The current time in Europe/Paris is 5:43 PM (CEST).
Experimentera med fler MCP-verktyg
Du kan testa de olika verktyg som är tillgängliga för den här MCP-servern, till exempel convert_time.
Uppdatera definitionen i din
test.py-fil från föregående steg till följande:adapteradapter = await StreamableHttpMcpToolAdapter.from_server_params(server_params, "convert_time")Uppdatera definitionen
taskför att anropa det nya verktyget. Till exempel:task="Convert 9:30 AM New York time to Tokyo time."Spara och kör Python-skriptet.
uv run test.pyFörväntat resultat:
9:30 AM in New York is 10:30 PM in Tokyo.
Felsökning
I följande tabell beskrivs vanliga fel vid testning av KAITO-slutsatsdragning med en extern MCP-server och hur du löser dem:
| Error | Så här löser du |
|---|---|
Tool not found |
Kontrollera att verktygsnamnet matchar det som deklareras i /mcp/list_tools. |
401 Unauthorized |
Om MCP-servern kräver en autentiseringstoken måste du uppdatera server_params så att den innehåller rubriker med autentiseringstoken. |
connection refused |
Kontrollera att KAITO-slutsatsdragningstjänsten är portvidarebefordrad korrekt (t.ex. till localhost:8000). |
tool call ignored |
Gå igenom dokumentationen för KAITO-verktygssamtal för att hitta vLLM-modeller som stöder verktygsanrop. |
Nästa steg
I den här artikeln har du lärt dig hur du ansluter en KAITO-arbetsyta till en extern MCP-referensserver med hjälp av Autogen för att aktivera verktygsanrop via OpenAI-kompatibelt API. Du har också verifierat att LLM kan identifiera, anropa och integrera resultat från MCP-kompatibla verktyg i AKS. Mer information finns i följande resurser:
- Distribuera och testa verktygsanrop med AI-verktygskedjans tillägg på AKS.
- KAITO-verktygsanrop och officiell MCP-dokumentation.