Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Caixa Econômica Federal MCP

REMOTE · API.MCP.AI · SCANNED AUG 3

Connect your Caixa Econômica Federal account to AI via Brazil's Open Finance: balances, statements,

Available components

+3 this week 54 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security46
Transport & Reachability100
Schema Quality & AI Usability49
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 6201 tokens (~248/item across 25 items; 25 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage67
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · api.mcp.ai

# add to Claude Code
claude mcp add --transport http mcp-dir-caixa-mcp https://api.mcp.ai/p_caixa
# ~/.codex/config.toml
[mcp_servers.mcp-dir-caixa-mcp]
url = "https://api.mcp.ai/p_caixa"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mcp-dir-caixa-mcp": {
      "type": "remote",
      "url": "https://api.mcp.ai/p_caixa",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add mcp-dir-caixa-mcp --url https://api.mcp.ai/p_caixa --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  mcp-dir-caixa-mcp:
    url: "https://api.mcp.ai/p_caixa"
// mcp.json
{
  "mcpServers": {
    "mcp-dir-caixa-mcp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_caixa"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Server version: 0.9.200 → 0.9.201 functional
  • 2 Aug 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Server version: 0.9.199 → 0.9.200 functional
  • 1 Aug 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Server version: 0.9.197 → 0.9.199 functional
  • 31 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Server version: 0.9.185 → 0.9.194 functional
  • 28 Jul 26 −1
    • The server rewrote its instructions, which are the text every model session reads security
    • Server version: 0.9.184 → 0.9.185 functional
  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://api.mcp.ai/p_caixa

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.ai CN=WE1,O=Google Trust Services,C=US 31 Jul 2026 29 Oct 2026 ECDSA 256 ECDSA-SHA256 796a3b1f576e3f2e133c5d19d8f7be3b
SANs: mcp.ai, *.mcp.ai
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b
DNSSEC insecure

Validation of api.mcp.ai. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
mcp.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.mcp.ai/p_caixa Verified 200
http (plaintext) http://api.mcp.ai/p_caixa Inconclusive 406
MCP tools — 25 exposed · ~6,072 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
authenticate ~99

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

NameTypeReqDescription
tokenstring

No output schema declared.

No examples provided.

connect ~42

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

marketplace ~402

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin.

NameTypeReqDescription
actionstring
argumentsstring
cancel_commentstring
cancel_reasonstring
conversationstring
immediateboolean
limitnumber
mcp_idstring
messagestring
querystring
report_contextstring
request_detailsstring
request_namestring
tier_slugstring
tool_idstring

No output schema declared.

No examples provided.

openfinance_disconnect_bank ~54

Revokes the Open Finance consent for a specific bank and deletes the connection data. The bank's data will no longer be available. Returns an add_connection_url to re-connect if needed.

NameTypeReqDescription
itemstringyes

No output schema declared.

No examples provided.

openfinance_force_sync ~290

Forces the bank to re-sync one or more connections NOW and WAITS for it to finish (PATCH /items/:id, then polls until the item stops updating, up to ~60s). Use this when a balance or transaction list looks stale: a connection can read UPDATED yet be hours old, and this pulls fresh data WITHOUT disconnecting/reconnecting. Pass `items` as an array of selectors (item_id, connector_id, connector_name, or the user-set custom_label nickname); OMIT `items` to sync ALL linked banks. Returns `{ results, errors }`; each result has the final `status`, `executionStatus`, `lastUpdatedAt` (advances when data is refreshed), and `synced` (true = fresh data is ready). `needs_action` (e.g. MFA_REINTERACTION / LOGIN_ERROR / WAITING_USER_INPUT) means the user must re-authenticate — those results include a `reconnect_url` that opens the widget in UPDATE mode for that exact connection (user enters credentials / MFA token, data refreshes in place, no slot consumed, no disconnect needed). `timed_out: true` means the sync is still running — re-check with openfinance_get_item_status. Set `wait: false` for fire-and-forget (returns immediately while UPDATING).

NameTypeReqDescription
itemsarray
waitboolean

No output schema declared.

No examples provided.

openfinance_get_account_balance ~144

Returns real-time balance payload per account id (GET /accounts/:id/balance). Pass `account_ids` as an array (1–50). CREDIT accounts may return Pluggy BALANCE_FETCH_ERROR — those rows include a structured `warning` instead of throwing. When the financial institution is temporarily unavailable upstream (5xx) or the connector is not Open Finance, the row DEGRADES to the last-synced balance with `realtime: false`, `updatedAt` and a `warning` instead of an error. Response shape: `{ results: [...], errors: [{ id, status, message }] }`.

NameTypeReqDescription
account_idsarrayyes

No output schema declared.

No examples provided.

openfinance_get_accounts_detail ~120

Returns full account objects including extended creditData (additional cards, limits) per id (GET /accounts/:id). Pass `account_ids` as an array (1–50). `{ results, errors }` batch shape. May include a `provider_incident` block when the Open Finance provider has an OPEN incident affecting a connected bank: credit limits and balances may be unreliable (e.g. a limit near 1,00) until the provider recovers. Do not present those values as real.

NameTypeReqDescription
account_idsarrayyes

No output schema declared.

No examples provided.

openfinance_get_credit_card_bill ~289

Returns bill-level detail for one or more credit card bills by id (GET /bills/:id): financeCharges and payments[] (id, paymentDate, amount, valueType, paymentMode). Does NOT return individual transactions — to get itemized credit card transactions (purchases, subscriptions, etc.), use openfinance_list_transactions with the credit card account_id and a from/to date range matching the bill's billing cycle (approximately dueDate − 30d to dueDate); each transaction MAY carry a `creditCardMetadata.billId` hint toward its bill, but it's sparse/inconsistent on some connectors (e.g. Nubank), so do NOT reconstruct a bill total by summing transactions by billId — the bill's own `totalAmount` is authoritative. Pass `bill_ids` as an array — use openfinance_list_credit_card_bills first to discover ids. `{ results, errors }` batch shape. NOTE: Pluggy does NOT return a paid/status field. In Brazilian Open Finance, `payments[]` reflects payments registered during THIS bill's billing cycle — typically the payment of the PREVIOUS bill (do NOT assume this bill was paid just because `payments[]` is non-empty). To check paid status, prefer `openfinance_list_credit_card_bills` which derives `payment_status` via cross-bill match.

NameTypeReqDescription
bill_idsarrayyes

No output schema declared.

No examples provided.

openfinance_get_item_status ~141

Returns the current status of a bank connection (UPDATED, UPDATING, LOGIN_ERROR, etc.), its executionStatus, connector metadata, and a reconnect_url that reopens the widget in UPDATE mode for that connection (re-authenticate / enter MFA token in place, without disconnecting and without consuming a connection slot). Omit `item` to get the status of ALL linked banks at once (returns `{ count, items }`); pass `item` for a single bank. Bulk support: accepts item_ids for batched execution.

NameTypeReqDescription
itemstring
item_idstring
item_idsarray

No output schema declared.

No examples provided.

openfinance_get_loan_detail ~128

Returns full loan contract detail by id (GET /loans/:loanId): interestRates[] (taxType, ratePercentage, indexer), contractedFinanceCharges[], balloonPayments[], warranties[], installments schedule (installmentsCount, paidInstallments, numberOfInstallmentsRemaining, installmentFrequency), amortizationScheduled, CET, ipocCode and dates. Use after openfinance_list_loans to deep-dive on a specific contract. Pass `loan_ids` as an array (1-50). `{ results, errors }` batch shape.

NameTypeReqDescription
loan_idsarrayyes

No output schema declared.

No examples provided.

openfinance_list_accounts ~543

Returns accounts for a bank connection: BANK (checking/savings) and CREDIT (credit card) with balance, number, type, subtype, bankData, and creditData. Also returns `bank` (the brand/connector name like 'Nubank Empresas' — same shown in the dashboard UI) and `connector_id`. Note: each account's `name` is the legal entity that issues the account (e.g. 'Nu Pagamentos S.A. - Instituição de Pagamento'), which is not the same as the brand — when referring to the bank in user-facing text, use `bank`. OMIT `item` to list accounts across ALL linked banks at once — the response aggregates every connection's accounts into `results`, each row tagged with its own `bank`/`connector_id`/`item_id` (use this when the user asks for 'my accounts/cards' without naming a bank). Pass `item` to target a single bank (response carries `bank`/`connector_id`/`item_id` at the root). CREDIT (credit card) `balance`: its meaning is CONNECTOR-DEPENDENT — some banks report the current open-bill partial, others the full revolving/installment debt — so do NOT treat `balance` as 'this month's bill'. The open billing cycle is defined by `creditData.balanceCloseDate` (when it closes) / `balanceDueDate` (when it's due). For a standardized open-bill amount and total debt that mean the same across connectors, use openfinance_list_credit_card_bills (`open_bill` + `total_pending_debt`, derived from PENDING transactions); closed bills come from that same tool's `results`. May include a `provider_incident` block when the Open Finance provider has an OPEN incident affecting a bank in this response: balances and credit limits may be unreliable (incomplete or wrong, e.g. a credit limit near 1,00) even with the connection UPDATED, until the provider recovers. Do not present those values as real. May include an `identity_notice` when the SAME account (same number) arrives via two connections stamped with DIFFERENT owner/taxNumber: in Open Finance those fields reflect each connection's CONSENT HOLDER (e.g. a joint…

NameTypeReqDescription
itemstring
item_idstring
item_idsarray
typestring

No output schema declared.

No examples provided.

openfinance_list_categories ~90

Returns Pluggy's transaction category taxonomy (GET /categories), cached for the adapter session. Each entry has `id` (the categoryId used by openfinance_update_transaction_category), `description` (English), `descriptionTranslated` (Portuguese — prefer this for pt-BR users), `parentId` and `parentDescription` (the tree parent). Single aggregated response — no batch ids.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

openfinance_list_connections ~124

Returns the saved bank connections for this install: connector_id, item_id, bank name, a per-connection reconnect_url, and an add_connection_url to link additional banks via the Open Finance widget. The reconnect_url reopens the widget in UPDATE mode for that EXISTING connection (user re-enters credentials / MFA token and the data refreshes in place) — use it when a connection needs re-authentication (MFA connectors, LOGIN_ERROR, stale non-Open-Finance data). It does NOT consume a connection slot and does NOT require disconnecting first.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

openfinance_list_credit_card_bills ~970

Returns CLOSED credit card bills for a CREDIT-type account: dueDate, totalAmount, minimumPaymentAmount, allowsInstallments, plus `payments[]` (id, paymentDate, amount, valueType, paymentMode), `payments_count`, `payments_total`, finance charges aggregates, and a derived `payment_status` per bill. IMPORTANT — Brazilian Open Finance semantics: Pluggy does NOT return a `paid`/`status` field. The payment goes into the `payments[]` of the bill whose CYCLE contains the paymentDate (closing ≈ dueDate − 7d): pre-payment before close stays on the bill being paid; payment between close and due, or after due, lands on the NEXT bill. So `payments[]` on a bill commonly carries the previous bill's payment, NOT the current one's — do NOT assume this bill was paid just because `payments[]` is non-empty. Use the derived `payment_status` (`PAID` | `OPEN` | `PAST_DUE_UNCONFIRMED` | `PAST_DUE_UNPAID`): a bill is `PAID` when its OWN `payments[]` (early pre-payment) or ANY newer bill in the payload contains a payment with amount ≈ this bill's `totalAmount` (±R$0.50). The MOST RECENT bill that's past-due, with no own pre-payment match, cannot be confirmed via cross-bill (the next cycle hasn't closed yet) — it returns `PAST_DUE_UNCONFIRMED`. NEVER call such a bill 'vencida' categorically; flag that the payment may have been made between close and due and not yet reflected upstream. The full `payment_status_legend` is returned alongside the results. OPEN BILL & TOTAL DEBT (standardized, derived — OPT-IN): pass `include_open_bill:true` to ALSO get `open_bill` (the current not-yet-closed bill, próxima a vencer) and `total_pending_debt` (saldo devedor total = all pending installments), BOTH derived from PENDING transactions so they mean the same thing across connectors — use these instead of the CREDIT account's `balance`, whose meaning VARIES by connector (some report the open-bill partial, others the full installment debt). `open_bill` = { available, method (`cycle_dates` = real close/due d…

NameTypeReqDescription
account_idstringyes
account_idsarray
include_open_billboolean
pagenumber
page_sizenumber

No output schema declared.

No examples provided.

openfinance_list_investment_transactions ~142

Returns the movement history for a specific investment position: BUY / SELL / TAX / INTEREST / AMORTIZATION / TRANSFER. Each row carries quantity, value, amount, netAmount, agreedRate (treasury), brokerageNumber, and itemized `expenses` (brokerageFee, incomeTax, settlementFee, custodyFee, stockExchangeFee, etc.). Use after openfinance_list_investments to get the investment_id. Bulk support: accepts investment_ids for batched execution.

NameTypeReqDescription
investment_idstringyes
investment_idsarray
pagenumber
page_sizenumber

No output schema declared.

No examples provided.

openfinance_list_investments ~301

Returns the investment portfolio for a connection (broker or bank with INVESTMENTS product enabled): FIIs, stocks, ETFs, fixed income (CDB/LCI/LCA/Tesouro), mutual funds, retirement (previdência) and COE. Each row carries balance, amount, amountOriginal, amountProfit, lastMonthRate / annualRate / lastTwelveMonthsRate (when available), dueDate, issuer, ISIN, etc. Returns { total:0, results:[], warning } instead of throwing when INVESTMENTS isn't enabled (403) or other upstream errors. DATA INTEGRITY: when MULTIPLE positions come back as TOTAL_WITHDRAWAL with balance/quantity 0 at once (mass zeroing), the tool cross-checks each position's own transaction history upstream; if the zeroing is contradicted (BUY with no sale/redemption/transfer) the response carries `data_integrity_warning` and the affected rows are flagged `integrity:'suspect_zeroed'` — treat those balances as UNAVAILABLE (likely a temporary connector failure publishing zeros), never as real R$0, and do NOT sum them into the portfolio. Bulk support: accepts item_ids for batched execution.

NameTypeReqDescription
itemstring
item_idstring
item_idsarray
pagenumber
page_sizenumber
typestring

No output schema declared.

No examples provided.

openfinance_list_loans ~93

Lists loan contracts per bank connection (GET /loans). Pass `items` as an array of connection selectors (item_id uuid, connector_id, or connector_name) — one entry per connection to fetch; multiple connections are queried sequentially with rate-limit spacing. OMIT `items` to list loans across ALL linked banks. Returns `{ results, errors }` per connection.

NameTypeReqDescription
itemsarray

No output schema declared.

No examples provided.

openfinance_list_transactions ~1,014

Returns transactions for a bank account (BANK or CREDIT type). For CREDIT (credit card) accounts, this is the ONLY way to get itemized transactions (purchases, subscriptions, etc.). Each credit card transaction MAY carry `creditCardMetadata.billId` pointing at a bill from openfinance_list_credit_card_bills, but this is a per-connector HINT, not authoritative: some connectors (e.g. Nubank) populate it sparsely (many transactions and installments arrive with no billId) or inconsistently (the same payment tagged to more than one bill). Do NOT reconstruct a bill's total by summing transactions by billId — the bill's own `totalAmount` from openfinance_list_credit_card_bills is the source of truth. CREDIT PENDING vs POSTED varies by connector: where the bank exposes future-dated `status:'PENDING'` installments, those represent the OPEN bill plus future bills (future months); where it does NOT, only the last closed bill's POSTED items appear until ~closing. Same query, different coverage per bank (upstream). To get a standardized open-bill total / total debt regardless, use openfinance_list_credit_card_bills (`open_bill` / `total_pending_debt`). Supports from/to date filters (ISO YYYY-MM-DD) and an optional keyword filter via `search_queries` (case- and accent-insensitive substring match against description and merchant name, OR semantics across multiple terms). When `search_queries` is set the tool aggregates up to 5000 transactions within from/to before filtering — narrow from/to if `truncated:true` is returned. PAGINATION: OMIT both `page` and `page_size` (the default) to get ALL transactions in the from/to range in one call — the tool auto-paginates the upstream and returns them under a single logical page (`page:1`, `totalPages:1`), up to a 5000 ceiling (`truncated:true` + warning if exceeded, then narrow from/to). Passing `page` and/or `page_size` switches to MANUAL pagination: you get one page (`page_size` items, default 50, max 500; `page` defaults to 1) with the…

NameTypeReqDescription
account_idstringyes
account_idsarray
detailstring
fromstring
pagenumber
page_sizenumber
search_queriesarray
tostring

No output schema declared.

No examples provided.

openfinance_list_transactions_by_item ~447

Consolidated cash-flow analysis for a whole bank CONNECTION over a period, in ONE call. Resolves the connection's accounts internally and fans out their transactions, so you do NOT need to call openfinance_list_accounts first nor carry account_id uuids between calls. Pass `item` (connector_id, connector_name or item_id) to target one bank, or OMIT it to analyze ALL linked banks at once. `from`/`to` are ISO dates (YYYY-MM-DD). Default `granularity:'monthly'` returns a COMPACT summary (no raw rows): total entradas, saídas, saldo_liquido, monthly evolution (`por_mes`), and `top_despesas`/`top_recebimentos` (largest N each), plus a per-account breakdown (`by_account`). Use this for 'análise anual/mensal', 'fluxo de caixa', 'entradas e saídas', 'maiores gastos/recebimentos'. Set `granularity:'raw'` to ALSO get every consolidated transaction (heavier — only when itemized rows are needed); combine with `detail:'rich'` to enrich those rows with merchantInfo (cnpj/cnae/businessName/category) + extra creditCardMetadata (billId, purchaseDate, fees), or `detail:'raw'` for the full untouched Pluggy object per row, when the connector provides them. `type` filters BANK or CREDIT accounts. On a connection with many transactions the scan caps at 5000/account and flags `truncated:true`. May include a `provider_incident` block when the Open Finance provider has an OPEN incident affecting a connected bank: the totals/rows may be incomplete or wrong until the provider recovers, and reconnecting does not fix it. Bulk support: accepts item_ids for batched execution.

NameTypeReqDescription
detailstring
fromstring
granularitystring
itemstring
item_idstring
item_idsarray
tostring
top_nnumber
typestring

No output schema declared.

No examples provided.

openfinance_provider_status ~154

Checks the LIVE operational status of the Open Finance provider (its public status page) — this is the PROVIDER's health, separate from your own connection's `openfinance_get_item_status`. Use it whenever data looks incomplete or stale even though a connection shows UPDATED (accounts/transactions/balances missing, a bank not returning everything): it reveals an upstream outage or a known incident on a specific bank/connector, so you can tell a provider-side problem apart from a connection that just needs reconnecting. Returns the global indicator (none/minor/major/critical), degraded components, open incidents, and — when you have banks connected — flags the incidents that affect YOUR connected banks in `your_banks_affected`.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

openfinance_search_bank_connectors ~212

Searches the available bank connectors by name (pass keywords[], e.g. ['nubank','btg']) and returns, per match: the connector id, whether it's Open Finance or API (`access`), PF/PJ (`audience`), the user's already-linked connections (and accounts when include_accounts=true), and a ready `connect_url` with the bank pre-selected. Some non-Open-Finance credential connectors carry a `caveat` warning that they don't auto-update (needs periodic manual reconnection) — surface it so the user can prefer the institution's Open Finance connector for automation. Honors the user's plan (a PF plan hides PJ banks; a PJ plan covers BOTH — PF and PJ banks connect and count under the same plan). Call this BEFORE connecting to hand the user a one-click link to the right bank. keywords[] is REQUIRED — without it returns a hint (never dumps the whole catalog).

NameTypeReqDescription
include_accountsboolean
keywordsarray

No output schema declared.

No examples provided.

openfinance_update_transaction_category ~176

Corrects the category of one or more transactions (PATCH /transactions/:id). Pass `items` as an array of { transaction_id, category_id } — `transaction_id` comes from openfinance_list_transactions, `category_id` from openfinance_list_categories. This overrides Pluggy's automatic categorization AND teaches Pluggy: recategorizing a transaction automatically creates a Category Rule for this client (case-insensitive exact match on the transaction's data), so FUTURE similar transactions are categorized the same way — use this to fix miscategorized transactions and improve categorization accuracy going forward. Batch shape: returns `{ updated, results: [{ transaction_id, category, categoryId }], errors: [{ id, status, message }] }` — per-item errors do not fail the whole batch.

NameTypeReqDescription
itemsarrayyes

No output schema declared.

No examples provided.

report_bug ~50

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

NameTypeReqDescription
contextstring
conversationstring
messagestringyes

No output schema declared.

No examples provided.

show_version ~17

Show the current MCP platform and adapter versions.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

toolkit_info ~30

Returns the current toolkit state: installed MCPs, their connection status, and how many catalog tools each exposes.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.