consultar_meios_pagamento_mensal
Query monthly payment method data from Brazil's Central Bank, including PIX, bank slips, TED, DOC, and card transactions. Specify year-month to retrieve statistics for analysis.
Instructions
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).
Input Schema
TableJSON Schema
| 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'") |
Implementation Reference
- src/index.ts:275-298 (handler)Core handler logic for executing the 'consultar_meios_pagamento_mensal' tool. Parses input arguments, calls fetchBCBData with the specific OData endpoint for monthly payment methods, and returns the JSON-formatted API response.case "consultar_meios_pagamento_mensal": { const { ano_mes, top = 100, skip, filtro } = args as { ano_mes: string; top?: number; skip?: number; filtro?: string; }; const data = await fetchBCBData(`MeiosdePagamentosMensalDA(AnoMes=@AnoMes)?@AnoMes='${ano_mes}'`, { formato: "json", top, skip, filter: filtro, }); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; }
- src/index.ts:68-92 (schema)Input schema definition for the tool, specifying required 'ano_mes' parameter in YYYYMM format and optional pagination/filter parameters.{ name: "consultar_meios_pagamento_mensal", description: "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).", inputSchema: { type: "object", properties: { ano_mes: { type: "string", description: "Ano e mês no formato YYYYMM (exemplo: '202312')", }, top: { type: "number", description: "Número máximo de registros a retornar (padrão: 100)", }, skip: { type: "number", description: "Número de registros a pular para paginação", }, filtro: { type: "string", description: "Filtro OData para refinar a consulta (exemplo: \"Modalidade eq 'PIX'\")", }, }, required: ["ano_mes"], },
- src/http-server.ts:279-302 (handler)MCP server handler for 'consultar_meios_pagamento_mensal' tool execution, identical logic to stdio version.case "consultar_meios_pagamento_mensal": { const { ano_mes, top = 100, skip, filtro } = args as { ano_mes: string; top?: number; skip?: number; filtro?: string; }; const data = await fetchBCBData(`MeiosdePagamentosMensalDA(AnoMes=@AnoMes)?@AnoMes='${ano_mes}'`, { formato: "json", top, skip, filter: filtro, }); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; }
- src/http-server.ts:58-83 (schema)Input schema definition for the tool in HTTP server version, identical to stdio server.{ name: "consultar_meios_pagamento_mensal", description: "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).", inputSchema: { type: "object", properties: { ano_mes: { type: "string", description: "Ano e mês no formato YYYYMM (exemplo: '202312')", }, top: { type: "number", description: "Número máximo de registros a retornar (padrão: 100)", }, skip: { type: "number", description: "Número de registros a pular para paginação", }, filtro: { type: "string", description: "Filtro OData para refinar a consulta (exemplo: \"Modalidade eq 'PIX'\")", }, }, required: ["ano_mes"], }, },
- src/index.ts:37-51 (helper)Shared helper function to perform API requests to the BCB Olinda service, handling URL building, axios GET, and error wrapping. Used by all tool handlers.async function fetchBCBData(endpoint: string, params: QueryParams = {}) { try { const url = buildUrl(endpoint, params); const response = await axios.get(url, { headers: { "Accept": "application/json" } }); return response.data; } catch (error) { if (axios.isAxiosError(error)) { throw new Error(`Erro ao consultar API do BCB: ${error.message}`); } throw error; }