Skip to main content
Glama
alanpcf

brasil-data-mcp

by alanpcf

brasil-data-mcp

npm version license node

一个 MCP 服务器,将巴西公共数据(CNPJ、CEP、银行、节假日)作为工具暴露给 Claude Desktop、Claude Code、Cursor、Windsurf 以及任何兼容 Model Context Protocol 的客户端。

MCP server exposing Brazilian public data (CNPJ, CEP, banks, holidays) as tools for Claude Desktop, Claude Code, Cursor, Windsurf and any MCP-compatible client.

由 BrasilAPI 提供支持 — 无需密钥,无需认证,官方数据。


🇧🇷 PT — 这是什么?

无需编写任何代码,即可将您的 AI 客户端连接到巴西公共数据。用自然语言提问:

  • "Qual a razão social do CNPJ 33.000.167/0001-01?" (CNPJ 33.000.167/0001-01 的公司名称是什么?)

  • "Esse CEP 01310-100 é em qual cidade?" (这个邮编 01310-100 在哪个城市?)

  • "Quem é o banco com código 341?" (代码为 341 的银行是哪家?)

  • "Quais os feriados nacionais de 2026?" (2026 年的全国节假日有哪些?)

Claude(或其他 MCP 客户端)会调用该工具,返回结构化的 JSON,您可以在对话中直接阅读葡萄牙语的回复。

可用工具

工具

功能

consultar_cnpj

企业注册数据:公司名称、状态、地址、合伙人、CNAE(经济活动代码)

consultar_cep

根据邮编获取完整地址(街道、街区、城市、州、坐标)

consultar_banco

根据 COMPE 代码获取巴西银行名称和 ISPB(例如:341 = Itaú, 260 = Nubank)

listar_bancos

BACEN 注册的巴西银行完整列表(约 250 家机构)

consultar_feriados

指定年份的全国节假日(日期、名称、类型)— 包括狂欢节和复活节


Related MCP server: jurisprudenciaia-mcp

🇺🇸 EN — What is it?

Plug your AI client into Brazilian public data with zero code. Ask in natural language and the LLM picks the right tool, calls it, and answers you with structured data from official sources (Receita Federal, ViaCEP, BACEN).

Currently ships with consultar_cnpj. CEP, banks and holidays are landing next.


🚀 安装 / Installation

以下所有说明均使用 npx -y brasil-data-mcp,它会下载并运行最新版本,无需全局安装。

Claude Desktop

编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "brasil-data": {
      "command": "npx",
      "args": ["-y", "brasil-data-mcp"]
    }
  }
}

重启 Claude Desktop。完成。

Claude Code

claude mcp add brasil-data -- npx -y brasil-data-mcp

Cursor

在项目根目录创建或编辑 .cursor/mcp.json:

{
  "mcpServers": {
    "brasil-data": {
      "command": "npx",
      "args": ["-y", "brasil-data-mcp"]
    }
  }
}

🛠️ 开发 / Development

git clone https://github.com/alanpcf/brasil-data-mcp.git
cd brasil-data-mcp
npm install

npm run dev      # tsx watch — hot reload em desenvolvimento
npm run lint     # tsc --noEmit
npm run build    # tsup → dist/index.js
npm test         # vitest

若要将您的 MCP 客户端指向本地构建版本而不是 npm 包:

{
  "mcpServers": {
    "brasil-data-local": {
      "command": "node",
      "args": ["/caminho/absoluto/para/brasil-data-mcp/dist/index.js"]
    }
  }
}

🗺️ 路线图

  • [x] 第一阶段 — 骨架 + HTTP 客户端 + consultar_cnpj

  • [x] 第二阶段 — consultar_cep, consultar_banco, listar_bancos, consultar_feriados + Vitest 测试

  • [ ] 第三阶段 — CI (GitHub Actions), CONTRIBUTING.md, 覆盖率 > 80%, 发布到 npm

  • [ ] 第四阶段 — FIPE, DDD, ISBN, 利率 (SELIC/CDI/IPCA), CVM, 工作流的 MCP 提示词


💡 为什么会有这个项目

大多数 AI 工具都是使用美国数据进行训练和演示的:ZIP code、EIN、FedEx 追踪。当巴西开发者想问 LLM “给我 CNPJ X 的注册信息”时,要么只能去爬虫,要么手动编写 HTTP 集成,要么直接放弃。

brasil-data-mcp 是最快捷的途径:只需一个 npx,您的 Claude(或 Cursor、Windsurf)就能“说巴西公共数据语言”。一切开源、MIT 协议、无密钥、无恶意速率限制 — 因为 BrasilAPI 已经完成了统一和缓存官方数据的繁重工作。

如果您是巴西开发者并且每天使用 LLM,这个服务器就是为您准备的。


🤝 贡献 / Contributing

非常欢迎提交 Issue 和 PR。要添加新工具,请遵循 src/tools/cnpj.ts 的模式(Zod schema + 描述 + 处理程序)并在 src/index.ts 中注册。

详细指南请见 CONTRIBUTING.md (即将推出)。


Built with ❤️ in Brazil. Powered by BrasilAPI.

Available Tools

15 tools
consultar_bancoA

Consulta os dados de um banco brasileiro pelo código COMPE/Febraban via BrasilAPI (fonte: BACEN). Retorna em JSON: nome curto, nome completo, código, ISPB (identificador no SPB). Use quando o usuário fornecer um código de banco e quiser saber o nome, ou quando precisar do ISPB pra montar um PIX/TED. NÃO use para: buscar banco por nome (use listar_bancos e filtre), validar conta corrente, ou consultar agência/conta. Códigos comuns: 001=BB, 104=CEF, 237=Bradesco, 341=Itaú, 260=Nubank, 077=Inter.

ParametersJSON Schema
NameRequiredDescriptionDefault
codigoYesCódigo COMPE/Febraban do banco (1 a 4 dígitos). Aceita string ou número. Ex: 341 (Itaú), 260 (Nubank), 237 (Bradesco).

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description takes full responsibility for behavioral disclosure. It accurately characterizes the tool as a read-only query ('consulta') that returns JSON data from an external source (BrasilAPI/BACEN), with no mention of side effects. This is adequate for a simple read operation.

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 succinct, with front-loaded purpose and no unnecessary words. Each sentence contributes distinct value: source, output, usage scenarios, anti-patterns, and common codes. Ideal length for quick understanding.

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 tool's simplicity (1 required parameter, no output schema), the description covers all necessary aspects: purpose, input, output format, usage guidelines, and examples. No gaps remain for an agent to misinterpret.

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%, and the parameter description in the schema already details the code format, allowed types, and examples. The description adds only redundant examples and no new semantic information beyond the schema, so baseline score of 3 is appropriate.

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 specifies the action ('consultar') and resource ('banco brasileiro pelo código COMPE/Febraban'), distinguishes from siblings by focusing on a specific query via API, and lists the returned fields (nome curto, nome completo, código, ISPB).

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

Usage Guidelines5/5

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

Explicitly states when to use (user provides bank code, needs name or ISPB for PIX/TED) and when NOT to use (search by name, validate account, consult agency/account), including an alternative tool (listar_bancos) for name-based search.

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

consultar_cambioA

Consulta a cotação de câmbio oficial de uma moeda estrangeira em relação ao Real (BRL) numa data, via boletins PTAX do Banco Central (BrasilAPI). Retorna em JSON os boletins do dia (ABERTURA, INTERMEDIÁRIO, FECHAMENTO) com cotação de compra e venda em BRL, paridade e data_hora_cotacao. A fonte NÃO expõe o dia corrente: com data omitida a tool consulta ontem (a cotação mais recente disponível), e em data sem pregão a API retorna os boletins do último dia útil anterior. Use quando o usuário perguntar 'quanto tá o dólar?' (retorna a cotação mais recente, do dia útil anterior), 'cotação do euro em 26/06', 'quanto fechou a libra sexta-feira' — qualquer pergunta sobre valor de moeda estrangeira em reais. NÃO use para: criptomoedas (não está nesta API), BRL (é a moeda base), série histórica (uma data por chamada), ou moedas fora das 10 suportadas — pra descobrir as moedas disponíveis use listar_moedas.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoData da cotação no formato YYYY-MM-DD (aceita também DD/MM/YYYY). Se omitida, usa ontem (fuso de Brasília) — a fonte não expõe o dia corrente. Em data sem pregão (fim de semana, feriado) a API retorna as cotações do último dia útil anterior.
moedaYesCódigo da moeda (ISO 4217), case-insensitive. Aceitas: USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK, SEK. Ex: 'USD'.

TDQS

A4.9/5.0
Behavior5/5

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

In absence of annotations, description discloses that source does not expose current day, omitted date defaults to yesterday, and non-trading days return last business day; also describes return JSON structure (ABERTURA, INTERMEDIÁRIO, FECHAMENTO with buy/sell rates). No contradictions.

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?

Description is front-loaded with purpose, then covers output, edge cases, usage, exclusions. Every sentence is informative and necessary.

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?

With 2 parameters, 100% schema coverage, no output schema, description fully covers return format, date edge cases, supported currencies, and exclusions. Complete for a single-query currency rate 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?

Schema covers 100% of parameters, but description adds context: date format, default behavior, list of ISO codes, case-insensitivity. Goes beyond 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?

Description clearly states verb 'Consulta', resource 'cotação de câmbio oficial de uma moeda estrangeira em relação ao Real (BRL) numa data', and output format. Differentiates from sibling tools by mentioning listar_moedas for supported currencies.

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

Usage Guidelines5/5

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

Explicitly provides use cases (e.g., quanto tá o dólar?) and non-use cases (criptomoedas, BRL, historical series, unsupported currencies). Also directs to listar_moedas for discovering available currencies.

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

consultar_cepA

Consulta endereço completo a partir de um CEP brasileiro via BrasilAPI v2 (agrega ViaCEP, Postmon e outros provedores com fallback automático). Retorna em JSON: estado (UF), cidade, bairro, logradouro e, quando disponível, coordenadas geográficas. Use quando o usuário pedir o endereço de um CEP, validar um CEP, ou descobrir cidade/UF a partir de um CEP. NÃO use para: códigos postais de outros países, descobrir CEP a partir de endereço (a operação é só CEP → endereço, não inversa). Aceita CEP com ou sem hífen.

ParametersJSON Schema
NameRequiredDescriptionDefault
cepYesCEP brasileiro com ou sem hífen. Aceita '01310-100' ou '01310100'. Deve ter 8 dígitos.

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the use of multiple providers with automatic fallback, return fields including coordinates, and input format. Lacks specifics on error handling but sufficient for a simple lookup.

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?

Description is two sentences, front-loaded with purpose, and every sentence adds value. No redundancy or wasted words.

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 tool's simplicity (single parameter, no output schema), the description covers purpose, usage, input format, and return fields. Complete for an agent to select and invoke correctly.

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?

Input schema has 100% coverage for the single parameter 'cep'. The description adds value by clarifying acceptable formats (with or without hyphen, 8 digits), which is not in schema. Provides usage guidance beyond 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 clearly states the tool consults full addresses from Brazilian CEPs via BrasilAPI v2, with multiple providers and fallback. It explicitly distinguishes from siblings by focusing on CEPs, not other postal codes.

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

Usage Guidelines5/5

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

The description explicitly advises when to use: for address lookup, validation, or discovering city/state from a CEP. It also clearly states when not to use: for non-Brazilian codes or reverse lookup.

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

consultar_cnpjA

Consulta dados cadastrais de uma empresa brasileira pelo CNPJ na Receita Federal (via BrasilAPI). Retorna em JSON: razão social, nome fantasia, situação cadastral (ativa/baixada/etc), data de abertura, endereço completo, CNAE principal e secundários, sócios (QSA), capital social, natureza jurídica, porte (MEI/ME/EPP/Demais), telefones, e-mail, simples nacional/MEI. Use quando o usuário pedir informações sobre uma empresa identificada por CNPJ. Fonte: BrasilAPI por padrão (sem chave), inclusive CNPJ alfanumérico (IN RFB 2.229/2024). Se a variável de ambiente CPFCNPJ_TOKEN estiver definida, usa o provedor premium cpfcnpj.com.br (dados oficiais em tempo real, pacote configurável) e cai para a BrasilAPI se o provedor falhar; aí o campo 'fonte' na resposta indica a origem. Sem o token a resposta é o JSON cru da BrasilAPI, igual às versões anteriores. NÃO use para: CPF (pessoa física), empresas estrangeiras, ou validação local de formato (rejeite formato inválido sem chamar a tool). Aceita CNPJ com ou sem máscara.

ParametersJSON Schema
NameRequiredDescriptionDefault
cnpjYesCNPJ da empresa, com ou sem máscara. Aceita numérico ('12.345.678/0001-90' ou '12345678000190') e alfanumérico da IN RFB 2.229/2024 (ex.: '12ABC34501DE35').

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden, and it delivers: it discloses the default provider, the optional CPFCNPJ_TOKEN premium provider, fallback behavior, the 'fonte' field in responses, the raw BrasilAPI JSON shape without a token, and invalid-format rejection behavior. This is thorough and goes far beyond the schema.

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

Conciseness4/5

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

The description is dense but well organized: purpose and output first, provider behavior second, exclusions last. It is longer than strictly necessary (e.g., 'igual às versões anteriores' is legacy context), but every major sentence earns its place and the critical information is front-loaded.

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?

There is no output schema, but the description compensates by listing the JSON fields returned (razão social, QSA, CNAE, porte, etc.). It also covers provider selection, fallback, optional authentication, and validation behavior, so an agent has everything needed to call the tool correctly.

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 schema already documents the single CNPJ parameter at 100% coverage, so the baseline is 3. The description adds value by explicitly requiring invalid-format rejection before invoking the tool and by confirming both masked/unmasked and alphanumeric CNPJ acceptance, reinforcing and slightly extending the schema 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 opens with a specific verb and resource: 'Consulta dados cadastrais de uma empresa brasileira pelo CNPJ na Receita Federal (via BrasilAPI).' It enumerates the returned data and clearly distinguishes this from the sibling lookup tools (CEP, banco, feriados, etc.), so an agent can identify what the tool does at a glance.

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

Usage Guidelines5/5

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

It states exactly when to use the tool ('Use quando o usuário pedir informações sobre uma empresa identificada por CNPJ') and gives explicit when-not-to-use guidance: CPF, foreign companies, and local format validation, including the instruction to reject invalid formats without calling the tool. This is explicit routing beyond the sibling names.

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

consultar_corretoraA

Consulta dados cadastrais de uma corretora de valores autorizada pela CVM (Comissão de Valores Mobiliários) via BrasilAPI. Retorna em JSON: CNPJ, nome social, nome comercial, status (em funcionamento, cancelada, etc), endereço completo, e-mail, telefone, data de início e patrimônio quando disponível. Use quando o usuário fornecer um CNPJ e quiser saber se é uma corretora autorizada pela CVM, ou puxar os dados cadastrais. NÃO use para: empresas em geral (use consultar_cnpj), corretoras de seguros (CVM só regula valores mobiliários), ou buscar por nome (a API só aceita CNPJ).

ParametersJSON Schema
NameRequiredDescriptionDefault
cnpjYesCNPJ da corretora, com ou sem máscara. 14 dígitos. Ex: '02.332.886/0011-78' (XP Investimentos).

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, but description covers return format (JSON) and fields included. Does not mention rate limits or error handling, but sufficient for a simple query tool.

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

Conciseness4/5

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

Single paragraph with clear sections for purpose, return data, and usage guidelines. Concise but thorough, no wasted words.

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 simple lookup with one parameter and no output schema, description is complete: explains what it does, what it returns, and when to use it.

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?

Schema covers 100% of parameter, description adds value by specifying format (com ou sem máscara, 14 dígitos) and providing an example, which exceeds schema description.

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?

Description clearly states it consults cadastral data of a securities broker authorized by CVM via BrasilAPI, specifies the resource and source, and distinguishes from sibling tools like consultar_cnpj.

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

Usage Guidelines5/5

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

Explicitly provides when to use (user provides CNPJ to check if authorized broker) and when not to use (for general companies, insurance brokers, or search by name), with clear alternatives.

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

consultar_dddA

Lista as cidades atendidas por um código DDD brasileiro via BrasilAPI. Retorna em JSON: estado (UF) e lista de cidades que usam aquele DDD. Use quando o usuário perguntar de onde é um DDD, quais cidades um DDD cobre, ou descobrir o estado de um número de telefone. NÃO use para: validar número de telefone completo, descobrir DDD a partir de cidade (a operação só é DDD → cidades), ou consultar DDDs internacionais.

ParametersJSON Schema
NameRequiredDescriptionDefault
dddYesCódigo DDD brasileiro (2 dígitos). Aceita string ou número. Ex: 11 (São Paulo capital), 21 (Rio), 41 (Curitiba), 71 (Salvador).

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, description covers the read-only nature and return format. Minor missing details on potential errors or rate limits, but sufficient for an API lookup.

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?

Three sentences, front-loaded with main function and output, followed by usage rules. No wasted words.

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?

Despite no output schema, description explains return format. Could mention external dependency on BrasilAPI availability, but overall adequate for a simple lookup.

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 only parameter 'ddd' has full schema description with examples. Description adds clarifications on accepted types (string/number) and example codes, 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 clearly states it lists cities by DDD code via BrasilAPI and returns JSON with state and cities. It is distinct from sibling tools like consultar_cep, which handle different data.

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

Usage Guidelines5/5

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

Explicitly states when to use (e.g., user asks about DDD coverage) and when not to (e.g., full phone validation, reverse lookup), providing clear boundaries.

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

consultar_dominio_brA

Consulta o status de registro de um domínio .br direto na base do registro.br (via BrasilAPI). Retorna em JSON: status (AVAILABLE = disponível pra registro, REGISTERED = já registrado), fqdn, hosts (servidores DNS) e expires-at quando registrado, e suggestions de extensões quando disponível. O resultado nunca é cacheado — é sempre o status atual. Use quando o usuário perguntar 'o domínio X.com.br tá livre?', 'quando expira Y.org.br?', 'quem responde pelo DNS de Z.br?'. NÃO use para: domínios internacionais .com/.net/gTLDs (a base é só .br), dados de titular/whois completo (a API não expõe), ou hospedagem/conteúdo do site.

ParametersJSON Schema
NameRequiredDescriptionDefault
dominioYesDomínio .br a verificar. Aceita URL completa ou domínio puro — será normalizado (remove http(s)://, www. e caminho). Ex: 'exemplo.com.br' ou 'https://www.exemplo.com.br/pagina'.

TDQS

A4.7/5.0
Behavior4/5

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

Discloses that results are never cached (always current), returns specific fields, and notes what the API does not expose (titular/whois). No annotations are provided, so the description carries the full burden; it does well but could mention potential rate limits or authentication.

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 brief (3-4 sentences) with front-loaded purpose, no redundant words, and clear bullet points for output types. Every sentence adds value.

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?

Despite no output schema, the description fully explains return fields (status, fqdn, servers, expiry, suggestions) and covers when/not to use. It is complete for a single-parameter query 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?

Schema coverage is 100% with a description, but the description adds value by explaining normalization of input (URLs, www, path removal) and acceptable formats. This goes beyond what the schema alone provides.

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 checks .br domain registration status from registro.br via BrasilAPI, specifying exact purpose and output fields. It distinguishes well from sibling tools like consultar_cep or consultar_cnpj by focusing solely on .br domains.

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

Usage Guidelines5/5

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

Explicitly provides when-to-use examples ('o domínio X.com.br tá livre?') and clear exclusions: not for international domains, whois data, or hosting. This fully guides agent selection.

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

consultar_feriadosA

Lista os feriados NACIONAIS brasileiros de um ano específico via BrasilAPI. Retorna em JSON um array com data (YYYY-MM-DD), nome do feriado e tipo (national/optional). Inclui feriados móveis calculados (Carnaval, Páscoa, Corpus Christi). Use quando o usuário perguntar quando cai um feriado, listar feriados do ano, planejar emendas/pontes, ou calcular dias úteis. NÃO use para: feriados estaduais ou municipais (a API só cobre nacionais), datas comemorativas sem dia de folga (Dia das Mães etc.), ou anos fora da faixa 1900-2199.

ParametersJSON Schema
NameRequiredDescriptionDefault
anoYesAno dos feriados, 4 dígitos. Faixa aceita: 1900 a 2199. Ex: 2026.

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 full burden. It discloses return format (JSON array with date, name, type), inclusion of movable holidays (Carnival, Easter, Corpus Christi), and the API source. No contradictions.

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 the main action. Every sentence provides unique value, with no redundant or filler content.

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 simple list tool with no output schema, the description covers return format, included holiday types, and usage constraints (national only, year range). Complete enough for correct invocation.

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%, baseline 3. Description reinforces the acceptable year range but adds little beyond the schema's parameter description. It does not introduce new semantic details.

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 it lists national Brazilian holidays for a specific year via BrasilAPI, with a specific verb and resource. It is distinct from sibling tools (bank, CEP, CNPJ, etc.), making it unambiguous.

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

Usage Guidelines5/5

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

Explicitly provides when to use (e.g., querying holidays, planning weekends) and when not to use (state/municipal holidays, non-holiday dates, years outside 1900-2199), with clear exclusions.

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

consultar_isbnA

Consulta metadados de um livro pelo ISBN via BrasilAPI (agrega CBL, Mercado Editorial, Open Library e Google Books). Retorna em JSON: título, subtítulo, autores, editora, ano, idioma, número de páginas, assunto/categoria, sinopse (quando disponível) e fonte do dado. Use quando o usuário fornecer um ISBN e quiser saber sobre o livro (título, autor, editora, ano). NÃO use para: buscar livro por título ou autor (a operação é só ISBN → metadados), validar formato sem consultar (rejeite local se não bater 10/13 dígitos), ou consultar preço/disponibilidade. Aceita ISBN-10 e ISBN-13, com ou sem hífens.

ParametersJSON Schema
NameRequiredDescriptionDefault
codigoYesISBN do livro, 10 ou 13 dígitos. Aceita com ou sem hífens. Ex: '978-85-325-3080-2' ou '9788532530802'.

TDQS

A4.8/5.0
Behavior5/5

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

The description discloses it is a read operation returning JSON with specific fields (título, subtítulo, autores, etc.), aggregates multiple sources, and performs local validation of ISBN length. No annotations are present, so the description fully covers behavior.

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 compact (4 sentences) and front-loaded with the core purpose. Every sentence adds value: function, return info, usage cases, and exclusions. No redundancy.

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 single-parameter tool without annotations or output schema, the description covers purpose, usage, return details, and validation. It lacks explicit error handling (e.g., ISBN not found), but the coverage is otherwise comprehensive.

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 input schema already fully describes the parameter 'codigo' (type, format, example) with 100% coverage. The description adds further context about ISBN-10/ISBN-13 acceptance and validation, enhancing understanding 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 clearly states the verb ('Consulta'), the resource ('metadados de um livro pelo ISBN'), and the sources (BrasilAPI, CBL, etc.), distinguishing it from sibling tools (consultar_cep, consultar_cnpj, etc.) which focus on other types of queries.

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

Usage Guidelines5/5

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

Explicit when-to-use ('quando o usuário fornecer um ISBN e quiser saber sobre o livro') and when-not-to-use (search by title/author, format validation, price/availability) are provided, guiding the agent effectively.

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

consultar_municipiosA

Lista todos os municípios de uma UF brasileira com nome e código IBGE de 7 dígitos, via BrasilAPI. Retorna em JSON um array de {nome, codigo_ibge}. Atenção: estados grandes retornam listas longas (SP tem 645 municípios, ~30KB) — prefira usar só quando precisar da lista ou do código de um município. Use quando o usuário precisar do código IBGE de um município ou listar as cidades de um estado. NÃO use para: buscar um município por nome no país inteiro (a API só filtra por UF — se souber o estado, consulte-o), endereços/CEP (use consultar_cep), ou dados populacionais.

ParametersJSON Schema
NameRequiredDescriptionDefault
ufYesSigla da unidade federativa, 2 letras, case-insensitive. Ex: 'SP', 'rj', 'DF'.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, description carries behavioral disclosure. It warns about long lists for large states (SP: 645 items, ~30KB) and specifies return format (JSON array). Could mention error behavior or rate limits, but current info is valuable.

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

Conciseness4/5

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

Description is moderately concise with front-loaded purpose. Each sentence adds value, though some repetition could be trimmed (e.g., 'Prefira usar...' and 'Use quando...' are similar).

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 simple tool (1 param, no output schema), description is comprehensive: covers purpose, input format, output structure, size warning, and exclusions. No gaps remain for competent use.

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?

Only one parameter 'uf' with schema covering 100% (2-letter state code). Description doesn't add extra meaning beyond schema, but schema is clear. Baseline 3 applies.

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?

Description clearly states the tool lists municipalities by UF, providing name and 7-digit IBGE code. It distinguishes from siblings by specifying scope (list all) and not for other lookups like CEP or population.

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

Usage Guidelines5/5

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

Explicitly states when to use (need IBGE code or list cities) and when not to (country-wide name search, address/CEP, population). Recommends alternative tool 'consultar_cep' for addresses.

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

consultar_taxaA

Consulta o valor atual de uma taxa econômica brasileira (SELIC, CDI, IPCA) via BrasilAPI. Retorna em JSON: nome da taxa e valor atual (% ao ano). Use quando o usuário perguntar 'qual a SELIC hoje?', 'CDI atual?', 'inflação do IPCA?' — qualquer pergunta sobre o valor corrente de uma taxa específica. NÃO use para: série histórica (a API devolve só o último valor), outras taxas além de SELIC/CDI/IPCA, ou consultar dólar/bolsa (não está nesta API). Pra panorama com todas as 3 taxas use listar_taxas.

ParametersJSON Schema
NameRequiredDescriptionDefault
siglaYesSigla da taxa, case-insensitive. Aceita: 'Selic' (taxa básica de juros), 'CDI' (Certificado de Depósito Interbancário), 'IPCA' (inflação oficial).

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, but description discloses return format (JSON with name and value), limitation (only latest value, no history), and is clearly read-only. Could explicitly state 'read-only' but context makes it evident.

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

Conciseness4/5

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

Description is 3 sentences, front-loaded with core purpose, then usage guidelines. Efficient and well-structured; slight room to be more concise (e.g., bullet points) but no fluff.

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 1-param tool, description covers purpose, usage, exclusions, and return format. Could mention error handling or API reliability, but overall sufficient.

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 already covers the single parameter (sigla) with values, case-insensitivity, and meanings. Description adds no new info beyond schema; baseline 3 is appropriate.

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?

Description clearly states it consults current Brazilian economic rates (SELIC, CDI, IPCA) via BrasilAPI, with specific verbs and resource. It distinguishes from sibling tool listar_taxas, which provides an overview of all three.

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

Usage Guidelines5/5

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

Explicitly states when to use (user asks for current specific rate), when not to use (historical data, other rates, dollar/stock market), and alternative tool (listar_taxas for all three rates). No ambiguity.

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

listar_bancosA

Lista TODOS os bancos brasileiros cadastrados no BACEN via BrasilAPI. Retorna em JSON um array com nome, código COMPE/Febraban e ISPB de cada instituição. Use quando o usuário quiser uma lista completa, buscar banco por nome (você filtra o resultado), ou descobrir o código de um banco específico cujo nome ele forneceu. NÃO use quando o usuário já forneceu o código numérico — nesse caso use consultar_banco que é mais barato. A lista tem ~250 entradas; cite só os relevantes na resposta.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses return format (JSON array), size (~250 entries), and suggests citing only relevant ones. Lacks rate limit or auth info but acceptable for public API.

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

Conciseness4/5

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

Single paragraph but well-structured: starts with purpose, then usage guidelines, then constraints. Could be more structured but effective.

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?

No output schema, but description adequately explains return values (array with name, code, ISPB). Also provides size and response suggestion, making it complete for this no-param 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?

Zero parameters, so baseline 4. Description adds value by explaining output structure and usage beyond 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?

Clearly states it lists all Brazilian banks from BACEN via BrasilAPI, returning name, code, and ISPB. Differentiates from sibling tool consultar_banco for specific code.

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

Usage Guidelines5/5

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

Explicitly says when to use (complete list, search by name, discover code) and when not to (if user provided numeric code, use consultar_banco which is cheaper). Provides filtering guidance.

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

listar_estadosA

Lista as 27 unidades federativas do Brasil (26 estados + DF) com dados do IBGE, via BrasilAPI. Retorna em JSON um array com id (código IBGE), sigla, nome, região (Norte/Nordeste/Centro-Oeste/Sudeste/Sul) e capital de cada UF. Use quando o usuário precisar do código IBGE de um estado, agrupar estados por região, validar siglas de UF ou saber a capital. NÃO use para: municípios (use consultar_municipios), dados demográficos ou populacionais (não estão nesta API).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Although no annotations are provided, the description clearly states the source (IBGE via BrasilAPI), the output structure, and what data is not included (demographic/population). It could have mentioned idempotency or caching, but for a static list, the transparency is adequate.

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?

Description is concise with no filler, front-loaded with the main action, then provides details, usage guidance, and exclusions. Every sentence adds value.

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 zero parameters and no output schema, the description fully covers what the tool does, what it returns, and when to use it. The context is complete for an agent to select and invoke the tool correctly.

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?

Input schema has no parameters, so description carries full burden. It adds meaning by describing the output fields and usage context, compensating for the lack of param info. No extra param details needed.

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?

Description explicitly states it lists all 27 Brazilian states with IBGE data, returning JSON array with specific fields (id, sigla, nome, região, capital). It clearly distinguishes from sibling tools like 'consultar_municipios' by specifying it does not handle municipalities.

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

Usage Guidelines5/5

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

Provides explicit use cases: needing IBGE code, grouping by region, validating UF acronyms, or knowing capital. Also gives explicit negative cases: not for municipalities (refer to consultar_municipios) and not for demographic data (not in this API).

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

listar_moedasA

Lista as moedas estrangeiras com cotação disponível na BrasilAPI (boletins PTAX/BACEN). Retorna em JSON um array com símbolo (ISO 4217), nome e tipo de cada moeda — 10 moedas: USD, EUR, GBP, JPY, CHF, CAD, AUD, DKK, NOK, SEK. Use quando o usuário quiser saber quais moedas têm cotação disponível ou não souber o código da moeda. NÃO use para obter a cotação em si — use consultar_cambio.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavior: it is a read-only list operation with no parameters, returns JSON array of 10 specific currencies with symbol, name, and type. No destructive 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?

Three sentences, each essential. Front-loaded with primary purpose, then details and usage guidance. No wasted words.

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 no output schema, description explains return format (JSON array) and content (symbol, name, type) and enumerates the currencies. No parameters mean no missing parameter info. Fully complete.

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?

No parameters exist, so the description fully covers parameter semantics. Baseline 4 is appropriate since there is nothing to explain 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?

Description clearly states it lists foreign currencies with available quotes from BrasilAPI, lists the exact 10 currencies and output fields. Distinguishes from sibling tool consultar_cambio by explicitly stating not to use for quotes.

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

Usage Guidelines5/5

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

Provides explicit usage guidance: use when user wants to know which currencies have quotes or doesn't know the currency code; do not use for obtaining the quote itself (use consultar_cambio instead).

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

listar_taxasA

Lista TODAS as taxas econômicas brasileiras disponíveis na BrasilAPI (SELIC, CDI, IPCA) com seus valores atuais. Retorna em JSON um array com nome e valor (% ao ano) de cada taxa. Use quando o usuário quiser um panorama econômico, comparar SELIC vs CDI vs IPCA, ou não souber a sigla específica. NÃO use quando o usuário já sabe qual taxa quer — use consultar_taxa que é semanticamente mais direto. Hoje são só 3 taxas; o payload é pequeno.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, so description carries full behavioral burden. It describes return format (JSON array with name and value), mentions payload size is small, and lists exactly 3 taxes. It doesn't mention any destructive actions (none expected). Could be improved by noting data source or update frequency, but adequate.

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?

Highly concise yet informative. Front-loaded with purpose, followed by usage guidance and return format. Every sentence adds value without redundancy.

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 no output schema, description explains the return structure (JSON array with name and value), lists the specific rates, and notes there are exactly 3. This is complete for a simple list 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?

Input schema has zero parameters, and schema coverage is 100% (vacuously). Baseline for zero-param tools is 4. The description doesn't need to add parameter info, and it correctly implies no user input is needed.

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?

Description clearly states the tool lists all Brazilian economic rates (SELIC, CDI, IPCA) with current values. It distinguishes itself from sibling consultar_taxa by noting it returns all rates vs a specific one.

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

Usage Guidelines5/5

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

Explicitly provides use cases: when user wants a panoramic view or doesn't know specific rate. Also states when NOT to use (when user knows specific rate) and directs to the sibling consultar_taxa.

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. 1 tool updatev0.4.0
    • Changedconsultar_cnpj1 field changed
      • changedInput schema / properties / cnpj / description
        Previous value: -"CNPJ da empresa, com ou sem máscara. Aceita '12.345.678/0001-90' ou '12345678000190'. Deve ter 14 dígitos."New value: +"CNPJ da empresa, com ou sem máscara. Aceita numérico ('12.345.678/0001-90' ou '12345678000190') e alfanumérico da IN RFB 2.229/2024 (ex.: '12ABC34501DE35')."
  2. 5 tool updatesv0.2.1
    • Addedconsultar_cambio
    • Addedconsultar_dominio_br
    • Addedconsultar_municipios
    • Addedlistar_estados
    • Addedlistar_moedas
  3. 5 tool updatesv0.2.0
    • Addedconsultar_corretora
    • Addedconsultar_ddd
    • Addedconsultar_isbn
    • Addedconsultar_taxa
    • Addedlistar_taxas
  4. 5 tool updatesv0.1.0
    • First observedconsultar_banco
    • First observedconsultar_cep
    • First observedconsultar_cnpj
    • First observedconsultar_feriados
    • First observedlistar_bancos

TDQS

A4.6/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a distinct Brazilian data resource (CNPJ, CEP, banks, holidays, DDD, ISBN, taxes, brokers, FX, states, municipalities, .br domains), and the descriptions explicitly state what each tool should not be used for. Even the companion list/consult tools (e.g., listar_bancos vs consultar_banco) have clear boundaries.

Naming Consistency5/5

All tools follow a consistent Portuguese snake_case pattern: consultar_ for lookup-by-identifier and listar_ for fetching full collections. There is no mixing of conventions or vague verbs.

Tool Count5/5

At 15 tools, the server is at the upper edge of the ideal range but each tool maps to a distinct BrasilAPI endpoint and earns its place. The consult/list pairs (bancos, taxas, moedas) are justified by different query needs rather than redundancy.

Completeness4/5

The server covers a broad and practical range of Brazilian public data queries, with sensible consult/list pairs and clearly documented read-only behavior. Obvious gaps include FIPE vehicle prices, demographic/census data, and inverse lookups (address to CEP, city to DDD), but these appear to be external API limitations rather than broken workflows.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    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.
    6
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Self-hosted MCP connector for querying Brazilian legal jurisprudence via JurisprudenciaIA. Enables natural language legal research using Claude.ai, with tools for consulting, searching, and comparing jurisprudence and legal theses.
    14
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that connects AI agents to 28 Brazilian public APIs, providing tools to query government data on economy, legislation, transparency, judiciary, elections, environment, health, and more.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Read-only MCP server for connecting to Pluggy Open Finance Brasil, exposing accounts, balances, transactions, and investments to Claude agents.
    -