dotnet-mcp-builder
Faz seu agente construir servidores Model Context Protocol (MCP) em C#/.NET. É útil para corrigir problemas com versões desatualizadas ou configurações incorretas do modelo.
O que ela faz
Este recurso ajuda a criar programas (servidores) em C#/.NET que se comunicam usando o protocolo Model Context Protocol (MCP). Ele garante que você use as versões corretas e as configurações mais recentes do protocolo.
Quando usar
- ✓Ao iniciar um novo servidor MCP em .NET.
- ✓Quando o modelo de IA dá erros ou usa configurações antigas.
- ✓Ao adicionar novas funcionalidades ao seu servidor MCP.
Exemplo do que pedir para a IA
“Como eu crio um servidor MCP básico em C# que usa comunicação por linha de comando?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Ele configura um aplicativo .NET para entender e responder às mensagens do protocolo MCP. Você define suas funcionalidades como métodos simples em C# e o sistema cuida da comunicação.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add github/awesome-copilot --skill dotnet-mcp-builderOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/dotnet-mcp-builder/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Construindo servidores MCP em .NET
Esta habilidade ajuda você a escrever servidores MCP de qualidade de produção e clientes básicos em C#/.NET usando os pacotes NuGet oficiais ModelContextProtocol, mantidos pela Microsoft e pelo projeto MCP. Ele tem como alvo a linha estável 2.x e a especificação atual (28/07/2026).
Quando esta habilidade se justifica
O SDK MCP .NET teve anos de pacotes de pré-visualização (0.x-preview) antes de atingir 1.0, e a v2 inverteu várias configurações padrão. Sem ajuda, o modelo tende a:
- Fixar uma versão de pré-visualização desatualizada que não compilará com exemplos atuais.
- Aplicar configurações padrão da era 1.x que a v2 reverteu (HTTP era stateful por padrão; em 2.x
Statelesstem como padrãotrue). - Recomendar recursos que a especificação de 28/07/2026 deprecia (roots, sampling, logging de canal MCP — agora
[Obsolete], avisoMCP9005). - Perder recursos recentes da especificação (multi-round-trip
input_required, negociação discovery-first, pacotes de extensão MCP Apps/Tasks, modo de URL de elicitação, blocos de conteúdo estruturados). - Errar detalhes do transporte HTTP (stateful/stateless, buffering de proxy, fiação OAuth).
- Esquecer a armadilha STDIO stdout/stderr.
Se a tarefa for uma dessas, carregue a referência correspondente e siga-a. Se for realmente trivial (por exemplo, "renomear este método de ferramenta"), você não precisa ler tudo — as regras cardinais abaixo são o mínimo.
Modelo mental em 30 segundos
Um servidor MCP .NET é um aplicativo Microsoft.Extensions.Hosting (ou WebApplication) comum que conecta um servidor MCP através de DI:
builder.Services
.AddMcpServer()
.WithStdioServerTransport() // OR .WithHttpTransport(...)
.WithToolsFromAssembly() // discover [McpServerToolType] classes
.WithPrompts<MyPrompts>() // optional
.WithResources<MyResources>(); // optional
Primitivas são métodos C# simples em classes marcadas com atributos ([McpServerToolType] + [McpServerTool], [McpServerPromptType] + [McpServerPrompt], [McpServerResourceType] + [McpServerResource]). Os parâmetros são vinculados a partir de JSON-RPC; o SDK constrói o JSON Schema a partir da assinatura mais os atributos [Description].
Recursos de servidor para cliente (elicitação, notificações de progresso e as agora depreciadas notificações de amostragem/roots/log) são métodos na IMcpServer injetada.
Árvore de decisão → quais referências carregar
Sempre carregue references/packages.md se você estiver criando um novo projeto ou não tiver certeza da versão atual do pacote.
| Tarefa | Carregar |
|---|---|
| Novo servidor STDIO | references/transport-stdio.md |
| Novo servidor HTTP (Streamable) | references/transport-http.md |
| Adicionar/modificar uma ferramenta | references/tool-primitive.md |
| Adicionar/modificar um prompt | references/prompt-primitive.md |
| Adicionar/modificar um recurso | references/resource-primitive.md |
| Fazer uma pergunta ao usuário no meio de uma ferramenta | references/elicitation.md |
| Chamar o LLM do cliente a partir de uma ferramenta (depreciado em 28/07/2026) | references/sampling.md |
| Ler as raízes do projeto do usuário (depreciado em 28/07/2026) | references/roots.md |
| Retornar uma interface de usuário interativa | references/mcp-apps.md |
| Conclusões de argumentos, notificações de log/progresso, filtros, instruções do servidor | references/server-features.md |
| Escrever um programa .NET que consome um servidor MCP | references/client.md |
| MCP Inspector, testes em memória, mocks, CI | references/testing.md |
Para tarefas com múltiplas primitivas, carregue várias de uma vez. Para edições triviais em um arquivo existente, você geralmente não precisa de nenhuma.
Regras cardinais (aplicam-se sempre; estas evitam as falhas mais frequentes)
- Fixe o pacote estável atual, não uma pré-visualização. Use
ModelContextProtocol/ModelContextProtocol.AspNetCore/ModelContextProtocol.Corena versão 2.x mais recente. Se você se encontrar escrevendo0.3-previewou0.4-preview, pare e verifique o NuGet — APIs de pré-visualização têm diferenças que quebram a compatibilidade. A 1.x ainda funciona, mas é anterior à especificação de 28/07/2026. - Servidores STDIO não devem escrever em stdout. Stdout é o canal JSON-RPC. Configure
LogToStandardErrorThreshold = LogLevel.Traceantes de qualquer outra coisa e nuncaConsole.WriteLinede uma ferramenta.
…
Perguntas frequentes
O que é MCP?
MCP é um protocolo (um conjunto de regras) para comunicação entre programas, especialmente entre modelos de IA e outras aplicações.
Por que preciso me preocupar com versões?
Versões diferentes do protocolo têm regras diferentes. Usar a versão errada pode fazer seu programa não funcionar ou ter comportamentos inesperados.
O que são 'ferramentas' (tools) neste contexto?
Ferramentas são as ações ou funções específicas que seu programa MCP pode realizar, definidas como métodos em código C#.
Detalhes
Descrição original do autor
Build Model Context Protocol (MCP) servers in C#/.NET against the current ModelContextProtocol 2.x NuGet packages. Helps with cases the model gets wrong without guidance — stale versions (0.x preview or 1.x-era defaults), the v2 stateless-by-default HTTP flip, the 2026-07-28 spec deprecations (roots/sampling/logging), MCP Apps and Tasks extension packages, elicitation URL mode, per-session HTTP wi
repo: github/awesome-copilot
Popularidade
- Estrelas no GitHub
- 40 mil
- Posição no ranking
- #5122
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC