{
  "markdown": "# Brazilian Dev MCP\n\nServidor [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) com ferramentas utilitárias para desenvolvedores que trabalham com dados brasileiros — CPF, CNPJ, CEP, telefones, moeda, validações, dados fake e mais.\n\n## Instalação\n\n```bash\ngit clone https://github.com/dan94k/brazilian-dev-mcp.git\ncd brazilian-dev-mcp\nnpm install\n```\n\n## Uso\n\n### Com Claude Desktop\n\nAdicione ao seu `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"brazilian-dev\": {\n      \"command\": \"npx\",\n      \"args\": [\"tsx\", \"caminho/para/brazilian-dev-mcp/src/index.js\"]\n    }\n  }\n}\n```\n\n### Com opencode\n\nAdicione ao seu `opencode.json` (no diretório do projeto ou em `~/.config/opencode/opencode.json`):\n\n```json\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"brazilian-dev\": {\n      \"type\": \"local\",\n      \"command\": [\"npx\", \"tsx\", \"caminho/para/brazilian-dev-mcp/src/index.js\"],\n      \"enabled\": true\n    }\n  }\n}\n```\n\nApós salvar, reinicie o opencode para que as mudanças tenham efeito.\n\n### Com MCP Inspector (desenvolvimento)\n\n```bash\nnpm run dev\n```\n\n## Tools\n\n| Tool | Descrição | Status |\n|------|-----------|--------|\n| `validar_cpf` | Valida se um CPF é válido e retorna o motivo da invalidez | ✅ |\n| `gerar_cpf` | Gera um CPF válido aleatório (módulo 11) | ✅ |\n| `validar_cnpj` | Valida CNPJ (formato numérico e alfanumérico) | ✅ |\n| `gerar_cnpj` | Gera um CNPJ válido aleatório (módulo 11) | ✅ |\n| `consultar_cep` | Consulta endereço pelo CEP na API ViaCEP | ✅ |\n| `validar_cep` | Valida CEP com regex `/^\\d{5}-?\\d{3}$/` | ✅ |\n| `consultar_cotacao` | Consulta cotação de moedas (BRL, USD, EUR) via API AwesomeAPI | ✅ |\n| `validar_email` | Valida e-mail com regex | ⬜ |\n| `validar_url` | Valida URL usando construtor nativo `URL` | ⬜ |\n| `validar_ipv4` | Valida IPv4 (4 octetos de 0-255) | ⬜ |\n| `validar_ipv6` | Valida IPv6 (8 grupos de 4 hex) | ⬜ |\n| `gerar_lorem` | Gera Lorem Ipsum com X palavras | ⬜ |\n| `eh_feriado` | Verifica se uma data é feriado nacional | ⬜ |\n| `eh_dia_util` | Verifica se uma data é dia útil | ⬜ |\n\n## Arquitetura\n\n```\nsrc/\n  index.js              → Entrypoint: cria McpServer, conecta StdioServerTransport\n  registerTools.js      → Registra todas as tools no servidor\n  handlers/             → Um arquivo por tool handler\n    validateCPF.js\n    generateCPF.js\n    validateCNPJ.js\n    generateCNPJ.js\n    validateCEP.js\n    searchCEP.js\n    getCurrencyQuote.js\n```\n\n### Design: Tools independentes\n\nCada tool é **autocontida**. Os handlers não dependem de outros arquivos do projeto — cada um contém toda a lógica necessária para funcionar. Isso significa que **alguns códigos podem estar duplicados** entre handlers, e isso é intencional. O objetivo é:\n\n- **Zero acoplamento:** cada tool pode ser entendida, testada e modificada isoladamente\n- **Facilidade de contribuição:** basta criar um handler novo em `src/handlers/` e registrar em `registerTools.js`\n\n### Convenção de idioma\n\n- **pt-BR (português brasileiro):** tudo que o usuário final vê ou interage — nomes de tools, parâmetros, descrições, mensagens de retorno, propriedades do JSON de resposta.\n- **Inglês:** código interno — variáveis, funções, imports, lógica, nomes de arquivos\n\nExemplo: a tool se chama `validar_cpf`, mas a função interna é `validateCPF`.\n\n## Contribuindo\n\nContribuições são muito bem-vindas! Sinta-se livre para:\n\n- **Implementar novas tools** da lista de planejadas acima\n- **Reportar bugs** via Issues\n- **Sugerir novas funcionalidades** que não estão na lista\n- **Melhorar documentação** ou testes\n\n### Padrões para novas tools\n\n- Handler exporta uma função nomeada (em inglês)\n- Input schema usa `z.object()` do zod\n- Handler retorna `{ content: [{ type: \"text\", text: JSON.stringify(result) }] }`\n- Nomes de tools, parâmetros e descrições em **pt-BR**\n- Código interno em **inglês**\n- Cada handler é independente — não importe outros handlers\n\n## Stack\n\n- **Runtime:** Node.js (ESM)\n- **Execução:** tsx\n- **Schema:** zod\n- **MCP SDK:** @modelcontextprotocol/sdk\n- **Testes:** vitest\n\n## Licença\n\nMIT\n",
  "bytes": 4068,
  "sha": "9936d76db1f0f0a8a0ff0ed262467c3e1aa7d4ac0a3911c8260d5505bae9d943",
  "repo_slug": "dan94k/brazilian-dev-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_dan94k_brazilian_dev_mcp_099a018b/readme"
}