Compartilhar via


Introdução à IA do .NET e ao Protocolo de Contexto do Modelo

O PROTOCOLO MCP (Model Context Protocol) é um protocolo aberto projetado para padronizar integrações entre aplicativos de IA e ferramentas externas e fontes de dados. Usando o MCP, os desenvolvedores podem aprimorar os recursos de modelos de IA, permitindo que eles produzam respostas mais precisas, relevantes e com reconhecimento de contexto.

Por exemplo, usando o MCP, você pode conectar seu LLM a recursos como:

  • Bancos de dados de documentos ou serviços de armazenamento.
  • APIs Web que expõem dados comerciais ou lógica.
  • Ferramentas que gerenciam arquivos ou executam tarefas locais no dispositivo de um usuário.

Muitos produtos da Microsoft já dão suporte ao MCP, incluindo:

Você pode usar o SDK do MCP C# para criar rapidamente suas próprias integrações de MCP e alternar entre diferentes modelos de IA sem alterações significativas no código.

Arquitetura do servidor cliente MCP

O MCP usa uma arquitetura cliente-servidor que permite que um aplicativo alimentado por IA (o host) se conecte a vários servidores MCP por meio de clientes MCP:

  • Hosts MCP: ferramentas de IA, editores de código ou outros softwares que aprimoram seus modelos de IA usando recursos contextuais por meio do MCP. Por exemplo, o GitHub Copilot no Visual Studio Code pode atuar como um host MCP e usar clientes e servidores MCP para expandir seus recursos.
  • Clientes MCP: clientes usados pelo aplicativo host para se conectar a servidores MCP para recuperar dados contextuais.
  • Servidores MCP: serviços que expõem recursos para clientes por meio do MCP. Por exemplo, um servidor MCP pode fornecer uma abstração sobre uma API REST ou uma fonte de dados local para fornecer dados de negócios para o modelo de IA.

O diagrama a seguir ilustra esta arquitetura:

Um diagrama mostrando o padrão de arquitetura do MCP, incluindo hosts, clientes e servidores.

O cliente e o servidor MCP podem trocar um conjunto de mensagens padrão:

Mensagem Descrição
InitializeRequest Essa solicitação é enviada pelo cliente ao servidor quando ele se conecta pela primeira vez, solicitando que ele inicie a inicialização.
ListToolsRequest Enviado pelo cliente para solicitar uma lista de ferramentas que o servidor tem.
CallToolRequest Usado pelo cliente para invocar uma ferramenta fornecida pelo servidor.
ListResourcesRequest Enviado pelo cliente para solicitar uma lista de recursos de servidor disponíveis.
ReadResourceRequest Enviado pelo cliente para o servidor para ler um URI de recurso específico.
ListPromptsRequest Enviado pelo cliente para solicitar uma lista de prompts disponíveis e modelos de prompt do servidor.
GetPromptRequest Usado pelo cliente para obter um prompt fornecido pelo servidor.
PingRequest Um ping, emitido pelo servidor ou pelo cliente, para verificar se a outra parte ainda está ativa.
CreateMessageRequest Uma solicitação do servidor para amostrar uma LLM por meio do cliente. O cliente tem total discrição sobre qual modelo selecionar. O cliente também deve informar o usuário antes de iniciar a amostragem, para permitir que ele inspecione a solicitação (humana no loop) e decida se deve aprová-la.
SetLevelRequest Uma solicitação do cliente para o servidor, para habilitar ou ajustar o registro em log.

Desenvolver com o SDK C# do MCP

Como desenvolvedor do .NET, você pode usar o MCP criando clientes e servidores MCP para aprimorar seus aplicativos com integrações personalizadas. O MCP reduz a complexidade envolvida na conexão de um modelo de IA a várias ferramentas, serviços e fontes de dados.

O SDK oficial do C# do MCP está disponível por meio do NuGet e permite que você crie clientes e servidores MCP para aplicativos e bibliotecas do .NET. O SDK é mantido por meio da colaboração entre a Microsoft, a Antropic e a organização de protocolo aberto MCP.

Para começar, adicione o SDK do MCP C# ao seu projeto:

dotnet add package ModelContextProtocol --prerelease

Em vez de criar conectores exclusivos para cada ponto de integração, você geralmente pode aproveitar ou referenciar integrações predefinidas de vários provedores, como GitHub e Docker:

Integração com Microsoft.Extensions.AI

O SDK do C# do MCP depende das bibliotecas de Microsoft.Extensions.AI para lidar com várias interações e tarefas de IA. Essas bibliotecas de extensão fornecem tipos principais e abstrações para trabalhar com serviços de IA, para que os desenvolvedores possam se concentrar em codificar em recursos conceituais de IA em vez de plataformas ou implementações de provedor específicas.

Veja as dependências do SDK C# do MCP na página do pacote NuGet.

Mais recursos de desenvolvimento do MCP do .NET

Várias ferramentas, serviços e recursos de aprendizagem estão disponíveis nos ecossistemas do .NET e do Azure para ajudá-lo a criar clientes e servidores MCP ou se integrar a servidores MCP existentes.

Introdução às seguintes ferramentas de desenvolvimento:

Saiba mais sobre .NET e MCP usando estes recursos: