Pular para o conteúdo
Skillpedia
APIs e servidores (backend)40 mil · #5122

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

https://github.com/github/awesome-copilot/blob/main/skills/dotnet-mcp-builder/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/dotnet-mcp-builder/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-builder

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/dotnet-mcp-builder/SKILL.md -o SKILL.md
Conteú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 Stateless tem como padrão true).
  • Recomendar recursos que a especificação de 28/07/2026 deprecia (roots, sampling, logging de canal MCP — agora [Obsolete], aviso MCP9005).
  • 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)

  1. Fixe o pacote estável atual, não uma pré-visualização. Use ModelContextProtocol / ModelContextProtocol.AspNetCore / ModelContextProtocol.Core na versão 2.x mais recente. Se você se encontrar escrevendo 0.3-preview ou 0.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.
  2. Servidores STDIO não devem escrever em stdout. Stdout é o canal JSON-RPC. Configure LogToStandardErrorThreshold = LogLevel.Trace antes de qualquer outra coisa e nunca Console.WriteLine de 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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas