Skip to main content
Glama

mcp-brasil

MCP Server para 70 fontes de dados públicas brasileiras

License: MIT (code) Sources: see SOURCES.md AUP

533 tools · 131 resources · 102 prompts · 70 features · 15 áreas temáticas

Conecte AI agents (Claude, GPT, Copilot, etc.) a dados governamentais do Brasil — economia, legislação, transparência, judiciário, eleições, meio ambiente, saúde, educação, segurança pública, fiscal subnacional, aviação e mais.

66 APIs não requerem chave · 4 usam chaves gratuitas (cadastro em 1 min)

Quick Start · Fontes de dados · Documentação · Desenvolvimento


⚠️ Projeto independente. mcp-brasil NÃO é serviço oficial do governo brasileiro nem de qualquer das instituições cujos dados ele torna acessíveis. A licença MIT cobre apenas o código — cada fonte de dado tem sua própria licença (SOURCES.md) e o uso do servidor está sujeito à Política de Uso Aceitável. Antes de uso comercial, jornalístico ou decisório, leia ambos.


Features

  • 533 tools em 70 features cobrindo 15 áreas — economia, legislativo, transparência, judiciário, eleitoral, ambiental, saúde, educação, segurança pública, compras públicas, fiscal subnacional, aviação, energia e mais

  • Datasets grandes com cache local — SIAPA (~813k imóveis), TSE 2014-2024 (candidatos, bens, votação, redes sociais, FEFC), ANP preços de combustíveis, INEP Censo Escolar e ENEM, ISP-RJ segurança pública, ANAC aeronaves e voos regulares — SQL via DuckDB embedded, opt-in via env

  • Cross-referencing com planejar_consulta — cria planos de execução combinando múltiplas APIs (ex: gastos de um deputado + votações + proposições)

  • Execução em lote com executar_lote — dispara consultas em paralelo numa única chamada

  • Smart discovery — BM25 search transform filtra 533 tools para só mostrar as relevantes ao contexto

  • Auto-registry — adicionar uma feature é criar uma pasta; zero configuração manual

  • Async everywhere — httpx async + Pydantic v2 + rate limiting com backoff

Related MCP server: mcp-brasil

Quick Start

Instalar

pip install mcp-brasil
uv add mcp-brasil

Claude Desktop

Adicione ao claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-brasil": {
      "command": "uvx",
      "args": ["--from", "mcp-brasil", "python", "-m", "mcp_brasil.server"],
      "env": {
        "TRANSPARENCIA_API_KEY": "sua-chave-aqui",
        "DATAJUD_API_KEY": "sua-chave-aqui",
        "META_ACCESS_TOKEN": "seu-token-aqui"
      }
    }
  }
}

As chaves são opcionais — sem elas, as 36 APIs restantes funcionam normalmente.

VS Code / Cursor

Crie .vscode/mcp.json na raiz do projeto:

{
  "servers": {
    "mcp-brasil": {
      "command": "uvx",
      "args": ["--from", "mcp-brasil", "python", "-m", "mcp_brasil.server"],
      "env": {
        "TRANSPARENCIA_API_KEY": "sua-chave-aqui",
        "DATAJUD_API_KEY": "sua-chave-aqui",
        "META_ACCESS_TOKEN": "seu-token-aqui"
      }
    }
  }
}

Claude Code

claude mcp add mcp-brasil -- uvx --from mcp-brasil python -m mcp_brasil.server

HTTP (outros clientes)

fastmcp run mcp_brasil.server:mcp --transport http --port 8000
# Server disponível em http://localhost:8000/mcp

Exemplos

Conecte o server e faça perguntas em linguagem natural:

Legislativo: "Quais projetos de lei sobre inteligência artificial tramitaram na Câmara em 2024? Quem foram os autores?"

Econômico: "Qual a tendência da taxa Selic nos últimos 12 meses? Compare com a inflação (IPCA) no mesmo período."

Transparência: "Quais os 10 maiores contratos do governo federal em 2024? Quem são os fornecedores?"

Cross-reference: "Compare os gastos per capita com saúde em São Paulo e Minas Gerais cruzando dados do TCE-SP e IBGE."

Judiciário: "Busque processos sobre licitação irregular no TCU. Quais foram as penalidades aplicadas?"

Eleitoral: "Quais os maiores doadores da campanha do candidato X? Qual o total arrecadado?"

Fontes de dados

Economia e Finanças

Feature

Fonte

Tools

bacen

Banco Central — Selic, IPCA, câmbio, PIB e +190 séries temporais (SGS)

9

bcb_olinda

Banco Central — PTAX (câmbio oficial), Expectativas Focus, taxas de juros bancárias

8

bndes

BNDES — operações de financiamento, desembolsos, instituições credenciadas

4

ipeadata

IPEADATA/Ipea — séries macro, regionais e sociais históricas (OData)

5

Geografia e Estatística

Feature

Fonte

Tools

ibge

IBGE — estados, municípios, nomes, agregados estatísticos

9

Legislativo e Executivo

Feature

Fonte

Tools

camara

Câmara dos Deputados — deputados, proposições, votações, despesas

11

senado

Senado Federal — senadores, matérias, votações, comissões

26

governadores

Governadores de todos os estados em exercício (nome, partido, mandato)

4

Transparência e Fiscalização

Feature

Fonte

Tools

transparencia

Portal da Transparência — contratos, despesas, servidores, sanções, imóveis funcionais, renúncias fiscais, órgãos, COVID-19

54

tcu

Tribunal de Contas da União — acórdãos, inidôneos, débitos, pautas

9

tce_sp

TCE-SP — despesas e receitas de 645 municípios paulistas

3

tce_rj

TCE-RJ — licitações, contratos, obras, penalidades, concessões

7

tce_rs

TCE-RS — educação, saúde, gestão fiscal (LRF)

5

tce_pe

TCE-PE — licitações, contratos, despesas, fornecedores

5

tce_ce

TCE-CE — licitações, contratos, empenhos

4

tce_es

TCE-ES — licitações, contratos, obras públicas

4

tce_rn

TCE-RN — jurisdicionados, licitações, contratos

5

tce_pi

TCE-PI — prefeituras, despesas, receitas

5

tce_sc

TCE-SC — municípios e unidades gestoras

2

tce_to

TCE-TO — processos, pautas de sessões

3

tce_pa

TCE-PA — Diário Oficial, sessões plenárias, jurisprudência (acórdãos, resoluções, portarias, prejulgados) e conteúdo informativo

4

spu_geo

SPU GeoPortal — terrenos de marinha, acrescidos, marginais, ilhas federais, praias, manguezais e localização de imóveis da União

4

spu_imoveis

Imóveis da União (Raio-X APF / Gov360) — busca por órgão, UF, município, regime e agregações institucionais

4

siconfi

SICONFI/Tesouro Nacional — RREO, RGF, DCA e MSC de municípios/estados (LRF, LC 101)

7

mj

MJSP (CKAN) — SINESP, INFOPEN, PROCONs/Sindec, armas, sistema prisional

4

Judiciário

Feature

Fonte

Tools

datajud

DataJud/CNJ — processos judiciais, movimentações

7

jurisprudencia

STF, STJ e TST — acórdãos, súmulas, decisões

6

Eleitoral

Feature

Fonte

Tools

tse

TSE — eleições, candidatos, prestação de contas

15

anuncios_eleitorais

Biblioteca de Anúncios da Meta — propaganda eleitoral na internet

6

Meio Ambiente

Feature

Fonte

Tools

inpe

INPE — focos de queimadas, desmatamento DETER/PRODES

4

ana

ANA — estações hidrológicas, telemetria, reservatórios

3

ibama

IBAMA (CKAN) — autos de infração, CTF/APP, TCFA, biomas

4

Energia e Infraestrutura

Feature

Fonte

Tools

aneel

ANEEL (CKAN) — SIGA, geração distribuída, tarifas, bandeiras

4

antt

ANTT (CKAN) — rodovias concedidas, acidentes, cargas, passageiros

4

Aviação

Feature

Fonte

Tools

opensky

OpenSky Network — voos ao vivo via ADS-B (rastreamento, tracks)

6

Saúde

Feature

Fonte

Tools

saude

CNES/DataSUS — estabelecimentos, profissionais, leitos

10

opendatasus

OpenDataSUS — datasets de saúde pública (CKAN)

7

anvisa

ANVISA — bulário, medicamentos, preços CMED, registros

10

denasus

DENASUS — auditorias do SUS

5

imunizacao

SI-PNI — vacinação, calendário, cobertura vacinal, SRAG

10

bps

BPS — preços de medicamentos e dispositivos médicos no SUS

3

farmacia_popular

Farmácia Popular — medicamentos gratuitos, farmácias credenciadas

8

rename

RENAME — medicamentos essenciais do SUS por princípio ativo

5

Segurança Pública

Feature

Fonte

Tools

atlas_violencia

Atlas da Violência (IPEA/FBSP) — homicídios, violência por gênero/raça, armas de fogo

7

sinesp

SINESP/MJSP — datasets de segurança pública, sistema penitenciário

6

forum_seguranca

Fórum Brasileiro de Segurança Pública — publicações, Anuário

4

Educação

Feature

Fonte

Tools

inep

INEP — índices educacionais (IDEB, indicadores) e pesquisas

4

fnde

FNDE — repasses, merenda escolar, PNATE, transporte

4

Compras Públicas

Feature

Fonte

Tools

compras

PNCP + ComprasNet/SIASG — licitações, contratos, pregões, CATMAT

29

transferegov

TransfereGov — emendas parlamentares PIX

5

Mercado Financeiro e Notícias

Feature

Fonte

Tools

b3

Bolsa B3 (brapi.dev) — cotações ações/FIIs/BDRs, históricos, índices

6

noticias

RSS agregado — Câmara, Senado, Agência Brasil, BCB

4

Dados Abertos e Utilidades

Feature

Fonte

Tools

brasilapi

BrasilAPI — CEP, CNPJ, DDD, bancos, câmbio, FIPE, PIX

16

dados_abertos

Dados Abertos (dados.gov.br) — catálogo de datasets federais

4

diario_oficial

Querido Diário + DOU — diários oficiais de 5.000+ cidades e da União

11

tabua_mares

Tábua de Marés — previsão de marés para portos do litoral

7

Datasets locais (opt-in via env)

Features que baixam CSVs/ZIPs grandes (~100MB–1,6GB) para DuckDB embedded local e expõem SQL via tools canned. Ativadas apenas quando listadas em MCP_BRASIL_DATASETS. Primeira carga: minutos (download + ingest); subsequentes: ms.

Feature

Fonte

Período

Tools

spu_siapa

SPU — imóveis da União (SIAPA completo, 813k imóveis com dominiais + uso especial)

2026 snapshot

8

tse_candidatos

TSE — candidatos de todas as eleições (~4M registros)

2014-2024

8

tse_bens

TSE — bens declarados por candidatos, join via sq_candidato

2014-2024

5

tse_votacao

TSE — votos por candidato × município × zona

2014-2024

6

tse_redes_sociais

TSE — URLs Instagram/Facebook/Twitter dos candidatos

2018-2024

4

tse_fefc

TSE — Fundo Eleitoral Especial (distribuição partido × gênero)

2020, 2024

4

anp_precos

ANP — preços semanais de combustíveis (gasolina/etanol, diesel/GNV, GLP) em postos

2024 integral

7

inep_censo_escolar

INEP — Censo Escolar da Educação Básica (~180k escolas, infraestrutura, matrículas)

2023

7

inep_enem

INEP — Microdados ENEM (~3,9M inscritos, notas, perfil socioeconômico)

2023

6

isp_rj

