Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu se dozvíte, jak vystavit agenta jako nástroj přes protokol MCP (Model Context Protocol), aby ho mohly používat jiné systémy, které podporují nástroje MCP.
Požadavky
Požadavky najdete v kroku Vytvoření a spuštění jednoduchého agenta v tomto kurzu.
Instalace balíčků NuGet
Pokud chcete používat rozhraní Microsoft Agent Framework s Azure OpenAI, musíte nainstalovat následující balíčky NuGet:
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
Pokud chcete také přidat podporu pro hostování nástroje přes protokol MCP (Model Context Protocol), přidejte následující balíčky NuGet.
dotnet add package Microsoft.Extensions.Hosting --prerelease
dotnet add package ModelContextProtocol --prerelease
Zpřístupnit agenta jako nástroj MCP
Jako nástroj MCP můžete vystavit AIAgent tak, že ho zabalíte do funkce a použijete McpServerTool. Pak ho musíte zaregistrovat na serveru MCP. To umožňuje, aby agent byl vyvolán jako nástroj libovolného klienta kompatibilního s MCP.
Nejprve vytvořte agenta, kterého zveřejníte jako nástroj MCP.
using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using OpenAI;
AIAgent agent = new AzureOpenAIClient(
new Uri("https://<myresource>.openai.azure.com"),
new AzureCliCredential())
.GetChatClient("gpt-4o-mini")
.CreateAIAgent(instructions: "You are good at telling jokes.", name: "Joker");
Převést agenta na funkční nástroj a následně na nástroj MCP. Název a popis agenta se použije jako název a popis nástroje mcp.
using ModelContextProtocol.Server;
McpServerTool tool = McpServerTool.Create(agent.AsAIFunction());
Nastavte server MCP tak, aby naslouchal příchozím požadavkům přes standardní vstup a výstup a zpřístupnil nástroj MCP:
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using ModelContextProtocol.Server;
HostApplicationBuilder builder = Host.CreateEmptyApplicationBuilder(settings: null);
builder.Services
.AddMcpServer()
.WithStdioServerTransport()
.WithTools([tool]);
await builder.Build().RunAsync();
Tím se spustí server MCP, který zpřístupňuje agenta jako nástroj přes protokol MCP.
V tomto kurzu se dozvíte, jak vystavit agenta jako nástroj přes protokol MCP (Model Context Protocol), aby ho mohly používat jiné systémy, které podporují nástroje MCP.
Požadavky
Informace o požadavcích a instalaci balíčků Pythonu najdete v části Vytvoření a spuštění jednoduchého agenta v tomto kurzu.
Zveřejnění agenta jako serveru MCP
Pomocí metody as_mcp_server() můžete vystavit agenta jako server MCP. To umožňuje, aby agent byl vyvolán jako nástroj libovolného klienta kompatibilního s MCP.
Nejprve vytvořte agenta, kterého zveřejníte jako server MCP. Do agenta můžete také přidat nástroje:
from typing import Annotated
from agent_framework.openai import OpenAIResponsesClient
def get_specials() -> Annotated[str, "Returns the specials from the menu."]:
return """
Special Soup: Clam Chowder
Special Salad: Cobb Salad
Special Drink: Chai Tea
"""
def get_item_price(
menu_item: Annotated[str, "The name of the menu item."],
) -> Annotated[str, "Returns the price of the menu item."]:
return "$9.99"
# Create an agent with tools
agent = OpenAIResponsesClient().create_agent(
name="RestaurantAgent",
description="Answer questions about the menu.",
tools=[get_specials, get_item_price],
)
Převést agenta na server MCP. Název a popis agenta se použije jako metadata serveru MCP:
# Expose the agent as an MCP server
server = agent.as_mcp_server()
Nastavte server MCP tak, aby naslouchal příchozím požadavkům přes standardní vstup a výstup:
import anyio
from mcp.server.stdio import stdio_server
async def run():
async def handle_stdin():
async with stdio_server() as (read_stream, write_stream):
await server.run(read_stream, write_stream, server.create_initialization_options())
await handle_stdin()
if __name__ == "__main__":
anyio.run(run)
Tím se spustí server MCP, který zpřístupňuje agenta přes protokol MCP, což umožňuje jeho použití klienty kompatibilními s MCP, jako jsou VS Code GitHub Copilot Agents.