Our review
This guide covers principles for designing and building MCP (Model Context Protocol) servers to connect AI assistants with external tools and data sources.
Strengths
- Comprehensive coverage of server architecture, transports, and tool design.
- Concrete examples of input schemas and error handling.
- Easy-to-follow best practices checklist.
Limitations
- Does not delve into advanced server scenarios (authentication, scaling).
- Lacks full code examples for each transport type.
- Focuses on server-side, not client-side MCP usage.
Best for starting a new MCP server or refactoring an existing one with sound practices.
Avoid if you need step-by-step tutorials for specific integrations (e.g., Slack, databases).
Security analysis
SafeThe skill contains only educational documentation on building MCP servers; no dangerous commands or actions are instructed.
No concerns found
Examples
Create a new MCP server project with a tool that returns current weather for a given city. Use TypeScript, stdio transport, and proper input validation. Include README and package.json.Add a resource that provides user profile data given a user ID. Use URI pattern users://{userId} and return structured JSON.I have an MCP server that returns an internal error when calling my tool. Help me implement proper error handling: validate inputs, return structured errors, and log details without exposing internals.name: mcp-builder description: Princípios de construção de servidores MCP (Model Context Protocol). Design de ferramentas, padrões de recursos e melhores práticas. allowed-tools: Read, Write, Edit, Glob, Grep
Construtor de MCP
Princípios para construção de servidores MCP.
1. Visão Geral do MCP
O que é MCP?
Model Context Protocol - um padrão para conectar sistemas de IA com ferramentas externas e fontes de dados.
Conceitos Centrais
| Conceito | Propósito | | :--- | :--- | | Ferramentas (Tools) | Funções que a IA pode chamar | | Recursos (Resources) | Dados que a IA pode ler | | Prompts | Templates de prompt pré-definidos |
2. Arquitetura do Servidor
Estrutura do Projeto
meu-servidor-mcp/
├── src/
│ └── index.ts # Entrada principal
├── package.json
└── tsconfig.json
Tipos de Transporte
| Tipo | Uso | | :--- | :--- | | Stdio | Local, baseado em CLI | | SSE | Baseado na web, streaming | | WebSocket | Tempo real, bidirecional |
3. Princípios de Design de Ferramentas
Bom Design de Ferramenta
| Princípio | Descrição | | :--- | :--- | | Nome claro | Orientado à ação (get_weather, create_user) | | Propósito único | Faz uma coisa bem feita | | Entrada validada | Schema com tipos e descrições | | Saída estruturada | Formato de resposta previsível |
Design de Schema de Entrada
| Campo | Obrigatório? | | :--- | :--- | | Tipo (Type) | Sim - object | | Propriedades | Define cada parâmetro | | Obrigatório | Lista parâmetros mandatórios | | Descrição | Legível para humanos |
4. Padrões de Recursos
Tipos de Recurso
| Tipo | Uso | | :--- | :--- | | Estático | Dados fixos (config, docs) | | Dinâmico | Gerado sob demanda | | Template | URI com parâmetros |
Padrões de URI
| Padrão | Exemplo |
| :--- | :--- |
| Fixo | docs://readme |
| Parametrizado | users://{userId} |
| Coleção | files://projeto/* |
5. Tratamento de Erros
Tipos de Erro
| Situação | Resposta | | :--- | :--- | | Parâmetros inválidos | Mensagem de erro de validação | | Não encontrado | Mensagem clara de "não encontrado" | | Erro do servidor | Erro genérico, logar detalhes |
Melhores Práticas
- Retorne erros estruturados.
- Não exponha detalhes internos.
- Logue para fins de depuração.
- Forneça mensagens acionáveis.
6. Tratamento Multimodal
Tipos Suportados
| Tipo | Codificação | | :--- | :--- | | Texto | Texto simples (Plain text) | | Imagens | Base64 + tipo MIME | | Arquivos | Base64 + tipo MIME |
7. Princípios de Segurança
Validação de Entrada
- Valide todas as entradas de ferramentas.
- Higienize (sanitize) os dados fornecidos pelo usuário.
- Limite o acesso aos recursos.
Chaves de API
- Use variáveis de ambiente.
- Não logue segredos.
- Valide permissões.
8. Configuração
Configuração do Claude Desktop
| Campo | Propósito | | :--- | :--- | | command | Executável a ser rodado | | args | Argumentos do comando | | env | Variáveis de ambiente |
9. Testes
Categorias de Teste
| Tipo | Foco | | :--- | :--- | | Unitário | Lógica da ferramenta | | Integração | Servidor completo | | Contrato | Validação de schema |
10. Checklist de Melhores Práticas
- [ ] Nomes de ferramentas claros e orientados à ação.
- [ ] Schemas de entrada completos com descrições.
- [ ] Saída JSON estruturada.
- [ ] Tratamento de erros para todos os casos.
- [ ] Validação de entradas.
- [ ] Configuração baseada em ambiente.
- [ ] Logging para depuração.
Lembre-se: As ferramentas MCP devem ser simples, focadas e bem documentadas. A IA depende das descrições para usá-las corretamente.
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.