npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@aredes.me/mcp-dadosbr

v0.3.6

Published

Model Context Protocol server for Brazilian public data lookup (CNPJ companies and CEP postal codes) with intelligent web search and sequential thinking

Downloads

168

Readme

MCP DadosBR 🇧🇷

smithery badge npm version npm downloads TypeScript Cloudflare Workers License: MIT

🤖 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 | English


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

npm install -g @aredes.me/mcp-dadosbr

Ou execute diretamente com NPX:

npx @aredes.me/mcp-dadosbr

Via Smithery (1 clique)

npx -y @smithery/cli install @cristianoaredes/mcp-dadosbr --client claude

Deploy em VPS

Deploy to Hostinger VPS

🔌 Configuração por IDE / Cliente MCP

🤖 Claude Desktop

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Localização: ~/Library/Application Support/Claude/claude_desktop_config.json

⚠️ Obrigatório: Configure TAVILY_API_KEY para usar cnpj_search e cnpj_intelligence. Obtenha sua chave em tavily.com

🎯 Cursor IDE

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

🏄 Windsurf IDE

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

🔄 Continue.dev

{
  "mcpServers": [
    {
      "name": "dadosbr",
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  ]
}

Localização: ~/.continue/config.json

🧑‍💻 Claude Code CLI

Instalação via comando claude mcp add:

# Opção 1: Servidor local stdio (recomendado para desenvolvimento)
claude mcp add --transport stdio dadosbr \
  --env TAVILY_API_KEY=tvly-your-api-key-here \
  -- npx -y @aredes.me/mcp-dadosbr

# Opção 2: Servidor HTTP remoto (Cloudflare Workers)
claude mcp add --transport http dadosbr \
  https://mcp-dadosbr.aredes.me/mcp

Verificação:

# Listar servidores MCP configurados
claude mcp list

# Remover se necessário
claude mcp remove dadosbr

🤖 Google Gemini CLI

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Localização: ~/.config/gemini/mcp_config.json

📦 Codex CLI

# Configurar no .codexrc
codex mcp add dadosbr npx @aredes.me/mcp-dadosbr

# Ou via environment
export CODEX_MCP_SERVERS='{"dadosbr":{"command":"npx","args":["@aredes.me/mcp-dadosbr"],"env":{"TAVILY_API_KEY":"tvly-xxx"}}}'

🐝 Zed Editor

{
  "context_servers": {
    "dadosbr": {
      "command": {
        "path": "npx",
        "args": ["@aredes.me/mcp-dadosbr"]
      },
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Localização: ~/.config/zed/settings.json

🦖 Cline (VS Code Extension)

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Localização: VS Code Settings > Extensions > Cline > MCP Servers

⚡ Roo Cline

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Localização: ~/.roo-cline/mcp-settings.json

🤖 ChatGPT MCP

Para usar com ChatGPT, configure o servidor Cloudflare Workers como endpoint remoto:

  1. Deploy no Cloudflare Workers: npm run deploy
  2. Configure no ChatGPT:
    • URL do servidor: https://mcp-dadosbr.your-subdomain.workers.dev
    • O ChatGPT detectará automaticamente os endpoints OAuth e MCP
  3. 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 empresa
  • GET /cep/{cep} - Consulta dados de endereço
  • POST /search - Busca web inteligente
  • POST /intelligence - Busca inteligente completa
  • POST /thinking - Raciocínio estruturado

✅ Teste rápido

Pode consultar o CNPJ 11.222.333/0001-81?

🛠️ 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_KEY obrigatoriamente.

🧪 Testes em Linha de Comando

Servidor HTTP + SSE local

npm run build
TAVILY_API_KEY="tvly-xxx" MCP_TRANSPORT=http MCP_HTTP_PORT=3000 node build/lib/adapters/cli.js

Em outro terminal:

TAVILY_API_KEY="tvly-xxx" node scripts/mcp-client.js list-tools
TAVILY_API_KEY="tvly-xxx" node scripts/mcp-client.js cnpj 28526270000150
TAVILY_API_KEY="tvly-xxx" MAX_QUERIES=3 MAX_RESULTS=3 node scripts/mcp-client.js intelligence 28526270000150

Health check rápido

curl -i https://mcp-dadosbr.aredes.me/health

🌐 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

# 1. Deploy no Cloudflare
npm run build
npm run deploy

# 2. Configure no ChatGPT:
# - Server URL: https://your-subdomain.workers.dev
# - O ChatGPT detectará automaticamente OAuth + MCP endpoints

🔒 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
# Configure API key
wrangler secret put MCP_API_KEY

# Use via headers (apenas para endpoints REST):
curl -H "X-API-Key: your-key" https://mcp-dadosbr.aredes.me/cnpj/11222333000181
# ou
curl -H "Authorization: Bearer your-key" https://mcp-dadosbr.aredes.me/cnpj/11222333000181

# Endpoints MCP não precisam de autenticação:
curl -X POST https://mcp-dadosbr.aredes.me/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

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) ou http
  • MCP_HTTP_PORT - Porta do servidor HTTP (padrão: 3000)
  • MCP_API_KEY - Chave de API para autenticação dos endpoints REST
  • MCP_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:

{
  "tavilyApiKey": "tvly-sua-chave-api",
  "transport": "http",
  "httpPort": 3000,
  "cnpjBaseUrl": "https://open.cnpja.com/office/",
  "cepBaseUrl": "https://opencep.com/v1/"
}

📚 Documentação

💼 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:

Pode consultar o CNPJ 11.222.333/0001-81 e me dizer sobre essa empresa?

Validação de Endereço:

O CEP 01310-100 é válido? Qual é o endereço?

Investigação de Intelligence:

Use cnpj_intelligence para fazer uma investigação completa sobre o CNPJ 11.222.333/0001-81.
Preciso de informações sobre processos judiciais, notícias e registros governamentais.

Análise Estruturada:

Use sequential thinking para planejar e executar uma investigação de due diligence
para o CNPJ 11.222.333/0001-81. Inclua dados da empresa, pesquisa jurídica
e análise de presença online.

🧬 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 Workers
  • Types (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!

Setup de Desenvolvimento

# Clonar repositório
git clone https://github.com/cristianoaredes/mcp-dadosbr.git
cd mcp-dadosbr

# Instalar dependências
npm install

# Build
npm run build

# Executar testes
npm test

# Executar em modo desenvolvimento
npm run dev

✨ 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

| Cristiano Aredes | | ------------------------------------------------------------------------------ | | LinkedIn · [email protected] |

🌐 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
  • GitHub: https://github.com/cristianoaredes/mcp-dadosbr
  • 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

npm install -g @aredes.me/mcp-dadosbr

Or run directly with NPX:

npx @aredes.me/mcp-dadosbr

Via Smithery (1-click install)

npx -y @smithery/cli install @cristianoaredes/mcp-dadosbr --client claude

Deploy to VPS

Deploy to Hostinger VPS

🔌 IDE / MCP Client Configuration

🤖 Claude Desktop

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Location: ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

⚠️ Required: Set TAVILY_API_KEY to use cnpj_search and cnpj_intelligence. Get your key at tavily.com

🎯 Cursor IDE

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Location: ~/.cursor/config.json

🏄 Windsurf IDE

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Location: ~/.windsurf/config.json

🔄 Continue.dev

{
  "mcpServers": [
    {
      "name": "dadosbr",
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  ]
}

Location: ~/.continue/config.json

🧑‍💻 Claude Code CLI

Installation via claude mcp add command:

# Option 1: Local stdio server (recommended for development)
claude mcp add --transport stdio dadosbr \
  --env TAVILY_API_KEY=tvly-your-api-key-here \
  -- npx -y @aredes.me/mcp-dadosbr

# Option 2: Remote HTTP server (Cloudflare Workers)
claude mcp add --transport http dadosbr \
  https://mcp-dadosbr.aredes.me/mcp

Verification:

# List configured MCP servers
claude mcp list

# Remove if needed
claude mcp remove dadosbr

🤖 Google Gemini CLI

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Location: ~/.config/gemini/mcp_config.json

📦 Codex CLI

# Configure in .codexrc
codex mcp add dadosbr npx @aredes.me/mcp-dadosbr

# Or via environment
export CODEX_MCP_SERVERS='{"dadosbr":{"command":"npx","args":["@aredes.me/mcp-dadosbr"],"env":{"TAVILY_API_KEY":"tvly-xxx"}}}'

🐝 Zed Editor

{
  "context_servers": {
    "dadosbr": {
      "command": {
        "path": "npx",
        "args": ["@aredes.me/mcp-dadosbr"]
      },
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Location: ~/.config/zed/settings.json

🦖 Cline (VS Code Extension)

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Location: VS Code Settings > Extensions > Cline > MCP Servers

⚡ Roo Cline

{
  "mcpServers": {
    "dadosbr": {
      "command": "npx",
      "args": ["@aredes.me/mcp-dadosbr"],
      "env": {
        "TAVILY_API_KEY": "tvly-your-api-key-here"
      }
    }
  }
}

Location: ~/.roo-cline/mcp-settings.json

🤖 ChatGPT MCP

To use with ChatGPT, configure the Cloudflare Workers server as a remote endpoint:

  1. Deploy to Cloudflare Workers: npm run deploy
  2. Configure in ChatGPT:
    • Server URL: https://mcp-dadosbr.your-subdomain.workers.dev
    • ChatGPT will automatically detect OAuth and MCP endpoints
  3. Configure API Key (optional, via Workers environment variables):
    wrangler secret put TAVILY_API_KEY

Available REST APIs:

  • GET /cnpj/{cnpj} - Query company data
  • GET /cep/{cep} - Query address data
  • POST /search - Intelligent web search
  • POST /intelligence - Complete intelligence search
  • POST /thinking - Structured reasoning

✅ Quick test

Can you look up CNPJ 11.222.333/0001-81?

🛠️ 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_KEY is required.

🧪 Command Line Testing

Local HTTP + SSE server

npm run build
TAVILY_API_KEY="tvly-xxx" MCP_TRANSPORT=http MCP_HTTP_PORT=3000 node build/lib/adapters/cli.js

In another terminal:

TAVILY_API_KEY="tvly-xxx" node scripts/mcp-client.js list-tools
TAVILY_API_KEY="tvly-xxx" node scripts/mcp-client.js cnpj 28526270000150
TAVILY_API_KEY="tvly-xxx" MAX_QUERIES=3 MAX_RESULTS=3 node scripts/mcp-client.js intelligence 28526270000150

Quick health check

curl -i https://mcp-dadosbr.aredes.me/health

🌐 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

# 1. Deploy to Cloudflare
npm run build
npm run deploy

# 2. Configure in ChatGPT:
# - Server URL: https://your-subdomain.workers.dev
# - ChatGPT will automatically detect OAuth + MCP endpoints

🔒 Security (Cloudflare Workers)

API Key Authentication:

  • Protected: REST endpoints (/cnpj/*, /cep/*, /search, /intelligence, /thinking)
  • Unprotected: MCP protocol (/mcp, /sse) - for AI assistant compatibility
# Configure API key
wrangler secret put MCP_API_KEY

# Use via headers (REST endpoints only):
curl -H "X-API-Key: your-key" https://mcp-dadosbr.aredes.me/cnpj/11222333000181
# or
curl -H "Authorization: Bearer your-key" https://mcp-dadosbr.aredes.me/cnpj/11222333000181

# MCP endpoints don't require authentication:
curl -X POST https://mcp-dadosbr.aredes.me/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

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) or http
  • MCP_HTTP_PORT - HTTP server port (default: 3000)
  • MCP_API_KEY - API key for REST endpoint authentication
  • MCP_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:

{
  "tavilyApiKey": "tvly-your-api-key",
  "transport": "http",
  "httpPort": 3000,
  "cnpjBaseUrl": "https://open.cnpja.com/office/",
  "cepBaseUrl": "https://opencep.com/v1/"
}

📚 Documentation

💼 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:

Can you look up CNPJ 11.222.333/0001-81 and tell me about this company?

Address Validation:

Is CEP 01310-100 a valid postal code? What's the address?

Intelligence Investigation:

Use cnpj_intelligence to do a complete investigation on CNPJ 11.222.333/0001-81. 
I need information about legal cases, news, and government records.

Structured Analysis:

Use sequential thinking to plan and execute a due diligence investigation 
for CNPJ 11.222.333/0001-81. Include company data, legal research, 
and online presence 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 implementation
  • Types (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!

Development Setup

# Clone repository
git clone https://github.com/cristianoaredes/mcp-dadosbr.git
cd mcp-dadosbr

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run in development mode
npm run dev

✨ 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
  • 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

| Cristiano Aredes | | ------------------------------------------------------------------------------ | | LinkedIn · [email protected] |

🌐 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
  • GitHub: https://github.com/cristianoaredes/mcp-dadosbr
  • Issues: https://github.com/cristianoaredes/mcp-dadosbr/issues
  • Discussions: https://github.com/cristianoaredes/mcp-dadosbr/discussions

Made with ❤️ for the Brazilian developer community 🇧🇷