SDK Csharp: Integração .NET para Clientes e Servidores do Protocolo de Contexto de Modelo
O SDK Csharp do Modelcontextprotocol é o SDK oficial em C# para o Protocolo de Contexto de Modelo (MCP). Ele permite que aplicações, serviços e bibliotecas .NET implementem e interajam com clientes e servidores MCP. Este SDK conecta-se a servidores e clientes MCP, padronizando como as aplicações fornecem contexto para Modelos de Linguagem Grande (LLMs) para integração segura com fontes de dados e ferramentas. Distribuído como pacotes NuGet, ele suporta vários ambientes .NET. O SDK Csharp é categorizado como uma ferramenta de servidor MCP, mas suporta implementações tanto de cliente quanto de servidor, oferecendo versatilidade para desenvolvedores que constroem soluções impulsionadas por IA.
Alternativa mais recomendada
A que o SDK Csharp se conecta?
O SDK Csharp se conecta a servidores e clientes do Protocolo de Contexto de Modelo (MCP). O MCP é um protocolo aberto projetado para padronizar como as aplicações fornecem contexto para Modelos de Linguagem de Grande Escala (LLMs). Essa padronização permite uma integração segura entre LLMs e várias fontes de dados e ferramentas. Embora categorizado como uma ferramenta de servidor MCP, o SDK suporta implementações tanto de cliente quanto de servidor, permitindo que aplicações .NET atuem como um cliente ou um servidor MCP dentro do ecossistema do protocolo.
Recursos e ferramentas principais
O SDK expõe ferramentas chamáveis, recursos e prompts para interação com LLMs. Os desenvolvedores podem criar ferramentas chamáveis específicas usando McpServerTool.Create. Ele também suporta primitivas McpServerPrompt e McpServerResource para definir interações. A invocação de ferramentas é gerenciada através de entradas e saídas JSON estruturadas, garantindo comunicação clara. O SDK suporta protocolos de transporte locais e remotos, incluindo servidores MCP baseados em HTTP via ModelContextProtocol.AspNetCore e transporte baseado em stream usando System.IO.Pipelines.
Para quem é?
O SDK Csharp é principalmente para desenvolvedores .NET que estão construindo copilotos de IA, estruturas de agentes ou aplicações LLM aumentadas por ferramentas. É particularmente útil para aqueles que requerem interoperabilidade entre linguagens ou precisam manter serviços de ferramentas compartilhados em diferentes ambientes de programação. Clientes de IA construídos com qualquer SDK compatível com MCP, incluindo TypeScript, Python, Go, Rust, Java, Ruby, Swift, PHP e Kotlin, são confirmados como compatíveis. Pule isso se seu projeto não envolver a integração de aplicações .NET com o Protocolo de Contexto de Modelo.
Como começar
O acesso é concedido através de um fluxo de autorização OAuth padrão. A configuração envolve a configuração de Metadados de Recursos Protegidos (PRM) usando o método de extensão AddMcp no AuthenticationBuilder, especificando ResourceMetadata incluindo AuthorizationServers e ScopesSupported. O SDK suporta o fluxo de Concessão de Autorização de Aserção de Identidade via IdentityAssertionGrantProvider. Servidores MCP baseados em HTTP são suportados via ModelContextProtocol.AspNetCore.
Casos de uso
- Chamada/Invocação de Ferramentas: LLMs solicitam ferramentas, o servidor as executa e as respostas são integradas na interação contínua do LLM.
- Operações de Longa Duração: Suporta invocações de ferramentas assíncronas com polling de status e solicitações de entrada, integrando-se com sistemas de fluxo de trabalho existentes, como pipelines de CI/CD.
- Aplicações de UI Interativas: Permite a construção de interfaces de usuário dinâmicas que são renderizadas dentro de hosts MCP.
O SDK Csharp fornece aos desenvolvedores .NET uma maneira estruturada de construir aplicações que interagem com o Protocolo de Contexto de Modelo. Ele suporta implementações tanto de cliente quanto de servidor, oferecendo ferramentas, recursos e sugestões para integração de LLM. A compatibilidade do SDK com vários SDKs de linguagem e seu modelo de autenticação o tornam adequado para projetos complexos de IA. Seu suporte a diferentes protocolos de transporte aumenta sua adaptabilidade. Tente criar uma ferramenta chamável usando McpServerTool.Create para lidar com solicitações de LLM.





