BCB Payment Methods MCP Server
This MCP server provides programmatic access to the Brazilian Central Bank's open payment data through AI assistants, enabling natural language queries about payment system metrics.
Core Capabilities:
Payment methods data: Query monthly (YYYYMM) and quarterly (YYYYQ) statistics for PIX, TED, DOC, bank slips (boletos), and other payment methods
Card transactions: Access detailed information about payment card stock, transaction volumes, and values by quarter
Accredited establishments: Track the number of merchants authorized to accept electronic payment methods
Market rates: Monitor interchange rates and discount rates charged to commercial establishments
ATM statistics: Query data about automated teller machines and self-service terminals
Cardholder information: Retrieve insights about payment card holders and their activity
Features:
Advanced filtering: Apply OData filters with operators (eq, ne, gt, ge, lt, le, and, or) to refine queries
Pagination control: Manage data retrieval with
top(limit) andskip(offset) parametersNatural language interface: Ask questions like "What were the PIX transaction volumes in December 2023?"
Multi-platform support: Works with Claude Desktop (local stdio), ChatGPT (remote HTTP/SSE), and other LLMs supporting the MCP protocol
Provides access to Brazilian Central Bank's open data API for payment methods, enabling queries on PIX transactions, card payments, ATM statistics, interchange rates, and other payment system data through the Banco Central do Brasil.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BCB Payment Methods MCP Servershow me PIX transaction data for December 2023"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Servidor MCP - Dados Abertos de Meios de Pagamento do BCB
Servidor MCP (Model Context Protocol) para acessar os dados abertos de meios de pagamento do Banco Central do Brasil através de LLMs como Claude, ChatGPT e outros.
📋 Descrição
Este servidor MCP fornece acesso programático à API de Dados Abertos de Meios de Pagamento do Banco Central do Brasil, permitindo que assistentes de IA consultem informações sobre:
💳 Transações com cartões de pagamento
📊 Dados mensais e trimestrais de meios de pagamento
🏪 Estabelecimentos credenciados
💰 Taxas de intercâmbio e desconto
🏧 Estatísticas de terminais ATM
👥 Informações sobre portadores de cartão
📱 Dados sobre PIX, TED, DOC, boletos e outros
Related MCP server: openfinance-br-mcp
🚀 Instalação
# Clone o repositório
git clone https://github.com/seu-usuario/bcb-meios-pagamento-mcp.git
cd bcb-meios-pagamento-mcp
# Instale as dependências
npm install
# Compile o TypeScript
npm run build🔧 Configuração
Este servidor oferece duas formas de uso:
Opção 1: Claude Desktop (Uso Local)
Para uso local com Claude Desktop, adicione ao arquivo de configuração (~/Library/Application Support/Claude/claude_desktop_config.json no macOS ou %APPDATA%/Claude/claude_desktop_config.json no Windows):
{
"mcpServers": {
"bcb-meios-pagamento": {
"command": "node",
"args": ["/caminho/completo/para/bcb-meios-de-pagamentos/dist/index.js"]
}
}
}Opção 2: ChatGPT (Servidor Remoto)
ChatGPT requer que o servidor esteja hospedado com HTTPS. Siga estas etapas:
Passo 1: Deploy do Servidor
Escolha uma opção de deployment:
Opção A - Render (Recomendado - Free Tier)
Crie uma conta em render.com
Conecte seu repositório GitHub
Use as configurações do arquivo
render.yamlincluídoSeu servidor estará disponível em
https://seu-app.onrender.com
Opção B - Railway
Crie uma conta em railway.app
Faça deploy do repositório
Use as configurações do arquivo
railway.jsonincluídoSeu servidor estará disponível em
https://seu-app.railway.app
Opção C - ngrok (Desenvolvimento Local)
# Terminal 1: Inicie o servidor HTTP
npm run dev:http
# Terminal 2: Exponha via ngrok
ngrok http 3000Consulte DEPLOYMENT.md para guia completo de deployment.
Passo 2: Configurar no ChatGPT/OpenAI
O servidor agora expõe endpoints REST compatíveis com a OpenAI MCP:
Endpoints Disponíveis:
GET /- Informações do servidorGET /tools- Lista todas as tools disponíveisPOST /tools/call- Executa uma toolGET /sse- Endpoint SSE para clientes MCP padrãoGET /health- Health checkGET /mcp/info- Informações do servidor MCP
Configuração na OpenAI:
Acesse a plataforma OpenAI com uma conta que tenha acesso ao MCP
Configure o servidor MCP com as seguintes informações:
URL Base:
https://seu-servidor.comEndpoints:
Listar Tools:
GET /toolsChamar Tool:
POST /tools/call
Tipo: HTTP REST API (MCP)
A OpenAI descobrirá automaticamente as tools através do endpoint
/toolsTeste perguntando: "Quais foram os dados de PIX em dezembro de 2023?"
Nota: Se a OpenAI não conseguir descobrir as tools automaticamente, você pode usar o endpoint SSE:
URL SSE:
https://seu-servidor.com/sseTipo: Server-Sent Events (SSE)
Opção 3: Outros LLMs
Este servidor segue o protocolo MCP padrão e é compatível com qualquer LLM que suporte:
Modo Local: Protocolo stdio (como Claude Desktop)
Modo Remoto: Protocolo SSE via HTTP/HTTPS (como ChatGPT)
🛠️ Ferramentas Disponíveis
1. consultar_meios_pagamento_mensal
Consulta dados mensais sobre meios de pagamento (PIX, TED, DOC, boletos, etc.).
Parâmetros:
ano_mes(obrigatório): Formato YYYYMM (ex: "202312")top(opcional): Número máximo de registrosskip(opcional): Paginaçãofiltro(opcional): Filtro OData
Exemplo:
Consulte os dados de meios de pagamento para dezembro de 20232. consultar_meios_pagamento_trimestral
Consulta dados trimestrais de cartões e transferências.
Parâmetros:
trimestre(obrigatório): Formato YYYYQ (ex: "20234")top(opcional): Número máximo de registrosskip(opcional): Paginaçãofiltro(opcional): Filtro OData
Exemplo:
Mostre os dados trimestrais do 4º trimestre de 20233. consultar_transacoes_cartoes
Consulta estoque e transações de cartões.
Parâmetros:
trimestre(obrigatório): Formato YYYYQtop(opcional): Número máximo de registrosordenar_por(opcional): Campo para ordenaçãofiltro(opcional): Filtro OData
4. consultar_estabelecimentos_credenciados
Consulta quantidade de estabelecimentos credenciados.
Parâmetros:
trimestre(obrigatório): Formato YYYYQtop(opcional): Número máximo de registrosordenar_por(opcional): Campo para ordenaçãofiltro(opcional): Filtro OData
5. consultar_taxas_intercambio
Consulta taxas de intercâmbio do mercado.
Parâmetros:
trimestre(obrigatório): Formato YYYYQtop(opcional): Número máximo de registrosfiltro(opcional): Filtro OData
6. consultar_taxas_desconto
Consulta taxas de desconto cobradas de estabelecimentos.
Parâmetros:
trimestre(obrigatório): Formato YYYYQtop(opcional): Número máximo de registrosfiltro(opcional): Filtro OData
7. consultar_terminais_atm
Consulta estatísticas sobre terminais ATM.
Parâmetros:
trimestre(obrigatório): Formato YYYYQtop(opcional): Número máximo de registrosfiltro(opcional): Filtro OData
8. consultar_portadores_cartao
Consulta informações sobre portadores de cartão.
Parâmetros:
trimestre(obrigatório): Formato YYYYQtop(opcional): Número máximo de registrosfiltro(opcional): Filtro OData
📖 Exemplos de Uso
Após configurar o servidor, você pode fazer perguntas naturais ao seu assistente de IA:
Quais foram os dados de PIX em dezembro de 2023?
Mostre as transações com cartões no último trimestre de 2023
Quantos estabelecimentos estavam credenciados no 3º trimestre de 2023?
Quais são as taxas de intercâmbio atuais?🔍 Filtros OData
Você pode usar filtros OData para refinar suas consultas:
Modalidade eq 'PIX'
Trimestre eq '20234'
Valor gt 1000000Operadores suportados:
eq: igualne: diferentegt: maior quege: maior ou iguallt: menor quele: menor ou igualand: e lógicoor: ou lógico
🔗 API do Banco Central
Este servidor utiliza a API oficial de Dados Abertos do Banco Central do Brasil: https://olinda.bcb.gov.br/olinda/servico/MPV_DadosAbertos/versao/v1/swagger-ui3
📄 Licença
MIT
🤝 Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
📧 Contato
Para dúvidas ou sugestões, abra uma issue no GitHub.
📚 Documentação Adicional
DEPLOYMENT.md - Guia completo de deployment para ChatGPT
GUIA_CONFIGURACAO.md - Configuração detalhada
EXEMPLOS.md - Exemplos de uso
🔄 Atualizações
v1.0.0 (2024): Versão inicial com 8 ferramentas principais
v1.1.0 (2025): Adicionado suporte para ChatGPT via HTTP/SSE
v1.2.0 (2025): Adicionados endpoints REST compatíveis com OpenAI MCP (
/tools,/tools/call)
Available Tools
8 toolsconsultar_estabelecimentos_credenciadosB
Consulta quantidade de estabelecimentos credenciados para aceitar meios de pagamento eletrônico por trimestre.
| Name | Required | Description | Default |
|---|---|---|---|
| trimestre | Yes | Ano e trimestre no formato YYYYQ (exemplo: '20234') | |
| top | No | Número máximo de registros a retornar (padrão: 100) | |
| ordenar_por | No | Campo para ordenação | |
| filtro | No | Filtro OData para refinar a consulta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that the tool performs a consultation and does not clarify whether the result is an aggregated count or a paginated list, nor does it disclose pagination, filtering behavior, or other operational characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundant wording. Every part of it contributes to identifying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with fully documented parameters, this reaches the minimum viability threshold. However, with no output schema or annotations, the description should more clearly state whether the tool returns a single quantity or a list of records, and it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even though the description adds no parameter-level detail. The phrase 'por trimestre' only reinforces the trimestre parameter and does not explain top, filtro, or ordenar_por beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('estabelecimentos credenciados'), a specific action ('Consulta'), and the relevant time dimension ('por trimestre'). This clearly separates it from sibling tools focused on taxas, terminais, portadores, and transações.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says nothing about when to use this tool versus any of its siblings, and no alternative tools are referenced. The only implicit clue is 'por trimestre', which could help distinguish it from monthly tools, but that selection logic is never stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_meios_pagamento_mensalA
Consulta dados mensais sobre meios de pagamento, incluindo operações com boletos bancários, PIX, TED, DOC e outros. Use o formato YYYYMM para o parâmetro ano_mes (exemplo: '202312' para dezembro de 2023).
| Name | Required | Description | Default |
|---|---|---|---|
| ano_mes | Yes | Ano e mês no formato YYYYMM (exemplo: '202312') | |
| top | No | Número máximo de registros a retornar (padrão: 100) | |
| skip | No | Número de registros a pular para paginação | |
| filtro | No | Filtro OData para refinar a consulta (exemplo: "Modalidade eq 'PIX'") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. The verb 'Consulta' implies a read-only operation and the description discloses data scope plus the YYYYMM date constraint. But it says nothing about response shape, pagination limits, or other operational behavior that an agent would need to know when invoking it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste: the first states purpose and scope with concrete payment-method examples, the second pins down the required date format with a worked example. Purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a query tool with 4 parameters and 1 required, the description plus fully-covered schema provide the essentials: what it does, its monthly scope, and the required parameter format. A brief note on the return shape would strengthen it, especially given the absence of an output schema, but nothing critical is missing for invoking it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description's YYYYMM format guidance merely repeats what the schema already states for ano_mes and adds nothing new about top, skip, or filtro.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Consulta' (query) plus a clear resource: 'dados mensais sobre meios de pagamento', with explicit scope enumeration (boletos, PIX, TED, DOC). The 'mensal' qualifier inherently separates it from the 'trimestral' sibling, so an agent can tell them apart without opening either tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear usage context by stating this tool covers monthly data, which implicitly contrasts with the quarterly payment-method sibling. However, it never explicitly names the alternative or states a when-not-to-use condition, leaving the routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_meios_pagamento_trimestralB
Consulta dados trimestrais sobre operações com cartões de pagamento e transferências de crédito. Use o formato YYYYQ para o parâmetro trimestre (exemplo: '20234' para o 4º trimestre de 2023).
| Name | Required | Description | Default |
|---|---|---|---|
| trimestre | Yes | Ano e trimestre no formato YYYYQ (exemplo: '20234' para 4º trimestre de 2023) | |
| top | No | Número máximo de registros a retornar (padrão: 100) | |
| skip | No | Número de registros a pular para paginação | |
| filtro | No | Filtro OData para refinar a consulta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. 'Consulta' implies a read-only operation, and the resource phrase indicates what data is returned. The format caveat adds context about how trimestre is interpreted. However, nothing is disclosed about pagination behavior, OData filtering, result limits, or response shape, which matters given there is no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with purpose stated first and the format rule second. The second sentence is redundant with the schema's trimestre description, but it is short and usefully emphasizes the only required parameter. No wasted words overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward read-query tool, the purpose and the required parameter's format are adequately covered. But with no annotations and no output schema, the description offers no hints about the response contents, nor does it route the agent between the quarterly and monthly variants. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even without parameter detail in the description. The description's YYYYQ guidance for trimestre merely restates what the schema already documents ('Ano e trimestre no formato YYYYQ'), adding no new meaning; top, skip, and filtro are left entirely to the schema. The description neither compensates for gaps nor adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Consulta') and resource ('dados trimestrais sobre operações com cartões de pagamento e transferências de crédito'), making the tool's subject matter clear. The word 'trimestrais' implicitly distinguishes it from the monthly sibling consultar_meios_pagamento_mensal, but no sibling is named explicitly, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance offered is the YYYYQ format instruction for the trimestre parameter, which is a parameter-format rule rather than tool-selection guidance. There is no statement about when to use this tool versus consultar_meios_pagamento_mensal or the other transaction-query siblings, and no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_portadores_cartaoB
Consulta informações sobre portadores de cartões de pagamento por trimestre.
| Name | Required | Description | Default |
|---|---|---|---|
| trimestre | Yes | Ano e trimestre no formato YYYYQ (exemplo: '20234') | |
| top | No | Número máximo de registros a retornar (padrão: 100) | |
| filtro | No | Filtro OData para refinar a consulta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It merely repeats the read-style verb 'consulta' and the quarter filter, but does not disclose whether the operation is read-only, any required permissions, return behavior, or limitations. The behavioral information provided adds little beyond what the tool name and schema already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It is short and to the point, though it omits some guidance; conciseness itself is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-oriented tool, the schema covers all parameters and the description states the purpose. However, there is no output schema or sibling context, and the description does not indicate what the returned 'informações' contain, leaving some ambiguity. Overall it is minimally sufficient but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a description. The tool description adds no parameter details beyond the generic quarter scope, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses an explicit verb ('consulta') and a concrete resource ('portadores de cartões de pagamento'), and the 'por trimestre' qualifier ties it to the required quarter parameter. It clearly distinguishes the tool from the sibling tools, which deal with taxes, terminals, payment methods, transactions, and merchants.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no mention of when to use this tool versus its seven siblings, and no exclusions or alternative routing. The description only states the general purpose, leaving an agent to infer the selection from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_taxas_descontoC
Consulta taxas de desconto cobradas de estabelecimentos comerciais por operações com meios de pagamento.
| Name | Required | Description | Default |
|---|---|---|---|
| trimestre | Yes | Ano e trimestre no formato YYYYQ (exemplo: '20234') | |
| top | No | Número máximo de registros a retornar (padrão: 100) | |
| filtro | No | Filtro OData para refinar a consulta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates a query-like read operation, but does not disclose whether it is read-only, whether authentication or permissions are needed, how results are returned, or any side effects. This is minimal for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant or filler content. It is efficiently front-loaded with the core action and resource, though it is arguably too brief given the lack of annotations and sibling differentiation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations, no output schema, and several closely related sibling tools. The description does not explain the return value, required quarter format behavior, pagination implications, or how this tool differs from alternatives. This is not enough context for an agent to select and invoke it correctly in all situations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents all three parameters including the required 'trimestre' format and the 'top' and 'filtro' purpose. The description adds no parameter-level meaning beyond the schema, which lands at the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Consulta') and a specific resource ('taxas de desconto cobradas de estabelecimentos comerciais por operações com meios de pagamento'). The subject matter is distinct enough from sibling tools like consultar_taxas_intercambio or consultar_transacoes_cartoes, though it does not explicitly name or contrast itself with any sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus sibling alternatives. The description only states what the tool does, leaving the agent to infer usage context; it does not mention exclusions, prerequisites, or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_taxas_intercambioB
Consulta taxas de intercâmbio praticadas no mercado de meios de pagamento por trimestre.
| Name | Required | Description | Default |
|---|---|---|---|
| trimestre | Yes | Ano e trimestre no formato YYYYQ (exemplo: '20234') | |
| top | No | Número máximo de registros a retornar (padrão: 100) | |
| filtro | No | Filtro OData para refinar a consulta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden alone. It only signals a read-style query via 'Consulta' and the quarterly window; it does not disclose response shape, pagination, error behavior, or access requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes the resource, domain, and period, making it economically written.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter query tool, the schema covers the required trimestre format and optional top/filtro. However, with no output schema or annotations, the description leaves the return payload and selection guidance unspecified, which keeps it slightly below complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters with 100% coverage. The description adds no parameter detail beyond the quarterly scope mentioned in the purpose, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Consulta' and names the exact resource, 'taxas de intercâmbio ... por trimestre.' This clearly distinguishes it from sibling tools like consultar_taxas_desconto and the monthly/quarterly payment-means tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to choose this tool over the siblings, no exclusions, and no prerequisites. The only usage signal is the quarterly scope embedded in the purpose, which is not explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_terminais_atmA
Consulta estatísticas sobre terminais de autoatendimento (ATM/caixas eletrônicos) por trimestre.
| Name | Required | Description | Default |
|---|---|---|---|
| trimestre | Yes | Ano e trimestre no formato YYYYQ (exemplo: '20234') | |
| top | No | Número máximo de registros a retornar (padrão: 100) | |
| filtro | No | Filtro OData para refinar a consulta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Como não há annotations, a descrição carrega a responsabilidade de indicar comportamento. Ela comunica que é uma operação de leitura/consulta e que os dados são agregados por trimestre, mas não descreve o formato do retorno, limites além do default de top, ou quaisquer restrições operacionais.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A descrição é uma frase única, sem palavras desnecessárias, com o recurso principal e a dimensão temporal claramente front-loaded. O parêntese explicativo (ATM/caixas eletrônicos) agrega clareza sem inflar o texto.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para um tool simples de consulta, com todos os parâmetros documentados no schema, a descrição é suficiente para identificar o propósito. No entanto, não há output schema e a descrição não detalha quais estatísticas são retornadas, o que deixa uma lacuna perceptível para o agente saber exatamente o que esperar.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A cobertura do schema é 100%, então os parâmetros já estão bem documentados. A descrição apenas ecoa 'por trimestre', que corresponde ao parâmetro obrigatório trimestre, sem adicionar significado novo sobre top, filtro ou formato exato de trimestre além do que o schema já informa.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição usa o verbo 'Consulta' e identifica um recurso específico ('terminais de autoatendimento (ATM/caixas eletrônicos)') com granularidade temporal ('por trimestre'), o que a distingue dos irmãos como consultar_taxas_intercambio e consultar_estabelecimentos_credenciados pelo assunto. Falta, porém, uma comparação explícita com outros tools ou a natureza exata das estatísticas retornadas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
O caso de uso é implícito: o agente deve inferir que esta ferramenta é adequada quando a consulta envolve estatísticas de ATMs por trimestre. Não há orientação explícita sobre quando usar uma alternativa nem sobre exclusões ou pré-requisitos.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultar_transacoes_cartoesC
Consulta estoque e transações de cartões de pagamento por trimestre. Retorna dados sobre quantidade e valor das transações realizadas com cartões.
| Name | Required | Description | Default |
|---|---|---|---|
| trimestre | Yes | Ano e trimestre no formato YYYYQ (exemplo: '20234') | |
| top | No | Número máximo de registros a retornar (padrão: 100) | |
| ordenar_por | No | Campo para ordenação (exemplo: 'Trimestre desc') | |
| filtro | No | Filtro OData para refinar a consulta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It does convey that this is a read operation returning quantity and value data, but it contains an internal contradiction between 'estoque e transações' and 'dados sobre... transações', and it omits behavioral traits like pagination (top defaults to 100), OData filtering, and sorting, which materially affect results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences that state the action and return data efficiently. Minor waste exists: 'transações' and 'cartões' appear in both sentences, and the misleading 'estoque' mention in sentence one could be removed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must explain return values and behavior, but it only vaguely says 'quantidade e valor das transações' without structure, pagination, or scope details. It also fails to differentiate from quarterly-payment siblings, leaving an agent uncertain about which tool to invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the parameter descriptions are already informative, including the YYYYQ format example, the default value of 100, and an OData filter explanation. The tool description adds no parameter meaning beyond echoing 'por trimestre', so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (consultar transações de cartões por trimestre) and discloses the return subject (quantidade e valor das transações). However, the first sentence mentions 'estoque e transações' while the second clarifies only transaction data is returned, creating ambiguity about whether the tool also queries physical card stock.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the overlapping siblings, particularly consultar_meios_pagamento_trimestral which also queries quarterly payment data. The only implicit context is 'por trimestre' echoed in the required trimestre parameter; no exclusions or alternatives are named.
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.
8 tool updates
- First observed
consultar_estabelecimentos_credenciados - First observed
consultar_meios_pagamento_mensal - First observed
consultar_meios_pagamento_trimestral - First observed
consultar_portadores_cartao - First observed
consultar_taxas_desconto - First observed
consultar_taxas_intercambio - First observed
consultar_terminais_atm - First observed
consultar_transacoes_cartoes
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose targeting specific data sets within the BCB payment methods domain, such as establishments, monthly/quarterly payment data, cardholders, fees, ATMs, and card transactions. No overlap exists; the descriptions precisely differentiate the scope of each query.
All tool names follow a consistent 'consultar_' prefix with descriptive nouns in Portuguese, using snake_case uniformly. This pattern is predictable and enhances readability across the set.
With 8 tools, the server is well-scoped for querying BCB payment methods data, covering key aspects like establishments, transactions, fees, and infrastructure. Each tool earns its place without being excessive or insufficient.
The tool set provides comprehensive query coverage for historical and statistical data on payment methods, including establishments, transactions, fees, and infrastructure. A minor gap exists in lacking tools for creating or updating data, but this is reasonable for a read-only query server focused on BCB data.
Maintenance
Related MCP Connectors
Brazilian public data API for AI agents. BCB, IBGE, CVM, B3, compliance. x402 payments on Base.
Discover, resolve, and query official Brazilian economic data with semantic search and provenance.
Connect your Bradesco account to AI via Brazil's Open Finance: balances, statements, cards, investme
Connect your Caixa Tem account to AI via Brazil's Open Finance: balances, statements, cards, investm
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides access to Brazilian Central Bank open data on payment methods, including PIX, card transactions, and more, through natural language queries.8MIT
- AlicenseAqualityBmaintenanceEnables Claude to interact with the Open Finance Brasil APIs, allowing users to query accounts, balances, transactions, credit cards, PIX keys, initiate PIX payments, and view investments across supported Brazilian banks using natural language.181MIT
- AlicenseNot gradedqualityDmaintenanceConnects Brazilian banks (Itaú, Bradesco, Nubank, etc.) to AI agents, enabling natural language queries about expenses, statements, investments, and credit cards via regulated Open Finance.20MIT
- AlicenseNot gradedqualityBmaintenanceProvides point-in-time Brazilian market data and official statistics, enabling accurate backtesting and AI agent access to vintage, unrevised data, as well as Brazilian financial primitives like PIX code generation and business day calculations.MIT