Skip to main content
Glama
brunovicco

openfinance-br-mcp

by brunovicco

start_payment_consent

Initiates an Open Finance Brasil PIX payment consent by creating the consent and returning a bank authorization URL for user approval.

Instructions

Starts the Open Finance Brasil Payments API consent flow for one specific PIX payment.

Creates a payment consent describing exactly this payment, then builds a FAPI-BR compliant (PAR + JAR) authorization URL. The user must open this URL, log in, and authorize this specific payment at the bank. Once redirected back, call complete_payment_consent with the resulting URL, then initiate_pix to actually create the payment.

Args: subject_id: Payer's CPF (digits only) or internal ID. bank: Identifier of the participating bank. amount: Payment amount in BRL (e.g. '150.00'). creditor_key: PIX key of the recipient. creditor_key_type: Type of the recipient's key. debtor_account_id: ID of the account to debit. ctx: MCP request context, providing access to shared dependencies. description: Payment description/reason (max 140 chars). request_url_elicitation: Ask a compatible MCP client to open the bank authorization URL using URL-mode elicitation. The URL is still returned for clients that use the manual flow.

Returns: The payment consent ID and the URL the user must open to authorize it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bankYes
amountYesBRL amount serialized with exactly two decimal places.
subject_idYes
descriptionNo
creditor_keyYes
creditor_key_typeYes
debtor_account_idYes
request_url_elicitationNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
bankYes
consent_idYes
authorization_urlYes
expires_in_minutesYes
Behavior4/5

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

Annotations only indicate readOnlyHint=false and idempotentHint=false. The description adds meaningful behavioral context: it creates a payment consent, builds a FAPI-BR compliant authorization URL, requires the user to open the URL and authorize, and notes that the URL is still returned for manual flow. This goes beyond the annotations to disclose the external side effects and dependencies.

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 well-structured: it starts with a clear summary, then explains the overall flow, then lists parameters in an organized Args block. Every sentence serves a purpose; the detailed flow explanation is justified by the tool's complexity, and the parameter list is compact yet informative. No redundancy or 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?

Given the tool's complexity (8 parameters, multi-step flow), the description covers the essential context: what the tool does, how to use it in sequence, and the user interaction required. It briefly mentions return values ('consent ID and URL'). It doesn't detail error cases or security requirements, but for typical selection and invocation, the description is sufficient.

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?

With only 13% schema description coverage, the description compensates by explaining key parameters. It clarifies subject_id ('Payer's CPF (digits only) or internal ID'), amount ('BRL amount serialized with exactly two decimal places'), and description ('max 140 chars'). It also explains the nuanced URL elicitation parameter. This adds practical meaning beyond the raw 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's specific purpose: 'Starts the Open Finance Brasil Payments API consent flow for one specific PIX payment.' It distinguishes this from siblings like start_consent and complete_payment_consent by emphasizing it creates a consent for a specific payment and then builds the authorization URL.

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 provides explicit sequencing: 'Once redirected back, call complete_payment_consent with the resulting URL, then initiate_pix to actually create the payment.' It also explains when to use request_url_elicitation, giving clear context for when this tool is the appropriate choice.

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