Enables deployment of the server as a Cloudflare Workers application with REST API endpoints, OAuth 2.0 authentication, rate limiting, and global edge distribution for querying Brazilian company and postal code data.
MCP DadosBR 🇧🇷
🤖 Servidor Model Context Protocol (MCP) para consulta de dados empresariais brasileiros — traga informações de CNPJ (empresas) e CEP (endereços) diretamente para Claude Desktop, Cursor, Windsurf, Continue.dev e outros assistentes de IA.
🚀 Deploy multiplataforma: Pacote NPM, Cloudflare Workers, Smithery.
Português
🇧🇷 Servidor MCP para consulta de dados empresariais brasileiros (CNPJ) e validação de endereços (CEP). Integre essas consultas em minutos em Claude Desktop, Cursor, Windsurf, Continue.dev e qualquer cliente compatível com MCP.
⚡ Instalação Rápida
Ou execute diretamente com NPX:
Via Smithery (1 clique)
Deploy em VPS
🔌 Configuração por IDE / Cliente MCP
🤖 Claude Desktop
Localização: ~/Library/Application Support/Claude/claude_desktop_config.json
⚠️ Obrigatório: Configure
TAVILY_API_KEYpara usarcnpj_searchecnpj_intelligence. Obtenha sua chave em tavily.com
🎯 Cursor IDE
🏄 Windsurf IDE
🔄 Continue.dev
Localização: ~/.continue/config.json
🧑💻 Claude Code CLI
Instalação via comando
Verificação:
🤖 Google Gemini CLI
Localização: ~/.config/gemini/mcp_config.json
📦 Codex CLI
🐝 Zed Editor
Localização: ~/.config/zed/settings.json
🦖 Cline (VS Code Extension)
Localização: VS Code Settings > Extensions > Cline > MCP Servers
⚡ Roo Cline
Localização: ~/.roo-cline/mcp-settings.json
🤖 ChatGPT MCP
Para usar com ChatGPT, configure o servidor Cloudflare Workers como endpoint remoto:
Deploy no Cloudflare Workers:
npm run deployConfigure no ChatGPT:
URL do servidor:
https://mcp-dadosbr.your-subdomain.workers.devO ChatGPT detectará automaticamente os endpoints OAuth e MCP
Configure API Key (opcional, via environment variables no Workers):
TAVILY_API_KEY="tvly-your-api-key-here"
APIs REST disponíveis:
GET /cnpj/{cnpj}- Consulta dados de empresaGET /cep/{cep}- Consulta dados de endereçoPOST /search- Busca web inteligentePOST /intelligence- Busca inteligente completaPOST /thinking- Raciocínio estruturado
✅ Teste rápido
🛠️ Ferramentas Disponíveis
🏢
cnpj_lookup— razão social, situação cadastral, endereço, CNAE (fonte: OpenCNPJ)📮
cep_lookup— logradouro, bairro, cidade, UF, DDD (fonte: OpenCEP)🔍
cnpj_search— buscas web com dorks (site:, intext:, filetype:) via Tavily🤔
sequentialthinking— raciocínio estruturado passo a passo🎯
cnpj_intelligence— orquestra múltiplas consultas e gera relatório consolidado com filtros de assertividade
✨ Novidade v0.3.2: Buscas web agora usam Tavily exclusivamente, com filtros automáticos para garantir 100% de precisão nos resultados (valida CNPJ em todos os snippets retornados). Configure
TAVILY_API_KEYobrigatoriamente.
🧪 Testes em Linha de Comando
Servidor HTTP + SSE local
Em outro terminal:
Health check rápido
🌐 Deploy Web (Opcional)
Cloudflare Workers: https://mcp-dadosbr.aredes.me
🔗 REST API:
/cnpj/{cnpj}·/cep/{cep}·/search·/intelligence·/thinking🤖 OpenAPI:
/openapi.json📊 Health:
/health🔐 OAuth 2.0 + API Key Authentication: Protegido contra abuso
⚡ Rate Limiting: 30 req/min por IP (configurável)
Smithery: smithery.yaml para deploy single-click.
🚀 Para ChatGPT MCP
🔒 Segurança (Cloudflare Workers)
API Key Authentication:
Protegidos: Endpoints REST (
/cnpj/*,/cep/*,/search,/intelligence,/thinking)Não protegidos: Protocolo MCP (
/mcp,/sse) - para compatibilidade com AI assistants
Rate Limiting:
Padrão: 30 requisições por minuto por IP
KV-based para escalabilidade
Desativável com
MCP_DISABLE_RATE_LIMIT=true
🔧 Configuração Avançada
Variáveis de Ambiente
Obrigatórias:
TAVILY_API_KEY- Chave da API Tavily para buscas web (obtenha aqui)
Opcionais:
MCP_TRANSPORT- Modo de transporte:stdio(padrão) ouhttpMCP_HTTP_PORT- Porta do servidor HTTP (padrão:3000)MCP_API_KEY- Chave de API para autenticação dos endpoints RESTMCP_DISABLE_RATE_LIMIT- Desabilitar rate limiting (padrão:false)MAX_QUERIES- Número máximo de queries de busca (padrão:10)MAX_RESULTS- Resultados máximos por query (padrão:5)CNPJ_API_BASE_URL- Endpoint customizado da API de CNPJ (padrão: OpenCNPJ)CEP_API_BASE_URL- Endpoint customizado da API de CEP (padrão: OpenCEP)
Arquivo de Configuração
Crie .mcprc.json no diretório do seu projeto:
📚 Documentação
Guia de Navegação - 🧭 Encontre rapidamente o que procura
Guia de Configuração - Referência completa de configuração
Exemplos de Uso - Exemplos práticos de uso
Integração com Clientes MCP - Guias de configuração de IDEs
Deploy no Cloudflare - Deploy em produção
Provedores de Busca - Comparação de provedores
Guia para Agentes - Guia para agentes de IA
Documentação Completa PT-BR - Documentação completa em português
💼 Casos de Uso
Due diligence e compliance - Verificar registro empresarial e situação legal
E-commerce e logística - Validação e verificação de endereços
Pesquisa jurídica - Processos judiciais, portais gov.br via dorks
Atendimento ao cliente e CRM - Verificação de cadastro e enriquecimento de dados
Análise financeira - Checagem de antecedentes e investigação de empresas
Vendas e marketing - Enriquecimento e validação de leads
🎯 Exemplos de Prompts
Consulta Básica de CNPJ:
Validação de Endereço:
Investigação de Intelligence:
Análise Estruturada:
🧬 Arquitetura
Componentes Principais
Adapters (
lib/adapters/) - Implementações específicas de plataforma (CLI, Cloudflare, Smithery)Core (
lib/core/) - Lógica de negócio (ferramentas, busca, intelligence, validação)Infrastructure (
lib/infrastructure/) - Preocupações transversais (cache, circuit breaker, rate limiting, logging)Workers (
lib/workers/) - Implementação do Cloudflare WorkersTypes (
lib/types/) - Definições de tipos TypeScript
Padrões de Design
Adapter Pattern - Suporte a deploy multiplataforma
Circuit Breaker - Proteção contra falhas de API e resiliência
Result Pattern - Tratamento funcional de erros sem exceções
Repository Pattern - Camada abstrata de acesso a dados
Strategy Pattern - Provedores de busca plugáveis
Stack Tecnológica
Linguagem: TypeScript (modo estrito)
Runtime: Node.js 18+
Servidor HTTP: Express 5.x
MCP SDK: @modelcontextprotocol/sdk, @genkit-ai/mcp
Busca: API Tavily
Deploy: Cloudflare Workers, NPM, Smithery
Testes: Vitest (88 testes unitários, 100% de aprovação)
🤝 Contribuição & Lançamentos
Recebemos contribuições de desenvolvedores do mundo todo!
Guia de Contribuição - Como contribuir (Português & Inglês)
Guia de Lançamentos - Processo de release e versionamento
Tokens CI/CD: Veja
docs/GITHUB_SECRETS_SETUP.md
Setup de Desenvolvimento
✨ Funcionalidades
✅ 5 ferramentas MCP - Consulta CNPJ, consulta CEP, busca web, intelligence, sequential thinking
✅ Multiplataforma - NPM, Cloudflare Workers, Smithery
✅ Pronto para produção - Circuit breaker, rate limiting, caching, monitoramento
✅ Type-safe - TypeScript completo com modo estrito
✅ Bem testado - 88 testes unitários, testes de integração abrangentes
✅ Bem documentado - Documentação completa em Português e Inglês
✅ Compatível com LGPD - Mascaramento de PII em logs
✅ Escalável - Cloudflare Workers com deploy global na edge
✅ Seguro - Autenticação por API key, rate limiting, proteção CORS
✅ Developer-friendly - Configuração simples, ótima DX
📊 Métricas de Qualidade
Cobertura de Testes: ~60%
Testes Unitários: 88 testes, 100% de aprovação
TypeScript: Modo estrito habilitado
Qualidade de Código: ESLint, Prettier
Suporte a Plataformas: Node.js 18+, Cloudflare Workers
Documentação: 15+ guias em 2 idiomas
📄 Licença & Créditos
👨💻 Mantenedor
🌐 Links
Pacote NPM: https://www.npmjs.com/package/@aredes.me/mcp-dadosbr
Smithery: https://smithery.ai/server/@cristianoaredes/mcp-dadosbr
API Live: https://mcp-dadosbr.aredes.me
Issues: https://github.com/cristianoaredes/mcp-dadosbr/issues
Discussões: https://github.com/cristianoaredes/mcp-dadosbr/discussions
English
🤖 Model Context Protocol server for Brazilian company (CNPJ) and postal code (CEP) data. Integrate verified business data into Claude Desktop, Cursor, Windsurf, Continue.dev and any MCP-compatible AI assistant in minutes.
⚡ Quick Install
Or run directly with NPX:
Via Smithery (1-click install)
Deploy to VPS
🔌 IDE / MCP Client Configuration
🤖 Claude Desktop
Location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
⚠️ Required: Set
TAVILY_API_KEYto usecnpj_searchandcnpj_intelligence. Get your key at tavily.com
🎯 Cursor IDE
Location: ~/.cursor/config.json
🏄 Windsurf IDE
Location: ~/.windsurf/config.json
🔄 Continue.dev
Location: ~/.continue/config.json
🧑💻 Claude Code CLI
Installation via
Verification:
🤖 Google Gemini CLI
Location: ~/.config/gemini/mcp_config.json
📦 Codex CLI
🐝 Zed Editor
Location: ~/.config/zed/settings.json
🦖 Cline (VS Code Extension)
Location: VS Code Settings > Extensions > Cline > MCP Servers
⚡ Roo Cline
Location: ~/.roo-cline/mcp-settings.json
🤖 ChatGPT MCP
To use with ChatGPT, configure the Cloudflare Workers server as a remote endpoint:
Deploy to Cloudflare Workers:
npm run deployConfigure in ChatGPT:
Server URL:
https://mcp-dadosbr.your-subdomain.workers.devChatGPT will automatically detect OAuth and MCP endpoints
Configure API Key (optional, via Workers environment variables):
wrangler secret put TAVILY_API_KEY
Available REST APIs:
GET /cnpj/{cnpj}- Query company dataGET /cep/{cep}- Query address dataPOST /search- Intelligent web searchPOST /intelligence- Complete intelligence searchPOST /thinking- Structured reasoning
✅ Quick test
🛠️ Available Tools
🏢
cnpj_lookup— Company name, tax status, address, CNAE code (source: OpenCNPJ)📮
cep_lookup— Street, neighborhood, city, state, area code (source: OpenCEP)🔍
cnpj_search— Web searches with dorks (site:, intext:, filetype:) via Tavily🤔
sequentialthinking— Structured step-by-step reasoning🎯
cnpj_intelligence— Orchestrates multiple queries and generates consolidated report with accuracy filters
✨ New in v0.3.2: Web searches now use Tavily exclusively, with automatic filters ensuring 100% accuracy (validates CNPJ in all returned snippets).
TAVILY_API_KEYis required.
🧪 Command Line Testing
Local HTTP + SSE server
In another terminal:
Quick health check
🌐 Web Deployment (Optional)
Cloudflare Workers: https://mcp-dadosbr.aredes.me
🔗 REST API:
/cnpj/{cnpj}·/cep/{cep}·/search·/intelligence·/thinking🤖 OpenAPI:
/openapi.json📊 Health:
/health🔐 OAuth 2.0 + API Key Authentication: Protected against abuse
⚡ Rate Limiting: 30 req/min per IP (configurable)
Smithery: smithery.yaml for single-click deployment.
🚀 For ChatGPT MCP
🔒 Security (Cloudflare Workers)
API Key Authentication:
Protected: REST endpoints (
/cnpj/*,/cep/*,/search,/intelligence,/thinking)Unprotected: MCP protocol (
/mcp,/sse) - for AI assistant compatibility
Rate Limiting:
Default: 30 requests per minute per IP
KV-based for scalability
Disable with
MCP_DISABLE_RATE_LIMIT=true
🔧 Advanced Configuration
Environment Variables
Required:
TAVILY_API_KEY- Tavily API key for web searches (get it here)
Optional:
MCP_TRANSPORT- Transport mode:stdio(default) orhttpMCP_HTTP_PORT- HTTP server port (default:3000)MCP_API_KEY- API key for REST endpoint authenticationMCP_DISABLE_RATE_LIMIT- Disable rate limiting (default:false)MAX_QUERIES- Maximum number of search queries (default:10)MAX_RESULTS- Maximum results per query (default:5)CNPJ_API_BASE_URL- Custom CNPJ API endpoint (default: OpenCNPJ)CEP_API_BASE_URL- Custom CEP API endpoint (default: OpenCEP)
Configuration File
Create .mcprc.json in your project directory:
📚 Documentation
Navigation Guide - 🧭 Quickly find what you're looking for
Configuration Guide - Complete configuration reference
Usage Examples - Real-world usage examples
MCP Client Integration - IDE setup guides
Cloudflare Deployment - Deploy to production
Search Providers - Search provider comparison
Agent Development Guide - Guide for AI agents
Complete PT-BR Documentation - Documentação completa em português
💼 Use Cases
Due diligence and compliance - Verify company registration and legal status
E-commerce and logistics - Address validation and verification
Legal research - Court records, government portals via dorks
Customer service and CRM - Registration verification and data enrichment
Financial analysis - Company background checks and investigation
Sales and marketing - Lead enrichment and validation
🎯 Example Prompts
Basic CNPJ Lookup:
Address Validation:
Intelligence Investigation:
Structured Analysis:
🧬 Architecture
Core Components
Adapters (
lib/adapters/) - Platform-specific implementations (CLI, Cloudflare, Smithery)Core (
lib/core/) - Business logic (tools, search, intelligence, validation)Infrastructure (
lib/infrastructure/) - Cross-cutting concerns (cache, circuit breaker, rate limiting, logging)Workers (
lib/workers/) - Cloudflare Workers implementationTypes (
lib/types/) - TypeScript type definitions
Design Patterns
Adapter Pattern - Multi-platform deployment support
Circuit Breaker - API failure protection and resilience
Result Pattern - Functional error handling without exceptions
Repository Pattern - Abstract data access layer
Strategy Pattern - Pluggable search providers
Technology Stack
Language: TypeScript (strict mode)
Runtime: Node.js 18+
HTTP Server: Express 5.x
MCP SDK: @modelcontextprotocol/sdk, @genkit-ai/mcp
Search: Tavily API
Deployment: Cloudflare Workers, NPM, Smithery
Testing: Vitest (88 unit tests, 100% pass rate)
🤝 Contributing & Releases
We welcome contributions from developers worldwide!
Contributing Guide - How to contribute (English & Portuguese)
Release Guide - Release process and versioning
CI/CD Tokens: See
docs/GITHUB_SECRETS_SETUP.md
Development Setup
✨ Features
✅ 5 MCP tools - CNPJ lookup, CEP lookup, web search, intelligence, sequential thinking
✅ Multi-platform - NPM, Cloudflare Workers, Smithery
✅ Production-ready - Circuit breaker, rate limiting, caching, monitoring
✅ Robust SSE - Heartbeat (30s), timeout management (50s), graceful shutdown
✅ Type-safe - Full TypeScript with strict mode
✅ Well-tested - 88 unit tests, comprehensive integration tests
✅ Well-documented - Complete docs in Portuguese and English
✅ LGPD compliant - PII masking in logs
✅ Scalable - Cloudflare Workers with global edge deployment
✅ Secure - API key authentication, rate limiting, CORS protection
✅ Developer-friendly - Simple setup, great DX
📊 Quality Metrics
Test Coverage: ~60%
Unit Tests: 88 tests, 100% pass rate
TypeScript: Strict mode enabled
Code Quality: ESLint, Prettier
Platform Support: Node.js 18+, Cloudflare Workers
Documentation: 15+ guides in 2 languages
📝 License & Credits
License: MIT License — see LICENSE
Data Sources:
👨💻 Maintainer
🌐 Links
NPM Package: https://www.npmjs.com/package/@aredes.me/mcp-dadosbr
Smithery: https://smithery.ai/server/@cristianoaredes/mcp-dadosbr
Live API: https://mcp-dadosbr.aredes.me
Issues: https://github.com/cristianoaredes/mcp-dadosbr/issues
Discussions: https://github.com/cristianoaredes/mcp-dadosbr/discussions
Made with ❤️ for the Brazilian developer community 🇧🇷