ISP-RJ — estatísticas criminais mensais por CISP do Rio de Janeiro

1991-present

6

anac_rab

ANAC — Registro Aeronáutico Brasileiro (~75k aeronaves civis)

snapshot semanal

6

anac_vra

ANAC — Voos Regulares Ativos (pontualidade, atrasos, origem/destino)

2020-present

cvm_fundos

CVM — Cadastro de Fundos de Investimento (~40k fundos, PL, taxa adm, gestor)

snapshot diário

6

Ative com:

# .env
MCP_BRASIL_DATASETS=tse_candidatos,tse_bens,tse_votacao

Ver guia de Datasets locais para detalhes de uso.

O server raiz também expõe 5 meta-tools: listar_features, recomendar_tools, planejar_consulta, executar_lote e listar_datasets_disponiveis.

Chaves de API

API

Obrigatória?

Como obter

Portal da Transparência

Opcional

Cadastro gratuito

DataJud/CNJ

Opcional

Cadastro gratuito

Anúncios Eleitorais (Meta)

Opcional

Meta Ad Library API

brapi.dev (B3)

Opcional

Token gratuito para índices e múltiplas ações

Todas as outras (62)

Nenhuma chave

Configure via variáveis de ambiente ou .env:

TRANSPARENCIA_API_KEY=sua-chave
DATAJUD_API_KEY=sua-chave
META_ACCESS_TOKEN=seu-token

Configuração

Variável

Default

Descrição

TRANSPARENCIA_API_KEY

Chave do Portal da Transparência

DATAJUD_API_KEY

Chave do DataJud/CNJ

META_ACCESS_TOKEN

Token da Meta Ad Library API

MCP_BRASIL_TOOL_SEARCH

bm25

Modo de discovery: bm25, code_mode ou none

MCP_BRASIL_HTTP_TIMEOUT

30.0

Timeout HTTP em segundos

MCP_BRASIL_HTTP_MAX_RETRIES

3

Máximo de retentativas HTTP

MCP_BRASIL_DATASETS

Lista CSV de datasets locais a ativar. Ex: tse_candidatos,tse_bens

MCP_BRASIL_DATASET_CACHE_DIR

~/.cache/mcp-brasil

Diretório raiz do cache DuckDB

MCP_BRASIL_DATASET_REFRESH

auto

auto (TTL), never (só cache) ou force (sempre baixar)

MCP_BRASIL_DATASET_TIMEOUT

600

Timeout (s) do download de datasets grandes

MCP_BRASIL_LGPD_ALLOW_PII

Lista CSV de datasets com PII liberada (ex: tse_candidatos)

Documentação

Página

Descrição

Quick Start

Instalação e configuração em 2 minutos

Arquitetura

Como o projeto funciona por dentro

Catálogo de Features

Todas as 69 features e 525 tools

Datasets locais (DuckDB)

SIAPA + TSE 2014-2024 via SQL embedded

Smart Tools

Meta-tools: planner, batch, discovery

Adicionando Features

Guia para contribuir com novas APIs

Configuração

Variáveis de ambiente e opções

Meta Ad Library API

Referência da API de anúncios eleitorais da Meta

Code Mode

Discovery programático + sandbox Python (experimental)

Desenvolvimento

Setup de dev, testes, lint, CI

Deploy Azure (datasets)

Container Apps + Azure Files + warmup automático dos datasets

Desenvolvimento

git clone https://github.com/Mcp-Brasil/mcp-brasil.git
cd mcp-brasil
make dev              # Instalar dependências (prod + dev)
make test             # Rodar todos os testes
make test-feature F=ibge  # Testes de uma feature
make lint             # Lint + format check
make ruff             # Auto-fix lint + format
make types            # mypy strict
make ci               # lint + types + test
make run              # Server stdio
make serve            # Server HTTP :8000
make inspect          # Listar tools/resources/prompts

Arquitetura

O projeto usa Package by Feature com Auto-Registry — cada feature é uma pasta auto-contida:

