Integrowanie narzędzi agenta przy użyciu serwera MCP i klienta
Wskazówka
Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .
Aby dynamicznie łączyć narzędzia z agentem usługi Azure AI, należy najpierw skonfigurować działający protokół MCP (Model Context Protocol). Obejmuje to zarówno serwer MCP, który hostuje katalog narzędzi, jak i klienta MCP, który pobiera te narzędzia i sprawia, że są one użyteczne przez agenta.
Co to jest serwer MCP?
Serwer MCP działa jako rejestr narzędzi, których agent może używać. Serwer MCP można zainicjować przy użyciu polecenia FastMCP("server-name"). Klasa FastMCP używa wskazówek typów języka Python i ciągów dokumentów do automatycznego generowania definicji narzędzi, co ułatwia tworzenie i konserwację narzędzi MCP. Te definicje są następnie obsługiwane za pośrednictwem protokołu HTTP po zażądaniu przez klienta. Ponieważ definicje narzędzi działają na serwerze, można w dowolnym momencie aktualizować lub dodawać nowe narzędzia bez konieczności modyfikowania lub ponownego wdrażania agenta.
Co to jest klient MCP?
Standardowy klient MCP działa jako most między serwerem MCP a usługą agenta AI platformy Azure. Klient inicjuje sesję klienta MCP i nawiązuje połączenie z serwerem. Następnie wykonuje trzy kluczowe zadania:
- Odnajduje dostępne narzędzia z serwera MCP przy użyciu polecenia
session.list_tools(). - Generuje szablony funkcji Python, które opakowują narzędzia.
- Rejestruje te funkcje w agencie.
Dzięki temu agent może wywołać dowolne narzędzie wymienione w wykazie MCP tak, jakby było to funkcja natywna, wszystko bez zakodowanej logiki.
Rejestrowanie narzędzi za pomocą agenta usługi Azure AI
Po zainicjowaniu sesji klienta MCP klient może dynamicznie ściągać narzędzia z serwera MCP. Narzędzie MCP można wywołać przy użyciu polecenia session.call_tool(tool_name, tool_args). Każde narzędzie powinno być opakowane w funkcję asynchroniczną, aby agent mógł je wywołać. Na koniec te funkcje są połączone i stają się częścią zestawu narzędzi agenta i są dostępne w czasie wykonywania każdego żądania użytkownika.
Omówienie integracji narzędzi agenta MCP
-
Serwer MCP hostuje definicje narzędzi ozdobione elementem
@mcp.tool. - Klient MCP inicjuje połączenie klienta MCP z serwerem.
-
Klient MCP pobiera dostępne definicje narzędzi za pomocą polecenia
session.list_tools(). - Każde narzędzie jest opakowane w funkcję asynchroniczną, która wywołuje
session.call_tool - Funkcje narzędzi są zawarte w
FunctionTool, co sprawia, że mogą być używane przez agenta. - Element
FunctionTooljest zarejestrowany w zestawie narzędzi agenta.
Teraz agent może uzyskiwać dostęp do narzędzi i wywoływać je za pośrednictwem interakcji z językiem naturalnym. Konfigurując serwer i klient MCP, tworzysz czystą separację między zarządzaniem narzędziami i logiką agenta — dzięki czemu system może szybko dostosować się do nowych narzędzi.