Skip to main content
Glama

Server Details

Ask your AI about Brazilian bank spending. Read-only bank access, never moves money. Paid plan.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
Omofi/mofi-mcp
GitHub Stars
0
Server Listing
Mofi
ChatGPT
–
Claude
–

TDQS

A4.1/5.0

Scored across 13 tools

Disambiguation4/5

Each tool targets a distinct resource (accounts, cards, connections, transactions, statements, recurring, sync jobs, identity, classifications), and descriptions explicitly separate the trickier pairs (connections_sync requests a refresh vs sync_get reads jobs). The main residual overlap is mofi_spending_get vs mofi_spending_summary_get, both aggregating spending, though the summary tool's 'use this first' guidance mitigates misselection.

Naming Consistency5/5

All 13 tools follow a uniform mofi_<resource>_<verb> pattern (accounts_get, transactions_get, classifications_save, connections_sync), with no camelCase or style mixing. The 'get' verb is used for find/list/filter uniformly, which is predictable.

Tool Count5/5

13 tools sits in the sweet spot for a personal-finance aggregation server, with each tool covering a distinct entity or analysis mode. Nothing appears redundant enough to cut, and no obvious entity type is missing a read tool.

Completeness4/5

The read surface is thorough: accounts, cards, connections, transactions, statements, recurring, spending aggregates and summaries, sync jobs, identity, plus classification overrides. Gaps are minor and likely intentional for a read-only aggregator — no connection revoke/delete, no bulk reclassification, and no budget/goal concept.

Available Tools

13 tools
mofi_accounts_getGet accountsA
Read-onlyIdempotent
Inspect

Find one owned account, list owned accounts, or filter by connection. Monetary values use { amount, currency } with amount as an exact decimal string; credit limits are not cash. Continue collections with page.nextCursor unchanged.

Inputs: mode (required), page, where, accountId. Returns: data, meta, mode, page, +1 more

mofi_cards_getGet cardsA
Read-onlyIdempotent
Inspect

Find one masked card, list cards, or filter by account or connection. Monetary values use { amount, currency } with amount as an exact decimal string; credit limits and available credit are not bank cash. Pass page.nextCursor unchanged to continue the same query.

Inputs: mode (required), page, where, cardId. Returns: data, meta, mode, page, +1 more

mofi_classifications_getGet classification rulesA
Read-onlyIdempotent
Inspect

Lists the canonical categories and supported exact-match provider rules. Rule coverage is partial; unknown or conflicting labels are not guessed. Personal overrides from mofi_classifications_save are applied to transaction, spending, and recurring results; source labels remain unchanged.

Inputs: mode (required). Returns: data, meta, mode, error

mofi_classifications_saveSave transaction categoryA
DestructiveIdempotent
Inspect

Set or clear your normalized category for one transaction. This personal override is applied to transaction, spending, and recurring results; provider labels stay unchanged. It does not move money.

Inputs: mode (required), transactionId, normalizedCode. Returns: data, meta, mode, error

mofi_connections_getGet connectionsA
Read-onlyIdempotent
Inspect

Find one connected institution, list connections, or filter by status. Results are owner-scoped. Continue a collection with page.nextCursor unchanged.

Inputs: mode (required), page, where, connectionId. Returns: data, meta, mode, page, +1 more

mofi_connections_syncSync connectionAInspect

Request a provider refresh and queue an import for one existing connection. A pending manual import may be coalesced and returned. Check mofi_sync_get before repeating an ambiguous request. This command never moves money.

Inputs: connectionId (required). Returns: data, meta, error

mofi_identity_getGet your Mofi identityA
Read-onlyIdempotent
Inspect

Return the name and email of the owner authorizing this Mofi connection.

Inputs: no named parameters. Returns: data, meta, error

mofi_recurring_getGet recurring spending patternsA
Read-onlyIdempotent
Inspect

Find repeated spending by payee (merchant or Pix recipient) and amount in an explicit period of at most 366 days. Monetary values use { amount, currency } with amount as an exact decimal string. Pending debits count and drop once posted. These are spending patterns, not confirmed subscriptions; fixed installments can resemble recurring charges. Cadence confidence is heuristic, not a probability; category confidence reflects recognized-category coverage. Own-account transfers (incl. Pix to your own CPF), card payments, refunds and investments are excluded. Separate refunds without a reliable provider link cannot be reconciled. At most 10,000 eligible transactions are analyzed; meta.historyComplete is false if more rows exist. Pass page.nextCursor unchanged. Pagination is best-effort. nextExpectedDate is predicted, not a bill.

Inputs: mode (required), where (required), page. Returns: data, meta, mode, page, +1 more

mofi_spending_getGet spendingA
Read-onlyIdempotent
Inspect