src/mcp_brasil/
├── server.py              # Auto-registry (nunca editado manualmente)
├── _shared/               # Utilitários compartilhados
│   └── datasets/          # Infra DuckDB local
├── data/                  # 51 features — REST passthrough
│   ├── ibge/
│   │   ├── __init__.py    # FEATURE_META
│   │   ├── server.py      # FastMCP instance
│   │   ├── tools.py       # Lógica das tools
│   │   ├── client.py      # HTTP async
│   │   ├── schemas.py     # Pydantic models
│   │   └── constants.py   # URLs, códigos
│   ├── bacen/
│   └── ...
├── datasets/              # 12 features — cache local DuckDB (opt-in via env)
│   ├── spu_siapa/         # SIAPA 813k imóveis
│   ├── tse_candidatos/    # TSE candidatos 2014-2024
│   └── ...
└── agentes/               # 1 feature — agentes inteligentes
    └── redator/

Três modalidades de feature coexistem:

  • data/ — REST passthrough: HTTP async → Pydantic → tool formatada

  • datasets/ — DuckDB embedded local: CSVs/ZIPs grandes com SQL, gated por MCP_BRASIL_DATASETS, cache em ~/.cache/mcp-brasil/

  • agentes/ — Agentes inteligentes: tools + prompts + resources compondo fluxos complexos (ex: redação oficial)

Para adicionar uma nova feature, basta criar o diretório seguindo a convenção — o registry descobre automaticamente.

Contribuindo

  1. Fork o repositório

  2. Crie uma feature em src/mcp_brasil/data/{feature}/ ou agentes/{feature}/

  3. Exporte FEATURE_META no __init__.py e mcp: FastMCP no server.py

  4. Adicione testes em tests/data/{feature}/

  5. Rode make ci e abra um PR

Disclaimer

Este projeto integra um número significativo de APIs governamentais brasileiras, muitas com documentação inconsistente ou incompleta. Embora todo esforço tenha sido feito para garantir precisão, alguns endpoints podem retornar resultados inesperados ou ter cobertura parcial de parâmetros.

Este é um projeto open-source da comunidade — se encontrar algo quebrado ou que possa ser melhorado, abra uma issue ou envie um PR. O objetivo é tornar dados públicos brasileiros acessíveis via IA, juntos.

Todos os dados vêm de APIs oficiais do governo brasileiro — o server não gera, modifica ou editorializa nenhum dado. No entanto, modelos de IA que consomem este servidor podem alucinar, distorcer ou interpretar incorretamente respostas — VERIFIQUE NA FONTE OFICIAL antes de uso jornalístico, judicial, médico ou decisório.

Não-oficialidade

mcp-brasil é projeto independente. NÃO é serviço, programa ou parceria do Governo Federal, Ministérios, Agências, Tribunais ou de qualquer das instituições cujos dados acessa. Tampouco é endossado por Anthropic, OpenAI, GitHub, ou pelos modelos de IA clientes. A palavra "Brasil" no nome refere-se ao objeto (dados públicos brasileiros) e não a vinculação institucional.

Antes de operar este servidor — especialmente em cenários comerciais, com volume, em período eleitoral, ou envolvendo dados sensíveis (saúde, judicial, eleitoral) — leia obrigatoriamente:

  • SOURCES.md — licença e disclaimer de cada uma das 70 fontes

  • ACCEPTABLE_USE.md — Política de Uso Aceitável (vedações sob LGPD art. 11 §4, Lei 9.504/97, Res. CNJ 446/2022, etc.)

  • NOTICE — escopo da licença MIT e atribuições

Licença

Star History

Available Tools

7 tools
call_toolA

Call a tool by name with the given arguments.

Use this to execute tools discovered via search_tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the tool to call
argumentsNoArguments to pass to the tool

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden for behavioral disclosure. It merely restates the schema without describing side effects, return values, error conditions, or the fact that calling arbitrary tools may have destructive consequences. This is a significant transparency gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences, front-loaded with the primary action and followed by a usage hint. Every word earns its place, with no redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but with no output schema and no annotations, the description could have mentioned that the tool returns the called tool's output or that invalid names will error. The core functionality is clear, but some behavioral expectations are missing, so it is minimally viable rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both parameters described. The description adds little beyond the schema, repeating 'by name with the given arguments' without explaining how arguments map to the called tool's parameters. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Call a tool by name with the given arguments,' which specifies the verb and resource. It also differentiates from search_tools by noting the tool is for executing discovered tools, but it does not explicitly distinguish from the sibling executar_lote, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: 'Use this to execute tools discovered via search_tools.' This tells the agent when the tool is appropriate, but it does not mention exclusions or alternatives, so it is not a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

executar_loteA

Executa múltiplas tools em uma única chamada, em paralelo.

Use esta tool para evitar chamadas sequenciais quando precisar de dados de várias fontes ou de vários anos/parâmetros ao mesmo tempo.

Cada consulta deve ter o nome completo da tool (com namespace, ex: "camara_buscar_proposicao") e seus argumentos.

Args: consultas: Lista de consultas. Cada item é um objeto com: - "tool": nome completo da tool (ex: "camara_despesas_deputado") - "args": objeto com os argumentos da tool Exemplo: [ {"tool": "camara_despesas_deputado", "args": {"deputado_id": 204554, "ano": 2024}}, {"tool": "camara_despesas_deputado", "args": {"deputado_id": 204554, "ano": 2023}} ]

ParametersJSON Schema
NameRequiredDescriptionDefault
consultasYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It only mentions parallel execution and the need for full tool names, but does not disclose failure semantics, partial failure behavior, side effects of executing multiple tools, permissions, or result format. This is a significant gap for a batch execution tool that may invoke arbitrary tools with potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core verb and purpose. Each section (when to use, required format, example) earns its place, and the example improves clarity without excessive verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential invocation details and example, and the presence of an output schema reduces the need to explain return values. However, it omits constraints like maximum batch size or behavior on individual tool failures, which are relevant for safe and effective use of a batch execution tool. Overall it is quite complete for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema for 'consultas' is essentially opaque (no property descriptions), so the description fully compensates by defining the exact structure of each item (required 'tool' and 'args' keys) and providing a clear example. This adds substantial meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Executa múltiplas tools em uma única chamada, em paralelo', clearly identifying the verb, resource, and parallel execution mode. It distinguishes itself from siblings like 'call_tool' by emphasizing batch execution of multiple tools in one call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use: 'para evitar chamadas sequenciais quando precisar de dados de várias fontes ou de vários anos/parâmetros ao mesmo tempo'. It does not explicitly name alternatives (e.g., 'call_tool') for single calls, but the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listar_datasets_disponiveisA

Lista os datasets locais (ADR-004) disponíveis e seu estado de cache.

Features em datasets/ dependem de cache local em DuckDB e só aparecem quando listadas em MCP_BRASIL_DATASETS. Esta tool reporta todos os datasets registrados no projeto (ativos e inativos), com tamanho aproximado, fonte, e se o cache local já foi baixado.

Returns: Tabela markdown com id, habilitado, cached, linhas, tamanho, fonte.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the transparency burden. It discloses the tool's scope (all registered, including inactive datasets), that sizes are approximate, and that it reports cache download status. The dependency on MCP_BRASIL_DATASETS is explained. It implicitly indicates a read-only operation via 'lista', though it does not explicitly state this.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a clear purpose statement, followed by relevant context about the cache dependency, and ends with a structured return specification. Each sentence adds necessary information without fluff, making it concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's purpose, scope, behavior (active/inactive, approximate size, cache state), and the environment variable dependency. It also specifies the return format in plain text, even though an output schema exists. Slightly more detail on prerequisites or explicit read-only nature would improve completeness, but it is adequate for a no-parameter listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema is empty. The description adds meaning by explaining that no input is needed and that the tool simply lists datasets and their cache state. Since there are no parameters, the baseline of 4 applies and the description adequately communicates the lack of inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence clearly states the verb and resource: 'Lista os datasets locais (ADR-004) disponíveis e seu estado de cache.' It further distinguishes itself from siblings like 'listar_features' by focusing on datasets and explicitly reporting all registered datasets (active and inactive).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking dataset availability and cache status, noting that features depend on local cache. However, it does not explicitly state when to prefer this tool over alternatives such as 'listar_features', nor does it mention when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listar_featuresA

