Skip to main content
Glama

🇧🇷 mcp-brasil

CI npm License: MIT zero dependências

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

consultar_cep

Endereço completo de um CEP, com coordenadas quando houver

✅

consultar_cnpj

Razão social, situação, CNAE, porte, Simples/MEI e sócios

✅

validar_documento

Valida CPF/CNPJ (inclusive o alfanumérico) e formata

—

buscar_banco

Banco por código COMPE ou nome (ignora acentos)

✅

consultar_taxas

Selic, CDI e IPCA atuais

✅

feriados_nacionais

Feriados do ano com o dia da semana

✅

calcular_dias_uteis

Dias úteis entre duas datas, descontando feriados nacionais

✅

calcular_prazo

Data final de um prazo de N dias úteis ou corridos (com prorrogação)

✅

consultar_ddd

UF e cidades de um DDD

✅

listar_municipios

Municípios de uma UF com o código IBGE

✅

fipe_marcas

Marcas de carros, motos e caminhões

✅

fipe_preco

Preço FIPE por código e ano-modelo

✅

consultar_dominio_br

Disponibilidade de domínio .br no Registro.br

✅

consultar_isbn

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-brasil

Claude 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

BRASILAPI_BASE_URL

https://brasilapi.com.br/api

Para usar um espelho ou uma instância própria

BRASILAPI_TIMEOUT_MS

15000

Timeout por requisição

BRASILAPI_CACHE_TTL_MS

300000

Cache em memória (5 min); 0 desativa

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 npx instantâ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_cnpj devolve 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ão

Para 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 tools
buscar_bancoBuscar bancoA
Read-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 úteisA
Read-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 / vencimentoA
Read-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 CEPA
Read-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 CNPJA
Read-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 DDDB
Read-onlyIdempotent

Retorna a UF e a lista de cidades atendidas por um código DDD.

Inputs: ddd (required).

consultar_dominio_brConsultar domínio .brA
Read-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 ISBNA
Read-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)A
Read-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 nacionaisA
Read-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 FIPEA
Read-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 FIPEA
Read-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 UFA
Read-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 CNPJA
Read-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

    A3.8/5.0

    Scored across 14 tools

    Disambiguation5/5

    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).

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness3/5

    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

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Enables 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.
      15
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables 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.
      8
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Exposes 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.
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables 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