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.
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:
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:
- O Kernel Semântico permite adicionar plug-ins para servidores MCP. O Kernel Semântico dá suporte a servidores MCP locais por meio de E/S padrão e servidores remotos que se conectam por meio da SSE via HTTPS.
- Os servidores MCP remotos do Azure Functions combinam padrões MCP com a arquitetura flexível do Azure Functions. Visite o repositório de exemplo de funções do MCP remoto para obter exemplos de código.
- O Servidor MCP do Azure implementa a especificação mcp para conectar perfeitamente agentes de IA com os principais serviços do Azure, como Armazenamento do Azure, Cosmos DB e muito mais.
Saiba mais sobre .NET e MCP usando estes recursos:
- Microsoft faz parceria com a Antropic para criar o SDK oficial do C# para o Protocolo de Contexto de Modelo
- Criar um servidor MCP (Protocolo de Contexto de Modelo) em C#
- MCP C# SDK README