consultar_portadores_cartao
Query quarterly data on payment card holders from Brazil's Central Bank (BCB) to analyze cardholder statistics and trends.
Instructions
Consulta informações sobre portadores de cartões de pagamento por trimestre.
Input Schema
TableJSON Schema
| 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 |
Implementation Reference
- src/index.ts:444-465 (handler)MCP handler for the tool: extracts trimestre, top, filtro parameters and fetches data from BCB's PortadoresCartaoDA API endpoint, returning formatted JSON response.case "consultar_portadores_cartao": { const { trimestre, top = 100, filtro } = args as { trimestre: string; top?: number; filtro?: string; }; const data = await fetchBCBData(`PortadoresCartaoDA(trimestre=@trimestre)?@trimestre='${trimestre}'`, { formato: "json", top, filter: filtro, }); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; }
- src/index.ts:238-260 (schema)Input schema definition for the tool, specifying required 'trimestre' parameter and optional top and filtro.{ name: "consultar_portadores_cartao", description: "Consulta informações sobre portadores de cartões de pagamento por trimestre.", inputSchema: { type: "object", properties: { trimestre: { type: "string", description: "Ano e trimestre no formato YYYYQ (exemplo: '20234')", }, top: { type: "number", description: "Número máximo de registros a retornar (padrão: 100)", }, filtro: { type: "string", description: "Filtro OData para refinar a consulta", }, }, required: ["trimestre"], }, }, ];
- src/index.ts:263-267 (registration)Registers the list of tools (including consultar_portadores_cartao) for MCP listTools requests.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools, }; });
- src/http-server.ts:448-469 (handler)Duplicate MCP handler implementation in the HTTP server module for the tool.case "consultar_portadores_cartao": { const { trimestre, top = 100, filtro } = args as { trimestre: string; top?: number; filtro?: string; }; const data = await fetchBCBData(`PortadoresCartaoDA(trimestre=@trimestre)?@trimestre='${trimestre}'`, { formato: "json", top, filter: filtro, }); return { content: [ { type: "text", text: JSON.stringify(data, null, 2), }, ], }; }
- src/index.ts:37-52 (helper)Helper function to fetch data from BCB Olinda API, used by all tool handlers including consultar_portadores_cartao.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; } }