Como criar um MCP Server
Guia prático de ponta a ponta. Conteúdo expandido em breve — versão completa disponível no GitHub do obsidian-mcp-secure como referência de implementação.
Em construção
Esta página será expandida com o manual completo (escolha de linguagem, setup de projeto, segurança OWASP aplicada a MCP, publicação no npm + Registry oficial, DXT package, e as 10 armadilhas mais comuns).
Por enquanto, o obsidian-mcp-secure serve como referência de estrutura completa:
- Repo: https://github.com/dewtech-technologies/obsidian-mcp-secure
- README com posicionamento + arquitetura + OWASP table
server.jsonpara publicação no MCP Registry- Workflow CI/CD compatível com Oracle Kubernetes Engine
🧭 O que é MCP
Model Context Protocol é um padrão aberto da Anthropic (final de 2024) que define como clientes de IA (Claude Desktop, Cursor, Cline, outros) se conectam a fontes externas de dados e ferramentas. Um servidor MCP expõe Tools (funções chamáveis), Resources (dados leíveis) e/ou Prompts (templates).
🎯 Quando faz sentido criar um servidor
- Você tem fonte de dados interna (ERP, banco, API, sistema de arquivos) que seu assistente de IA deveria consultar
- Quer expor um subconjunto seguro de capacidades (vs shell aberto)
- Precisa que acesso seja auditável e controlado
- Quer distribuir a integração (open source ou interno)
Não precisa criar se já existe um MCP oficial ou comunitário que resolve o problema. Procure no registry oficial antes.
🛠️ Roadmap mínimo
1. Escolher linguagem (TypeScript / Python / Go / Rust)
2. Scaffold com SDK oficial (@modelcontextprotocol/sdk)
3. Implementar 1 tool com Zod validation
4. Adicionar audit log e controles OWASP
5. Testar local com Claude Desktop
6. Publicar no npm
7. Registrar no MCP Registry oficial (mcpName + server.json + mcp-publisher)
8. Criar GitHub Release
9. Anunciar e coletar feedback📚 Referências
- Documentação oficial MCP
- SDK TypeScript
- SDK Python
- Registry oficial
- MCP Inspector (debug local)
- awesome-mcp-servers (listagem comunitária)
🧪 Caso de estudo
obsidian-mcp-secure foi construído seguindo esse exato roadmap, com as armadilhas resolvidas em ordem cronológica:
- v1.0.0 — release inicial (8 horas após scaffold)
- v1.0.1 — adicionar
mcpName(exigência do Registry — não documentada no SDK) - v1.0.2 — fix shebang corrompido por
echo -emal escapado - v1.0.3 — fix
search_notesenviando query no body errado - v1.0.4 — fix conteúdo de notas indo como JSON em vez de
text/markdown
Cada versão expõe uma armadilha real que vale registrar pra próximos MCPs.
