Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze zelfstudie leert u hoe u een agent beschikbaar maakt als een hulpprogramma via het MCP (Model Context Protocol), zodat deze kan worden gebruikt door andere systemen die ONDERSTEUNING bieden voor MCP-hulpprogramma's.
Vereiste voorwaarden
Zie de stap Een eenvoudige agent maken en uitvoeren in deze zelfstudie voor vereisten.
NuGet-pakketten installeren
Als u Microsoft Agent Framework wilt gebruiken met Azure OpenAI, moet u de volgende NuGet-pakketten installeren:
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
Als u ook ondersteuning wilt toevoegen voor het hosten van een hulpprogramma via het MCP (Model Context Protocol), voegt u de volgende NuGet-pakketten toe
dotnet add package Microsoft.Extensions.Hosting --prerelease
dotnet add package ModelContextProtocol --prerelease
Een agent beschikbaar maken als MCP-hulpprogramma
U kunt een AIAgent hulpprogramma als MCP beschikbaar maken door deze in een functie te verpakken en te gebruiken McpServerTool. Vervolgens moet u deze registreren bij een MCP-server. Hierdoor kan de agent worden aangeroepen als een hulpprogramma door een MCP-compatibele client.
Maak eerst een agent die u beschikbaar maakt als een MCP-hulpprogramma.
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");
Zet de agent om in een functiehulpmiddel en vervolgens een MCP-hulpprogramma. De naam en beschrijving van de agent worden gebruikt als de naam en beschrijving van het mcp-hulpprogramma.
using ModelContextProtocol.Server;
McpServerTool tool = McpServerTool.Create(agent.AsAIFunction());
Stel de MCP-server in om te luisteren naar binnenkomende aanvragen via standaardinvoer/uitvoer en maak het MCP-hulpprogramma beschikbaar:
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();
Hiermee start u een MCP-server die de agent beschikbaar maakt als hulpprogramma via het MCP-protocol.
In deze zelfstudie leert u hoe u een agent beschikbaar maakt als een hulpprogramma via het MCP (Model Context Protocol), zodat deze kan worden gebruikt door andere systemen die ONDERSTEUNING bieden voor MCP-hulpprogramma's.
Vereiste voorwaarden
Zie de stap Een eenvoudige agent maken en uitvoeren in deze zelfstudie voor vereisten en het installeren van Python-pakketten.
Een agent beschikbaar maken als een MCP-server
U kunt een agent beschikbaar maken als een MCP-server met behulp van de as_mcp_server() methode. Hierdoor kan de agent worden aangeroepen als een hulpprogramma door een MCP-compatibele client.
Maak eerst een agent die u beschikbaar maakt als een MCP-server. U kunt ook hulpprogramma's toevoegen aan de agent:
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],
)
Verander de agent in een MCP-server. De naam en beschrijving van de agent worden gebruikt als de metagegevens van de MCP-server:
# Expose the agent as an MCP server
server = agent.as_mcp_server()
Stel de MCP-server in om te luisteren naar binnenkomende aanvragen via standaardinvoer/uitvoer:
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)
Hiermee start u een MCP-server die de agent beschikbaar maakt via het MCP-protocol, zodat deze kan worden gebruikt door MCP-compatibele clients zoals VS Code GitHub Copilot Agents.