Lista todas as features (APIs) disponíveis no mcp-brasil.

Use esta tool para saber quais APIs governamentais estão conectadas e quais tools cada uma oferece.

Returns: Resumo das features ativas com descrição e status de autenticação.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior. It clearly indicates a read-only listing action and describes the returned content ('Resumo das features ativas com descrição e status de autenticação'), which is sufficient for a simple, non-mutating tool. It does not mention side effects because there are none.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a clear opening statement, an explicit usage sentence, and a separate 'Returns:' section. Every sentence contributes useful information, and there is no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and a simple listing function, the description is complete. It explains what is listed, why to use it, and what is returned. The presence of an output schema means the description does not need to detail return values further.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the description does not need to elaborate on parameter semantics. The baseline for 0 params is 4, and no further information is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Lista todas as features (APIs) disponíveis no mcp-brasil' using a specific verb and resource. It also distinguishes itself from siblings by explaining that it reveals which government APIs are connected and which tools each offers, setting it apart from 'listar_datasets_disponiveis' and 'search_tools'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit context is provided in 'Use esta tool para saber quais APIs governamentais estão conectadas e quais tools cada uma oferece.' This tells the agent when to use the tool, though it does not explicitly mention alternatives or situations to avoid, preventing a score of 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

planejar_consultaA

Cria um plano de execução para consultas complexas.

Analisa a pergunta, identifica quais tools usar, em que ordem, e quais etapas dependem de outras. Útil para consultas que precisam de múltiplas chamadas combinadas.

Args: query: Pergunta em linguagem natural (ex: "compare os gastos do deputado X com a média").

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains the tool's behavior in detail: it analyzes the question, identifies tools, order, and dependencies, which implies it only creates a plan and does not execute it. This is transparent and non-misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with a one-sentence purpose, a brief but informative explanation, and an Args section. Every sentence adds value, and the example is helpful without verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter, presence of an output schema, and no annotations, the description covers the purpose, usage context, parameter meaning, and provides an example. It is sufficient for an agent to select and invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only declares 'query' as a string with no description. The description compensates by explaining it as a natural language question and providing a concrete example, which fully disambiguates the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('cria um plano de execução') for complex queries, and, further details explain it analyzes the question and determines tool order and dependencies. This clearly distinguishes it from sibling tools by emphasizing ordering and dependency analysis beyond mere tool recommendation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states it is useful for queries that need multiple combined calls, which tells an agent when to use it. However, it does not mention when not to use it or explicitly compare it to alternatives like recomendar_tools, so it lacks exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recomendar_toolsA

Recomenda tools relevantes a partir de uma pergunta em linguagem natural.

Usa IA para entender sua intenção e sugerir as tools mais adequadas do mcp-brasil, explicando quando e como usar cada uma.

