Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste guia de início rápido, você cria um cliente mínimo do Protocolo de Contexto de Modelo (MCP) usando o SDK do C# para MCP. Você também aprenderá a configurar o cliente para se conectar a um servidor MCP, como o criado no guia de introdução para um servidor MCP mínimo.
Pré-requisitos
Observação
O cliente MCP que você cria nas próximas seções se conecta ao servidor MCP de exemplo do exemplo mínimo do guia de início rápido 'Construir um servidor MCP mínimo'. Você também pode usar seu próprio servidor MCP se fornecer sua própria configuração de conexão.
Criar o aplicativo host .NET
Conclua as etapas a seguir para criar um aplicativo de console do .NET. O aplicativo atua como um host para um cliente MCP que se conecta a um servidor MCP.
Criar o projeto
Em uma janela de terminal, navegue até o diretório onde você deseja criar seu aplicativo e crie um novo aplicativo de console com o
dotnet new
comando:dotnet new console -n MCPHostApp
Navegue até a pasta de projeto recém-criada:
cd MCPHostApp
Execute os seguintes comandos para adicionar os pacotes NuGet necessários:
dotnet add package Azure.AI.OpenAI --prerelease dotnet add package Azure.Identity dotnet add package Microsoft.Extensions.AI dotnet add package Microsoft.Extensions.AI.OpenAI --prerelease dotnet add package ModelContextProtocol --prerelease
Abra a pasta do projeto no editor de sua escolha, como o Visual Studio Code:
code .
Adicionar o código do aplicativo
Substitua o conteúdo de Program.cs
pelo seguinte código:
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Extensions.AI;
using ModelContextProtocol.Client;
// Create an IChatClient using Azure OpenAI.
IChatClient client =
new ChatClientBuilder(
new AzureOpenAIClient(new Uri("<your-azure-openai-endpoint>"),
new DefaultAzureCredential())
.GetChatClient("gpt-4o").AsIChatClient())
.UseFunctionInvocation()
.Build();
// Create the MCP client
// Configure it to start and connect to your MCP server.
IMcpClient mcpClient = await McpClientFactory.CreateAsync(
new StdioClientTransport(new()
{
Command = "dotnet run",
Arguments = ["--project", "<path-to-your-mcp-server-project>"],
Name = "Minimal MCP Server",
}));
// List all available tools from the MCP server.
Console.WriteLine("Available tools:");
IList<McpClientTool> tools = await mcpClient.ListToolsAsync();
foreach (McpClientTool tool in tools)
{
Console.WriteLine($"{tool}");
}
Console.WriteLine();
// Conversational loop that can utilize the tools via prompts.
List<ChatMessage> messages = [];
while (true)
{
Console.Write("Prompt: ");
messages.Add(new(ChatRole.User, Console.ReadLine()));
List<ChatResponseUpdate> updates = [];
await foreach (ChatResponseUpdate update in client
.GetStreamingResponseAsync(messages, new() { Tools = [.. tools] }))
{
Console.Write(update);
updates.Add(update);
}
Console.WriteLine();
messages.AddMessages(updates);
}
O código anterior realiza as seguintes tarefas:
- Inicializa uma
IChatClient
abstração usando asMicrosoft.Extensions.AI
bibliotecas. - Cria um cliente MCP e o configura para se conectar ao servidor MCP.
- Recupera e exibe uma lista de ferramentas disponíveis do servidor MCP, que é uma função MCP padrão.
- Implementa um ciclo de conversação que processa os prompts dos usuários e utiliza as ferramentas para as respostas.
Executar e testar o aplicativo
Conclua as seguintes etapas para testar seu aplicativo host .NET:
Em uma janela de terminal aberta para a raiz do projeto, execute o seguinte comando para iniciar o aplicativo:
dotnet run
Depois que o aplicativo estiver em execução, insira um prompt para executar a ferramenta ReverseEcho :
Reverse the following: "Hello, minimal MCP server!"
Verifique se o servidor responde com a mensagem ecoada:
!revres PCM laminim ,olleH
Conteúdo relacionado
Introdução à IA do .NET e ao Protocolo de Contexto do Modelo