Skip to main content
Glama
brunovicco

openfinance-br-mcp

by brunovicco

list_transactions

Read-only

Get a bank statement from Open Finance Brasil, filter transactions by date or credit/debit type, and optionally categorize them using AI.

Instructions

Returns the bank statement of an account on Open Finance Brasil with date and type filters. Supports automatic transaction categorization via AI (categorize=true, requires ANTHROPIC_API_KEY).

Args: subject_id: User's CPF. bank: Identifier of the participating bank. account_id: Account ID returned by list_accounts. ctx: MCP request context, providing access to shared adapters and the categorizer. date_from: Start date of the period. date_to: End date of the period. credit_debit_type: Restrict to credits or debits only. page: Page number (1-based). page_size: Records per page (1-1000). categorize: If true, categorizes each transaction via AI.

Returns: The account's transactions for the requested period.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bankYes
pageNo
date_toNo
date_fromNo
page_sizeNo
account_idYes
categorizeNo
subject_idYes
credit_debit_typeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bankYes
categorizedYes
total_pagesYes
transactionsYes
total_recordsYes
Behavior3/5

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

The annotation readOnlyHint=true already indicates a safe read operation. The description adds useful behavioral context, such as the AI categorization feature requiring ANTHROPIC_API_KEY and the role of ctx in providing adapters and categorizer. However, it does not mention consent requirements, rate limits, pagination behavior beyond the parameters, or error handling for missing API keys or invalid date ranges.

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 front-loaded with a clear one-sentence summary, followed by a well-organized Args block. It is appropriately sized for a tool with 9 parameters, but the inclusion of 'ctx' as an argument (not present in the schema) adds unnecessary noise and could confuse the agent. The structure is otherwise tight and each parameter earns its place.

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

Completeness3/5

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

Given the complexity of Open Finance Brasil and the presence of sibling consent tools, the description is adequate but has gaps. It explains the main purpose, parameters, and AI categorization, but does not mention that consent must be established before listing transactions, nor does it address potential edge cases like very large date ranges, pagination limits, or timezone handling. The existence of an output schema covers return values, so that is not a gap.

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

Parameters5/5

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

With schema description coverage at 0%, the description fully compensates by providing a clear explanation for every schema parameter: subject_id ('User's CPF'), bank ('Identifier of the participating bank'), date_from/date_to ('Start date of the period'), credit_debit_type ('Restrict to credits or debits only'), page ('Page number (1-based)'), page_size ('Records per page (1-1000)'), and categorize ('If true, categorizes each transaction via AI'). It also documents the ctx argument, though this is not in the schema, and links account_id to list_accounts.

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 'Returns the bank statement of an account on Open Finance Brasil with date and type filters,' which clearly identifies the tool's specific verb, resource, and filtering capabilities. This also differentiates it from sibling tools such as get_balance, list_credit_cards, and initiate_pix by focusing on transaction history rather than balances, cards, or payments.

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

Usage Guidelines3/5

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

Usage guidance is implied rather than explicit. The description notes that 'account_id: Account ID returned by list_accounts,' suggesting a prerequisite dependency on list_accounts, but it does not explicitly state when to choose this tool over alternatives or mention exclusions. There is no direct comparison to sibling tools or guidance on scenarios where other lists (e.g., investments, credit cards) would be more appropriate.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brunovicco/openfinance-br-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server