mcp-server-brasil
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-server-brasil What's the address for CEP 01310-100?"
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-server-brasil
A Model Context Protocol server that gives LLM agents reliable access to Brazilian public data: addresses by CEP, company records by CNPJ, holidays and business days, Banco Central indicators and IBGE municipalities.
🇧🇷 Servidor MCP com dados públicos do Brasil para agentes de IA: CEP, CNPJ (inclusive o alfanumérico), feriados, dias úteis, Selic/IPCA/dólar do Banco Central e municípios do IBGE.
Why
Agents keep getting Brazilian data wrong: they invent CEPs, can't count business days around Carnaval and don't know the current Selic. This server turns the official public sources into typed, validated tools, so the model asks instead of guessing.
Validates before calling the network. CPF/CNPJ check digits and CEP shape are checked locally, so a hallucinated document never becomes an HTTP request.
Ready for the alphanumeric CNPJ (IN RFB 2.229/2024, in effect since July 2026).
Structured output. Every tool returns a JSON schema'd result, with errors reported as tool errors the model can read and recover from.
A good citizen of free APIs. TTL cache, timeouts and retry with backoff for 5xx only.
stdio and Streamable HTTP transports, Docker image with healthcheck and DNS rebinding protection for public deployments.
Related MCP server: MCP Brazil Public Data
Tools
Tool | What it does | Source |
| Street, district, city, UF, IBGE code and coordinates | BrasilAPI |
| Company name, status, CNAE, address, size | BrasilAPI / Receita Federal |
| Offline CPF / CNPJ (numeric or alphanumeric) validation | — |
| National holidays for a year | BrasilAPI |
| Business days between two dates, minus weekends and national holidays | BrasilAPI |
| Latest values for | Banco Central (SGS) |
| Municipalities of a UF with IBGE codes | IBGE |
| UF and cities for an area code | BrasilAPI |
It also exposes the resource brasil://indicadores (indicator catalog with SGS codes) and the
prompt resumo_macro (rates, inflation and FX summary).
Quickstart
Claude Code
claude mcp add brasil -- uvx mcp-server-brasilClaude Desktop / Cursor / any MCP client
{
"mcpServers": {
"brasil": {
"command": "uvx",
"args": ["mcp-server-brasil"]
}
}
}Hosted (Streamable HTTP)
A public instance runs at https://mcp.vgmelo.tech/mcp:
claude mcp add --transport http brasil https://mcp.vgmelo.tech/mcpDocker
docker run --rm -p 8000:8000 -e MCP_ALLOWED_HOSTS=localhost:8000 ghcr.io/vicgamelo/mcp-server-brasil
curl localhost:8000/healthExample
You: How many business days are there in November 2026, and what's the Selic rate today?
Agent →
dias_uteis(inicio="2026-11-01", fim="2026-11-30")→19, excluding Finados (11/02) and Consciência Negra (11/20) →indicador_economico(indicador="selic_meta", ultimos=1)→13.75% a.a.
Development
uv sync
uv run pytest # in-process MCP client + mocked HTTP, no network needed
uv run ruff check . && uv run mypy
uv run mcp-server-brasil --http --port 8000Tests run a real MCP Client against the server in-process, with the public APIs replaced by
httpx.MockTransport, so they cover the protocol layer, input validation, caching and retry
behavior without hitting the network.
Project layout
src/mcp_server_brasil/
├── server.py # MCP tools, resource and prompt
├── sources.py # BrasilAPI / BCB / IBGE clients with cache + retry
├── documents.py # CPF, CNPJ (alphanumeric) and CEP validation
├── business_days.py # business-day arithmetic
└── __main__.py # CLI: stdio or Streamable HTTPRoadmap
State and municipal holidays
PIX key format validation
FIPE vehicle prices
Optional Redis cache for multi-replica deployments
License
MIT © Victor Gabriel Andrade de Melo
Available Tools
8 toolsconsultar_cepConsultar CEPCRead-onlyIdempotent
Endereço (logradouro, bairro, cidade, UF e coordenadas quando houver) de um CEP.
Inputs: cep (required). Returns: object
consultar_cnpjConsultar CNPJBRead-onlyIdempotent
Dados cadastrais públicos de uma empresa na Receita Federal a partir do CNPJ.
Inputs: cnpj (required). Returns: object
consultar_dddCidades por DDDCRead-onlyIdempotent
UF e cidades atendidas por um DDD.
Inputs: ddd (required). Returns: object
dias_uteisContar dias úteisARead-onlyIdempotent
Quantidade de dias úteis entre duas datas (inclusive), descontando fins de semana e feriados nacionais. Não considera feriados estaduais/municipais.
Inputs: fim (required), inicio (required). Returns: object
feriados_nacionaisFeriados nacionaisBRead-onlyIdempotent
Feriados nacionais de um ano (inclui Carnaval, Sexta-feira Santa e Corpus Christi).
Inputs: ano (required). Returns: result
indicador_economicoIndicador econômico (BCB)BRead-onlyIdempotent
Últimos valores de um indicador do Banco Central (SGS): selic_meta, selic, cdi, ipca, igpm, dolar ou euro.
Inputs: indicador (required), ultimos. Returns: object
listar_municipiosMunicípios por UF (IBGE)ARead-onlyIdempotent
Lista os municípios de uma UF com o código IBGE de cada um.
Inputs: uf (required). Returns: object
validar_documentoValidar CPF/CNPJARead-onlyIdempotent
Valida os dígitos verificadores de um CPF ou CNPJ (numérico ou alfanumérico), sem rede.
Inputs: documento (required). Returns: object
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool targets a clearly distinct resource or operation: CEP, CNPJ, document validation, holidays, business days, economic indicators, municipalities, and DDD. The only closely related pair is feriados_nacionais and dias_uteis, but their descriptions make the boundary explicit.
All names use consistent snake_case Portuguese and are readable, but the convention is not uniformly verb-first: consultar_cep, consultar_cnpj, validar_documento, and listar_municipios use verbs while feriados_nacionais, dias_uteis, indicador_economico, and consultar_ddd include noun-style names. This is a minor deviation rather than confusion.
Eight tools is well within the ideal 3–15 range and each tool covers a distinct Brazilian data utility. None appear redundant or trivial.
The set covers core Brazilian lookup and validation workflows well: CEP, CNPJ, CPF/CNPJ validation, holidays, business days, economic indicators, municipalities, and DDD. Minor gaps exist, such as no state list to support UF-based municipality lookup, no municipal/state holiday support beyond national holidays, and no reverse CEP/address geocoding.
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.
IBGE: geography, census, economy and health from the official APIs, with provenance. 23 tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to query Brazilian public data such as CEP, CNPJ, DDD, exchange rates, banks, and holidays via the Model Context Protocol.12MIT
- 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
- AlicenseAqualityBmaintenanceEnables AI assistants to query Brazilian public data from IBGE, Banco Central, INMET, and Câmara dos Deputados, including population, economic indicators, weather observations, and legislative information, without requiring API keys for most tools.143MIT
- 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