mcp-server-patterns
Faz seu agente construir servidores MCP usando Node/TypeScript. Ajuda a configurar ferramentas, recursos e validação de dados.
O que ela faz
Esta ferramenta ajuda a criar e gerenciar servidores para assistentes de IA. Ela permite que o assistente use suas ferramentas, acesse seus dados e siga instruções específicas.
Quando usar
- ✓Ao criar um novo servidor para um assistente de IA.
- ✓Ao adicionar novas funcionalidades (ferramentas ou dados) ao servidor.
- ✓Ao resolver problemas com a conexão ou funcionamento do servidor.
Exemplo do que pedir para a IA
“Como configuro meu servidor para que o assistente possa usar uma ferramenta de busca?”
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
Você define 'ferramentas' (ações que a IA pode fazer), 'recursos' (dados que a IA pode ler) e 'prompts' (instruções pré-definidas). O servidor então se conecta ao assistente usando diferentes métodos, como comunicação direta (stdio) ou pela internet (HTTP).
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 affaan-m/ECC --skill mcp-server-patternsOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/affaan-m/ECC/main/pi/core/skills/mcp-server-patterns/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.
Padrões de Servidor MCP
O Model Context Protocol (MCP) permite que assistentes de IA chamem ferramentas, leiam recursos e usem prompts do seu servidor. Use esta habilidade ao construir ou manter servidores MCP. A API do SDK evolui; consulte o Context7 (documentos de consulta para "MCP") ou a documentação oficial do MCP para nomes e assinaturas de métodos atuais.
Para a decisão de roteamento mais ampla sobre quando uma capacidade deve ser uma regra, uma habilidade, MCP ou um fluxo de trabalho simples de CLI/API, consulte docs/capability-surface-selection.md.
Quando Usar
Use quando: implementar um novo servidor MCP, adicionar ferramentas ou recursos, escolher stdio vs HTTP, atualizar o SDK ou depurar problemas de registro e transporte do MCP.
Como Funciona
Conceitos Principais
- Ferramentas: Ações que o modelo pode invocar (por exemplo, pesquisar, executar um comando). Registre com
registerTool()outool()dependendo da versão do SDK. - Recursos: Dados somente leitura que o modelo pode buscar (por exemplo, conteúdo de arquivos, respostas de API). Registre com
registerResource()ouresource(). Os manipuladores geralmente recebem um argumentouri. - Prompts: Modelos de prompt reutilizáveis e parametrizados que o cliente pode expor (por exemplo, no Claude Desktop). Registre com
registerPrompt()ou equivalente. - Transporte: stdio para clientes locais (por exemplo, Claude Desktop); HTTP Streamable é preferível para remotos (Cursor, nuvem). HTTP/SSE legado é para compatibilidade com versões anteriores.
O SDK Node/TypeScript pode expor tool() / resource() ou registerTool() / registerResource(); o SDK oficial mudou ao longo do tempo. Sempre verifique em relação aos documentos do MCP atuais ou ao Context7.
Conectando com stdio
Para clientes locais, crie um transporte stdio e passe-o para o método connect do seu servidor. A API exata varia de acordo com a versão do SDK (por exemplo, construtor vs. fábrica). Consulte a documentação oficial do MCP ou consulte o Context7 para "servidor MCP stdio" para o padrão atual.
Mantenha a lógica do servidor (ferramentas + recursos) independente do transporte para que você possa conectar stdio ou HTTP no ponto de entrada.
Remoto (HTTP Streamable)
Para Cursor, nuvem ou outros clientes remotos, use HTTP Streamable (um único endpoint HTTP MCP por especificação atual). Suporte HTTP/SSE legado apenas quando a compatibilidade com versões anteriores for necessária.
Exemplos
Instalação e configuração do servidor
npm install @modelcontextprotocol/sdk zod
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";
const server = new McpServer({ name: "my-server", version: "1.0.0" });
Registre ferramentas e recursos usando a API que sua versão do SDK fornece: algumas versões usam server.tool(name, description, schema, handler) (argumentos posicionais), outras usam server.tool({ name, description, inputSchema }, handler) ou registerTool(). O mesmo para recursos — inclua um uri no manipulador quando a API o fornecer. Verifique os documentos oficiais do MCP ou o Context7 para as assinaturas @modelcontextprotocol/sdk atuais para evitar erros de copiar e colar.
Use Zod (ou o formato de esquema preferido do SDK) para validação de entrada.
Melhores Práticas
- Schema primeiro: Defina esquemas de entrada para cada ferramenta; documente parâmetros e a forma de retorno.
- Erros: Retorne erros estruturados ou mensagens que o modelo possa interpretar; evite rastreamentos de pilha brutos.
- Idempotência: Prefira ferramentas idempotentes sempre que possível para que as retentativas sejam seguras.
- Taxa e custo: Para ferramentas que chamam APIs externas, considere limites de taxa e custos; documente na descrição da ferramenta.
- Versionamento: Fixe a versão do SDK em package.json; verifique as notas de lançamento ao atualizar.
SDKs e Documentos Oficiais
- JavaScript/TypeScript:
@modelcontextprotocol/sdk(npm). Use o Context7 com o nome da biblioteca "MCP" para padrões atuais de registro e transporte. - Go: SDK oficial Go no GitHub (
modelcontextprotocol/go-sdk). - C#: SDK oficial C# para .NET.
Perguntas frequentes
O que são 'ferramentas'?
São ações que você ensina o assistente de IA a executar, como buscar informações ou rodar um comando.
O que são 'recursos'?
São dados que o assistente de IA pode acessar, como o conteúdo de um arquivo ou a resposta de uma API.
Qual a diferença entre stdio e HTTP?
stdio é para conexões locais (no seu computador), enquanto HTTP é para conexões pela internet, permitindo que o assistente acesse o servidor de qualquer lugar.
Detalhes
Descrição original do autor
Build MCP servers with Node/TypeScript SDK — tools, resources, prompts, Zod validation, stdio vs Streamable HTTP. Use Context7 or official MCP docs for latest API. Use when building or debugging an MCP server — tools, resources, prompts, validation, or transport choice.
repo: affaan-m/ECC
Popularidade
- Estrelas no GitHub
- 280 mil
- Posição no ranking
- #82
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
accessibility
Ajuda seu agente a criar interfaces que todos possam usar. Garante que sites e aplicativos funcionem bem para pessoas com deficiência, como cegos ou com mobilidade reduzida.
affaan-m/ECC
agent-architecture-audit
Faz seu agente verificar se tudo está funcionando corretamente. Ele encontra e conserta problemas em sistemas de IA, garantindo que funcionem como esperado.
affaan-m/ECC
agent-eval
Ajuda seu agente a comparar diferentes ferramentas de programação de IA. Ele mede qual é mais rápido, barato e confiável para realizar tarefas específicas.
affaan-m/ECC
agent-harness-construction
Faz seu agente entender melhor como realizar tarefas. Ele otimiza as ferramentas e instruções que o agente usa para aumentar suas chances de sucesso.
affaan-m/ECC
Skills parecidas
mcp-builder
Ajuda seu agente a criar servidores que conectam LLMs a serviços externos. Essencial para integrar APIs e serviços usando Python ou Node/TypeScript.
anthropics/skills
prepare-mcp-integration
Prepara integrações com fornecedores (MCP) através de pesquisa e aprovação humana. Segue um processo guiado para novas integrações.
paperclipai/paperclip
first-task
Guia o agente na primeira tarefa do usuário. Ele interpreta a resposta inicial, esclarece o objetivo e propõe um plano ou tarefa única para aprovação.
paperclipai/paperclip