mcp-brasil
This MCP server provides read-only access to Brazilian public data and local document validation through 14 tools.
Look up Brazilian postal addresses by CEP, including coordinates when available.
Query CNPJ company data from Receita Federal, including status, CNAE, size, Simples/MEI, and partners.
Validate CPF/CNPJ locally, including alphanumeric CNPJ, without internet.
Search banks by COMPE code or name and return ISPB details.
Retrieve current Selic, CDI, and IPCA rates.
List national holidays and calculate business days or deadlines, excluding weekends and national holidays.
Look up DDD region/cities and list IBGE municipalities by state with optional name filtering.
Query FIPE vehicle brands and prices for cars, motorcycles, and trucks.
Check .br domain availability via Registro.br.
Look up book details by ISBN-10 or ISBN-13.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-brasil O CNPJ 00.000.000/0001-91 está ativo?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🇧🇷 mcp-brasil
Servidor MCP que dá ao Claude, ao Cursor e a qualquer agente de IA acesso a dados públicos do Brasil: CEP, CNPJ, bancos, feriados, dias úteis, Tabela FIPE, DDD, Selic/CDI/IPCA, municípios do IBGE, domínios .br e ISBN.
Os dados vêm da BrasilAPI. O projeto não usa nenhuma dependência de runtime, implementa o protocolo diretamente e valida o CNPJ alfanumérico que a Receita Federal adotou em 2026.
Você: Quantos dias úteis tenho entre hoje e o Natal? E a empresa 00.000.000/0001-91 está ativa?
Claude: → calcular_dias_uteis(2026-11-11, 2026-12-25)
→ consultar_cnpj(00000000000191)
São 31 dias úteis (descontei 20/11 e 25/12). O Banco do Brasil S.A. está com situação ATIVA desde...Ferramentas
Ferramenta | O que faz | Internet |
| Endereço completo de um CEP, com coordenadas quando houver | ✅ |
| Razão social, situação, CNAE, porte, Simples/MEI e sócios | ✅ |
| Valida CPF/CNPJ (inclusive o alfanumérico) e formata | — |
| Banco por código COMPE ou nome (ignora acentos) | ✅ |
| Selic, CDI e IPCA atuais | ✅ |
| Feriados do ano com o dia da semana | ✅ |
| Dias úteis entre duas datas, descontando feriados nacionais | ✅ |
| Data final de um prazo de N dias úteis ou corridos (com prorrogação) | ✅ |
| UF e cidades de um DDD | ✅ |
| Municípios de uma UF com o código IBGE | ✅ |
| Marcas de carros, motos e caminhões | ✅ |
| Preço FIPE por código e ano-modelo | ✅ |
| Disponibilidade de domínio .br no Registro.br | ✅ |
| Dados de um livro pelo ISBN | ✅ |
Todas as ferramentas são somente leitura e trazem as anotações readOnlyHint e openWorldHint. Por isso, os clientes podem aprová-las sem pedir confirmação a cada chamada.
Related MCP server: brasilapi-mcp
Instalação
Precisa de Node.js 20 ou mais recente.
Claude Code
claude mcp add brasil -- npx -y mcp-brasilClaude Desktop
Adicione ao claude_desktop_config.json (em Settings → Developer → Edit Config):
{
"mcpServers": {
"brasil": {
"command": "npx",
"args": ["-y", "mcp-brasil"]
}
}
}Cursor / Windsurf / VS Code
Use a mesma configuração acima em .cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json ou .vscode/mcp.json (no VS Code, a chave é servers).
Configuração
Variável | Padrão | Descrição |
|
| Para usar um espelho ou uma instância própria |
|
| Timeout por requisição |
|
| Cache em memória (5 min); |
Exemplos de prompts
"Valide esses CNPJs e me diga quais estão ativos: …"
"Qual o vencimento de 15 dias úteis a partir de 18/12/2026?"
"Quanto vale um Gol 2012 na FIPE?"
"Qual banco é o 077 e qual o ISPB dele?"
"O domínio padariadojoao.com.br está livre?"
"Monte uma tabela com os feriados de 2027 que caem em dia de semana."
Arquitetura
src/
├── index.ts # CLI: lê variáveis de ambiente e liga o servidor ao stdio
├── server.ts # MCP sobre JSON-RPC 2.0: initialize, ping, tools/list, tools/call
├── lib/
│ ├── brasilapi.ts # fetch com timeout, cache TTL e mensagens de erro em português
│ ├── schema.ts # subconjunto de JSON Schema: descreve E valida os argumentos
│ └── validators.ts # CPF, CNPJ (numérico e alfanumérico) e CEP, offline
└── tools/ # uma ferramenta = { name, description, inputSchema, handler }Algumas decisões de projeto:
Zero dependências de runtime. O protocolo stdio do MCP é JSON-RPC com uma mensagem por linha. Implementar isso diretamente dá cerca de 150 linhas e deixa o
npxinstantâneo.Erros de ferramenta voltam com
isError: true, e não como erro de protocolo. Assim o modelo lê a mensagem (por exemplo, "CNPJ inválido: confira os dígitos verificadores") e se corrige sozinho.Validação antes da rede. CEP, CNPJ, datas e domínios malformados são rejeitados sem chamar a API.
Respostas enxutas.
consultar_cnpjdevolve só os campos úteis, para economizar contexto do modelo.
Desenvolvimento
npm install
npm test # 53 testes com node:test, API mockada (roda offline)
npm run typecheck
npm run build
npm run inspector # abre o MCP Inspector para testar as ferramentas na mãoPara adicionar uma ferramenta, crie o objeto Tool em src/tools/, registre em src/tools/index.ts e escreva o teste em test/tools.test.ts. O teste tools/list já checa nome, descrição e schema de todas.
Feito com IA
Este projeto foi escrito do início ao fim em pair programming com o Claude, da escolha da arquitetura aos testes. Ele faz parte de uma série de projetos de IA:
mcp-brasil, este servidor MCP
Plugin do Claude Code com skills e hooks que usam o mcp-brasil
Sistema multiagente sobre os dados públicos brasileiros
App 100% vibecodado
Licença
MIT. Os dados são da BrasilAPI e das fontes oficiais que ela agrega (Correios, Receita Federal, Banco Central, IBGE, FIPE, Registro.br). Confira os termos de cada fonte.
Available Tools
14 toolsbuscar_bancoBuscar bancoARead-onlyIdempotent
Procura bancos e instituições de pagamento pelo código COMPE (ex.: 260) ou por parte do nome (ex.: nubank). Retorna código, ISPB e nome completo.
Inputs: busca (required), limite.
calcular_dias_uteisCalcular dias úteisARead-onlyIdempotent
Conta os dias úteis entre duas datas (inclusive), descontando fins de semana e feriados nacionais. Útil para prazos, SLAs e boletos. Não considera feriados estaduais ou municipais.
Inputs: data_fim (required), data_inicio (required).
calcular_prazoCalcular prazo / vencimentoARead-onlyIdempotent
Calcula a data final de um prazo: soma N dias úteis a uma data (pulando fins de semana e feriados nacionais, sem contar o dia inicial) ou N dias corridos (prorrogando para o próximo dia útil se cair em fim de semana ou feriado). Use para vencimentos, SLAs e prazos contratuais. Não considera feriados estaduais ou municipais.
Inputs: dias (required), data_inicio (required), tipo.
consultar_cepConsultar CEPARead-onlyIdempotent
Busca o endereço de um CEP brasileiro (rua, bairro, cidade, UF e, quando houver, coordenadas). Aceita com ou sem hífen.
Inputs: cep (required).
consultar_cnpjConsultar CNPJARead-onlyIdempotent
Consulta os dados públicos de uma empresa na Receita Federal: razão social, situação cadastral, endereço, CNAE, porte, Simples/MEI e quadro de sócios.
Inputs: cnpj (required), incluir_cnaes_secundarios.
consultar_dddConsultar DDDBRead-onlyIdempotent
Retorna a UF e a lista de cidades atendidas por um código DDD.
Inputs: ddd (required).
consultar_dominio_brConsultar domínio .brARead-onlyIdempotent
Verifica no Registro.br se um domínio .br está disponível ou registrado (com data de expiração e sugestões).
Inputs: dominio (required).
consultar_isbnConsultar livro por ISBNARead-onlyIdempotent
Busca título, autores, editora, ano e sinopse de um livro pelo ISBN-10 ou ISBN-13.
Inputs: isbn (required).
consultar_taxasConsultar taxas (Selic, CDI, IPCA)ARead-onlyIdempotent
Retorna o valor atual das taxas de referência (Selic, CDI e IPCA, em % ao ano). Sem sigla, retorna todas.
Inputs: sigla.
feriados_nacionaisFeriados nacionaisARead-onlyIdempotent
Lista os feriados nacionais de um ano (inclui Carnaval, Sexta-feira Santa e Corpus Christi), com o dia da semana de cada um.
Inputs: ano, apenas_proximos.
fipe_marcasListar marcas na Tabela FIPEARead-onlyIdempotent
Lista as marcas de veículos da Tabela FIPE por tipo (carros, motos ou caminhões). Aceita filtro por nome.
Inputs: tipo (required), busca.
fipe_precoPreço na Tabela FIPEARead-onlyIdempotent
Consulta o preço médio de um veículo na Tabela FIPE pelo código FIPE (ex.: 001004-9), em todos os anos-modelo disponíveis.
Inputs: codigo_fipe (required), ano_modelo.
listar_municipiosListar municípios de uma UFARead-onlyIdempotent
Lista os municípios de um estado com o código IBGE de cada um. Aceita filtro por nome.
Inputs: uf (required), busca.
validar_documentoValidar CPF ou CNPJARead-onlyIdempotent
Valida localmente (sem internet) os dígitos verificadores de um CPF ou CNPJ, inclusive o CNPJ alfanumérico em vigor desde 2026, e devolve o número formatado. Não consulta se o documento existe.
Inputs: documento (required), tipo.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Each tool targets a clearly distinct resource or operation: CEP lookup, CNPJ lookup, CPF/CNPJ validation, bank search, tax rates, holidays, DDD, municipalities, FIPE, domains, ISBN. The closest pair, calcular_prazo and calcular_dias_uteis, is disambiguated by their descriptions (end-date projection vs. business-day counting). validar_documento vs. consultar_cnpj is also clearly split (local checksum vs. Receita Federal lookup).
Most tools follow a Portuguese verb_noun pattern (consultar_cep, calcular_prazo, buscar_banco, listar_municipios, validar_documento). A few deviate: feriados_nacionais is noun-only, and fipe_marcas/fipe_preco use a domain prefix instead of a verb. Still predictable enough for an agent to infer behavior.
14 tools sit squarely in the well-scoped range and each covers a distinct Brazilian data source or calculation. There is no filler tool, and the set is not so large that selection becomes unwieldy.
Coverage of CEP, CNPJ, banks, taxes, holidays and DDD/IBGE data is solid, but FIPE is a dead end: fipe_marcas lists brands and fipe_preco needs a FIPE code, yet there is no tool to discover models/years/codes. Other notable gaps include no reverse address/CEP search and no municipality-to-IBGE lookup beyond per-state listing.
Maintenance
Related MCP Connectors
Brazil CNPJ, CEP, Selic/IPCA/PTAX, holidays, banks/ISPB for agents. Pay per call in USDC (x402).
Brazilian public data API for AI agents. BCB, IBGE, CVM, B3, compliance. x402 payments on Base.
Brazilian company data & sanctions screening for AI agents. Certified. Pay-per-call x402.
Official-source lookups on people and companies: registration status (CPF/CNPJ), Simples/MEI, SINTEG
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables lookup of Brazilian public data including companies (CNPJ), postal codes (CEP), banking, economy, geography, and more through 15 tools and 2 guided prompts, powered by BrasilAPI with no API key required.15MIT
- AlicenseAqualityCmaintenanceEnables LLM clients to query public Brazilian data through tools for CEP addresses, CNPJ registrations, banks, FIPE vehicle prices, national holidays, and DDD area codes, with no API key required.8MIT
- AlicenseAqualityCmaintenanceExposes Brazilian public data — postal codes (CEP), company registrations (CNPJ), CPF/CNPJ validation, banks, national holidays, municipalities, and DDD area codes — as MCP tools and resources, backed by BrasilAPI, ViaCEP, and IBGE with caching, fallback, and rate limiting. Any MCP client such as Claude Desktop or Claude Code can query and validate this reference and registration data through natural language or programmatic calls.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants and business systems to query and validate Brazilian fiscal data and documents, including CNPJ/CPF, Simples Nacional/MEI, NF-e/NFS-e, SPED, eSocial, and supplier compliance, without mandatory API keys. It also supports offline reference tables, tax-regime comparison, due-diligence scoring, and 2026 IBS/CBS reform analysis through composable tools.MIT