Integrowanie narzędzi agenta przy użyciu serwera MCP i klienta

Ukończone

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 FunctionTool jest 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.