Belvo connects AI agents to financial and government records in Brazil and Mexico, enabling them to retrieve bank account balances, transactions, bills, investments, invoices, tax returns, tax compliance status, and employment records for personal finance analysis and financial planning.
The fastmcp library is a Python client for MCP servers. Use it to call MewCP tools from your own scripts and services.
This guide connects Belvo MCP to Python through MewCP, so Python can use Belvo MCP's 20 tools, like get_connection_link, list_connections and refresh_connection, without your Belvo MCP credentials ever reaching the app.
Belvo MCP signs in through managed OAuth. MewCP stores the token encrypted, refreshes it before it expires and injects it only at call time. Your agent never holds it, so it can never leak it.
More apps
The Stripe MCP Server lets AI agents manage customers, products, prices, subscriptions, invoices, payment links, refunds, and disputes, retrieve payment data, and search Stripe’s API documentation.
DeepLedger connects AI agents to QuickBooks Online for bookkeeping and accounting automation. Create bills, invoices, expenses, payments, and journal entries; reconcile bank-feed transactions, generate financial reports, manage accounts receivable and payable, and track month-end close with human review for uncertain actions.
XDC AI is agent-native commerce on the XDC Network. AI agents discover APIs in a curated marketplace and pay for them per call with USDC over the x402 protocol — from a non-custodial smart wallet, within an on-chain spending limit you control, and without ever holding gas.
Airwallex Docs MCP gives AI agents read-only access to Airwallex documentation and API references, enabling agents to search and retrieve accurate integration guidance without authentication.
Other clients
Belvo MCP works the same way in every client below. Pick yours for its own guide.
Free to start.
Scope access to the exact Belvo MCP tools and accounts you allow, work and personal side by side. Anything outside that scope is refused at call time, even when the model asks for it.
Each call is logged: what ran, on which account, and whether it worked. Failures come back structured, so the agent knows whether to retry instead of guessing.
Every app sits behind one secure MCP URL, and there is no server for you to deploy or keep running. Add an integration in the dashboard and it is live on the next call, with no config to change and no new credentials to wire up. Tools load only when a task needs them, so your agent stays fast and focused however many apps you connect.
SDK clients sign in with an API key. Create one in your dashboard and replace API_KEY in the code below.
SDK clients run without a browser, so they sign in with your API key.
Returns connect_url, the page where the user connects a product themselves. This tool does not create a connection: connecting happens only on that page, where the user signs in (or signs up), picks their institution, and grants consent directly to Belvo. The page collects any personal data the institution requires (such as CPF, CNPJ, full name, account or card numbers, or credentials); no tool on this server accepts that data, and the server refuses to create connections on the user's behalf. A connection completed there appears in list_connections. The same page is where connections are managed or removed. connection_type is echoed back; the page lists every product rather than opening a product-specific panel, and list_products returns the full country/product taxonomy.
List the user's connected banks and institutions with their status and last_synced_at. Auto-fetches connections up to the server cap unless cursor is provided; use next_cursor to continue when truncated. When the user has nothing connected yet, the response includes connect_url: the page where they connect a product themselves.
Fetch newer data from the institution for the resources it can retrieve live: Open Finance accounts, transactions, and owners; IMSS and INSS employment; Fiscal invoices, tax status, and the other fiscal resources that have a live retrieve. Open Finance bills and investments, and Mexico Fiscal tax returns, stay as of connection time. Date-ranged resources (transactions, invoices) use a rolling lookback up to today. A refresh can take several minutes. Returns 'completed' with refreshed_at; 'failed' with a reason and completed_resources naming any resources that did refresh before the failure; 'unavailable' when the institution does not support refresh, so the stored data is the latest available; 'skipped' with a reason and retry_after when a per-connection refresh limit was reached and nothing was fetched; or 'mfa_required' when the institution asks for a one-time code, which this server does not accept: resources refreshed before the challenge keep their new data, the rest stay as of the last sync, and the connection can be managed on the page from get_connection_link.
Brazil Open Finance: list accounts across the user's connections, including balance per account. Filter by connection_id, category, or currency. The response's last_synced_at is when the oldest returned account was collected from the institution. Auto-fetches matching stored accounts up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='ofb'.
Brazil Open Finance: list account owners across the user's connections (name, contact info, and ID document types with numbers masked to the last 2 characters). Filter by connection_id. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='ofb'.
Brazil Open Finance: list stored transactions. When start_date is omitted it defaults to 30 days before end_date (or before today when end_date is omitted or later). Filter by connection_id, account_id, category, type, and date range. Auto-fetches matching stored transactions up to the server cap unless cursor is provided; use next_cursor to continue. Returns data as of the connection's last sync (it does not reach the institution); refresh_connection fetches newer data. Only returns rows for connections created with connection_type='ofb'.
Brazil Open Finance: search stored transactions by description, amount, or merchant. Same filters as open_finance_list_transactions plus a free-text query. total_count is null when filters are applied (including the free-text query). Auto-fetches matches up to the server cap unless cursor is provided; use next_cursor to continue. Returns data as of the connection's last sync (it does not reach the institution); refresh_connection fetches newer data. Only returns rows for connections created with connection_type='ofb'.
Brazil Open Finance: list credit card bills. Filter by connection_id, account_id, and due-date range. total_count is null when filters are applied (account_id or a due-date range). Auto-fetches matching stored bills up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of connection time. refresh_connection does not retrieve bills. Only returns rows for connections created with connection_type='ofb'.
Brazil Open Finance: list the user's investment portfolio. Filter by connection_id and investment type (BANCARIA, CREDITO, VARIABLE, FUND, BOND). total_count is null when filters are applied (investment type). Auto-fetches matching stored investments up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of connection time. refresh_connection does not retrieve investments. Only returns rows for connections created with connection_type='ofb'.
Brazil INSS: list the user's stored employment records — employer history, occupations, and historical + current salary/contribution data per employer. Filter by connection_id. Auto-fetches records up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='inss'.
Brazil INSS: list account owners for the user's INSS connections (name, contact info, and ID document types with numbers masked to the last 2 characters). Filter by connection_id. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='inss'.
Mexico Llave MX: list the user's stored employment records (employer history, salaries, contributions). Filter by connection_id. Auto-fetches records up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='imss'.
Mexico Llave MX: list the user's current employments (active employer, role, salary). Filter by connection_id. Auto-fetches records up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='imss'.
Mexico Fiscal/SAT: list the user's stored fiscal invoices (CFDI — issued and received). Filter by connection_id. Auto-fetches invoices up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='fiscal'.
Mexico Fiscal/SAT: list the user's stored tax returns (declaraciones). Filter by connection_id. Auto-fetches records up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of connection time. refresh_connection does not fetch newer tax returns, because the institution has no live retrieve for them. Only returns rows for connections created with connection_type='fiscal'.
Mexico Fiscal/SAT: list the user's stored tax status documents (Constancia de Situación Fiscal). Filter by connection_id. Auto-fetches records up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='fiscal'.
Mexico Fiscal/SAT: list the user's stored tax compliance status documents (Opinión de Cumplimiento; outcome POSITIVE/NEGATIVE/NO_OBLIGATIONS). Filter by connection_id. Auto-fetches records up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='fiscal'.
Mexico Fiscal/SAT: list the user's stored tax retentions (retenciones). Filter by connection_id. Auto-fetches records up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='fiscal' (not served by the sandbox institution).
Mexico Fiscal/SAT: list the user's stored financial statements (estados financieros). Filter by connection_id. Auto-fetches records up to the server cap unless cursor is provided; use next_cursor to continue. Returns stored data as of the connection's last sync; refresh_connection fetches newer data. Only returns rows for connections created with connection_type='fiscal' (not served by the sandbox institution).
Describe the full country/product taxonomy this server supports: for each country and product, its connection_type (for use with `get_connection_link`), availability, and the data tools that operate on it.