Aggregate debit transactions by category, merchant, month, weekday, account, or statement over an explicit period of at most 366 days. Totals use { amount, currency } with amount as an exact decimal string; Currencies remain separate; bank-converted ones count in the account's. Category groups use the institution's label unless you set an override. Pending debits count by default and drop once posted. Internal transfers (incl. own-CPF Pix) are left out and reported under excluded unless includeInternalTransfers; generic TRANSFER is spending unless exclude has 'transfer'. exclude matches Mofi's classification (your override, else the provider category rule, else known operation codes). meta.warnings flags connections that hold the same bank data. Group keys: category 'override:' (your override; drill down with mofi_transactions_get where.normalizedCode), 'value:' (where.category) or 'unknown'; merchant 'value:', 'description:' when the bank sent no merchant (where.search with a distinctive part), or 'unknown'. Pass page.nextCursor unchanged. For averages and top categories, prefer mofi_spending_summary_get.

Inputs: mode (required), where (required), groupBy (required), page, +3 more. Returns: data, meta, mode, page, +2 more

mofi_spending_summary_getGet spending summaryA
Read-onlyIdempotent
Inspect

Use this first for 'how much do I spend', monthly or weekly averages, and spending by category or merchant. Summarize debit spending over an explicit period of at most 366 days in one call: totals per month or ISO week (zero-spend periods included), the average over periods fully inside the range, and the top categories or merchants with the remainder. Totals use { amount, currency } with amount as an exact decimal string; Currencies remain separate; bank-converted ones count in the account's. Pending debits count by default and drop once posted. Internal transfers, card bill payments and investment moves are excluded by default and reported under excluded. Internal transfer is a simple heuristic: your category override is transfer, the provider category is 'Same person transfer', the operation code is an own-account transfer (incl. Pix to your own CPF), or a non-cancelled credit with the same currency and amount exists in another of your accounts within 3 days. A generic TRANSFER code alone is still spending. Card payments and investments match Mofi's classification: your override, else a bill-debit description, else the provider category rule, else known operation codes. Periods that have not ended yet are marked complete=false and left out of the average. meta.warnings flags connections that hold the same bank data. Breakdown keys follow mofi_spending_get group keys.

Inputs: mode (required), where (required), interval, breakdown, +5 more. Returns: data, meta, mode, error

mofi_statements_getGet statementsA
Read-onlyIdempotent
Inspect

Find or filter statements with observed linked-transaction totals by currency. Difference compares the statement total with posted and pending debits minus credits; canceled and removed rows are excluded. Coverage is always unknown, so a match does not prove the bill is complete or paid. Period and payment status remain unknown. Use the encrypted nextCursor unchanged.

Inputs: mode (required), page, where, statementId. Returns: data, meta, mode, page, +1 more

mofi_sync_getGet sync jobsA
Read-onlyIdempotent
Inspect

Read synchronization jobs by ID, list jobs, or filter by connection and/or status. Results are owner-scoped. Continue collections with page.nextCursor unchanged.

Inputs: mode (required), page, where, syncJobId. Returns: data, meta, mode, page, +1 more

mofi_transactions_getGet transactionsA
Read-onlyIdempotent
Inspect

Find an owned transaction by transactionId, list all, or AND untagged where predicates. Legacy id lookups and tagged selectors remain accepted; continue legacy cursors with the same selector. Search matches description or merchant substrings. Periods require startDate, endDate and timezone. Pages contain 1-1000 rows (default 500); totalCount counts all matches. Money uses { amount, currency }: exact decimal magnitude plus CREDIT/DEBIT direction. operationType is raw; category carries provider and normalized values. Unknown/generic PURCHASE codes add no classification; known category labels can. Conflicting signals have no economic type; mixed vehicle tax/fee labels are not guessed. statementId links are included. Mofi stores POSTED when status is missing. For the same user, connection, and account, reimports with the same provider ID update the existing row; no prior versions are retained. Distinct IDs are not linked or deduplicated as pending-to-posted transitions. Pass page.nextCursor unchanged.

Inputs: mode (required), id, page, where, +1 more. Returns: data, meta, mode, page, +1 more

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Connects Brazilian banks (Itaú, Bradesco, Nubank, etc.) to AI agents, enabling natural language queries about expenses, statements, investments, and credit cards via regulated Open Finance.
      27
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Connects Player's Bank via Open Finance Brasil to AI assistants, enabling natural language queries about balances, statements, card bills, and investments, read-only.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Connects your Inter bank account to AI assistants via Open Finance Brasil, enabling read-only queries about balances, statements, credit card bills, and investments in natural language.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Connects your Banco do Brasil account to AI assistants via Open Finance Brasil, allowing natural language queries about balances, statements, credit card bills, and investments. Read-only, regulated by the Central Bank.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.