Args: query: Pergunta ou descrição do que você precisa (ex: "quero dados sobre gastos do governo federal").

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden. It discloses that the tool uses AI to understand intent and suggests the most adequate tools from mcp-brasil, which implies a non-destructive read-only operation. However, it does not describe the output structure (though an output schema exists) or any limitations of the AI-based recommendation process.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. It front-loads the core purpose in the first sentence, adds a brief clarifying sentence about the AI mechanism, and then presents the argument documentation in a clean, scannable format. No word is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter recommender, the description adequately covers the main functionality, the input format, and the source of recommendations (mcp-brasil). The presence of an output schema reduces the need to document return values. It could explicitly differentiate from 'search_tools', but overall it is sufficiently complete for an agent to select and invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides zero description for the single 'query' parameter, but the description compensates with an 'Args' section that explains the parameter meaning and gives a concrete example: 'quero dados sobre gastos do governo federal'. This fully covers the parameter's semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Recomenda tools relevantes a partir de uma pergunta em linguagem natural' (Recommends relevant tools from a natural language question). It uses a specific verb ('recomenda') and resource ('tools'), and distinguishes itself from siblings like 'search_tools' by emphasizing AI-based intent comprehension and providing explanations for each recommendation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives such as 'search_tools' or 'listar_features'. It mentions that the tool will explain 'quando e como usar cada uma' (when and how to use each recommended tool), but this refers to the output content, not to the circumstances under which an agent should invoke this tool itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_toolsA

Search for tools using natural language.

Returns matching tool definitions ranked by relevance, in the same format as list_tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language query to search for tools

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It states that it returns matching tool definitions ranked by relevance, which is a behavioral trait. It also mentions the format is same as list_tools, which is useful. However, it doesn't disclose any side effects, rate limits, or other behavioral details. Given the tool is a search operation, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, two sentences, and front-loaded with the purpose. Every sentence adds value: the first states what it does, the second clarifies the return format. No waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and an output schema. The description explains the return format (same as list_tools) and ranking by relevance. Given the simplicity and the presence of an output schema, the description is complete enough. It could mention that it's a read-only operation, but that's not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single parameter 'query' as a natural language query. The description adds no additional meaning beyond that. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: searching for tools using natural language. It specifies the action (search) and the resource (tools), and distinguishes it from siblings like list_tools by mentioning the return format. However, it doesn't explicitly differentiate from other sibling tools like call_tool, but the purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage: when you need to find tools by natural language query. It mentions the return format is same as list_tools, which gives some context. However, it doesn't explicitly state when to use this vs alternatives, nor does it provide exclusions or alternative tool references. The guidance is minimal but not misleading.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.14.0
    • First observedcall_tool
    • First observedexecutar_lote
    • First observedlistar_datasets_disponiveis
    • First observedlistar_features
    • First observedplanejar_consulta
    • First observedrecomendar_tools
    • First observedsearch_tools

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation3/5

There is noticeable overlap between recomendar_tools, planejar_consulta, and search_tools, as all accept natural language queries and return tool recommendations, albeit in different formats. listar_features and listar_datasets_disponiveis are distinct but share a similar prefix. The remaining tools are clearly separated.

Naming Consistency2/5

Tool names mix Portuguese (listar, recomendar, planejar, executar) and English (search, call), creating an inconsistent impression. Although most follow a verb_noun pattern, the language switch is jarring and not predictable.

Tool Count5/5

Seven tools is well-scoped for a meta-orchestration server. Each tool serves a distinct role in the discovery, planning, and execution workflow without unnecessary redundancy or excessive count.

Completeness4/5

The tool set covers the main workflow: listing features, discovering tools, planning queries, and executing them individually or in batch. Minor gaps exist, such as no direct tool to manage datasets or inspect feature details, but the core surface is functional.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that provides real-time access to Brazilian agricultural data, including commodity prices, crop estimates, climate information, and deforestation rates. It integrates data from 19 public sources like CEPEA, CONAB, and IBGE to enable LLMs to analyze the Brazilian agribusiness sector.
    2
    10
    27
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Connects AI agents to 28 Brazilian public APIs, providing over 200 tools to access data on economy, legislation, transparency, and the judiciary. It enables complex queries and cross-referencing of government datasets like IBGE, the Central Bank, and the National Congress through natural language.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    This MCP server provides AI-optimized access to Brazil's largest open data platform, Base dos Dados, enabling dataset search and direct BigQuery SQL execution for Brazilian public datasets.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP Server for accessing 36 Brazilian public data sources and 1 agent, enabling AI agents to query government data on economy, legislation, transparency, judiciary, elections, environment, health, and more.
    MIT