XP MCP

io.github.mcp-dir由 GitHub 账号 mcp-dir 发布v0.1.0更新于 Oct 24, 2026

Connect your XP account to AI via Brazil's Open Finance: balances, statements, cards, investments. R

已验证Streamable HTTP可网页运行金融数据与分析

概览

AI 生成的概览

远程 MCP 服务器,通过巴西 Open Finance 连接 XP 银行账户,让助手读取余额、流水、信用卡账单、投资和贷款。

可以做什么
  • 搜索银行连接器,列出、查看、强制同步或断开已保存的 Open Finance 连接
  • 读取账户、余额、账户详情和交易流水,包括按连接汇总的现金流分析
  • 查看信用卡账单及账单明细,并检查 Open Finance 服务商的实时运行状态
  • 读取投资组合与投资变动记录,列出贷款合同并查看完整详情
  • 浏览交易分类体系,并修正一笔或多笔交易的分类
  • 查看工具包状态、版本、连接状态、mcp.ai 市场,以及提交缺陷反馈或进行认证
适用场景
适合希望用自然语言向 AI 助手询问巴西 XP 账户情况的人,例如本月信用卡花了多少、未结账单摘要、账户余额或投资组合表现。它只读,适合分析与汇总,而不是转账或交易。
运行要求
通过 HTTP 访问的远程 MCP 端点,无需本地安装包。需要一个经 Open Finance 组件并明确授权连接的 XP 账户,服务器会返回连接与重连链接。登录使用魔法链接,IDE 代理可通过 authenticate 工具提供 bearer 令牌。清单中未声明环境变量或请求头。
安装前请注意
财务数据会发送给你所选择的 LLM 宿主,README 将其列为不受其控制的次级处理方。服务器为托管且专有,价格另见文档,请先确认费用。部分工具会改变状态:强制重新同步、修正交易分类,以及断开银行连接(会撤销授权并删除连接数据)。授权可依 LGPD 撤销。

安装

在 SourceWeft 中

  1. 打开 控制台中的 XP MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.mcp-dir%2Fxp-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "xp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_xp"
    }
  }
}

README

XP MCP

XP no Claude, ChatGPT e agentes de IA via Open Finance

Conecte sua conta do XP ao Claude, ChatGPT e agentes de IA via Open Finance Brasil. Pergunte sobre saldos, extratos, faturas de cartão e investimentos do XP em linguagem natural. Regulado pelo Banco Central, somente leitura.

  • 🏦 XP via Open Finance Brasil, regulado pelo Banco Central
  • 💳 Saldos, extratos, faturas de cartão, investimentos e empréstimos
  • 🔒 Somente leitura — a IA não movimenta dinheiro
  • 🔑 Login por magic-link, consentimento explícito e revogável (LGPD)
  • 💬 Funciona com qualquer cliente MCP: Claude Desktop, Cursor, VS Code, Cline, Continue

English version · Documentação completa · Skill pra agentes


Instalar em 1 clique

Claude (Web e Desktop)

A Anthropic unificou a instalação de MCPs em claude.ai/customize/connectors. O mesmo link serve pra Claude Web e Claude Desktop (basta estar logado):

➕ Abrir no Claude e conectar

Manual (se o deeplink não abrir): claude.ai/customize/connectors → + → Adicionar conector personalizado → cole Nome XP MCP e URL https://api.mcp.ai/p_xp.

Cursor

➕ Instalar XP MCP no Cursor

VS Code (Copilot Chat)

➕ Instalar XP MCP no VS Code

ChatGPT, Manus, OpenClaw e mais 40+ clientes

Funciona em qualquer cliente MCP que suporte MCP over HTTP. A URL do servidor é sempre:

https://api.mcp.ai/p_xp

Detalhes por cliente: INSTALL.md.


Exemplos de uso

Quanto gastei no cartão do XP esse mês?Resuma minha fatura do XP em abertoQual meu saldo na conta do XP?Como está minha carteira de investimentos no XP?

18 ferramentas disponíveis

ToolDescrição
openfinance_search_bank_connectorsSearches the available bank connectors by name (pass keywords[], e.g.
openfinance_list_connectionsReturns the saved bank connections for this install: connector_id, item_id, bank name, and an add_connection_url to link additional banks via the Open Finance widget.
openfinance_get_item_statusReturns the current status of a bank connection (UPDATED, UPDATING, LOGIN_ERROR, etc.), its executionStatus, and connector metadata.
openfinance_provider_statusChecks 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.
openfinance_list_accountsReturns accounts for a bank connection: BANK (checking/savings) and CREDIT (credit card) with balance, number, type, subtype, bankData, and creditData.
openfinance_list_transactionsReturns transactions for a bank account (BANK or CREDIT type).
openfinance_list_transactions_by_itemConsolidated cash-flow analysis for a whole bank CONNECTION over a period, in ONE call.
openfinance_list_credit_card_billsReturns CLOSED credit card bills for a CREDIT-type account: dueDate, totalAmount, minimumPaymentAmount, allowsInstallments, plus payments[] (id, paymentDate, amount, valueType, paymentMode), payments_count, `payme…
openfinance_list_investmentsReturns 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.
openfinance_list_investment_transactionsReturns the movement history for a specific investment position: BUY / SELL / TAX / INTEREST / AMORTIZATION / TRANSFER.
openfinance_list_loansLists loan contracts per bank connection (GET /loans).
openfinance_force_syncForces 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).
openfinance_get_account_balanceReturns real-time balance payload per account id (GET /accounts/:id/balance).
openfinance_get_accounts_detailReturns full account objects including extended creditData (additional cards, limits) per id (GET /accounts/:id).
openfinance_get_credit_card_billReturns bill-level detail for one or more credit card bills by id (GET /bills/:id): financeCharges and payments[] (id, paymentDate, amount, valueType, paymentMode).
openfinance_list_categoriesReturns the provider's transaction category taxonomy (GET /categories), cached for the adapter session.
openfinance_update_transaction_categoryCorrects the category of one or more transactions (PATCH /transactions/:id).
openfinance_disconnect_bankRevokes the Open Finance consent for a specific bank and deletes the connection data.

Detalhe de cada tool: docs/ferramentas.md


Preços

Veja docs/precos.md.


Privacidade & LGPD

  • Somente leitura, nenhuma ferramenta altera dados na origem.
  • Sub-processadores: o LLM host que você escolher (Claude, ChatGPT, Cursor, agente próprio). Lista completa em docs/privacidade-lgpd.md.
  • Os dados retornados pelas tools são enviados ao LLM host que você escolher, sub-processador fora do nosso controle. Recomendamos planos com opt-out de treinamento.

Perguntas frequentes

Como funciona? Via Open Finance Brasil (regulado pelo Banco Central). Você conecta sua conta XP com consentimento explícito; a IA lê saldos, extratos, faturas e investimentos. Somente leitura.

A IA pode movimentar dinheiro? Não. 100% leitura — Open Finance não permite movimentação por essa via.

Só funciona com o XP? Este MCP é focado no XP. Para conectar vários bancos de uma vez, use o Banco MCP (api.mcp.ai/banco).

O servidor é open source? O servidor é proprietário (hosted). Este repositório é o wrapper público com manifestos, docs e skills, tudo MIT.


Suporte


Licença

MIT — veja LICENSE. O servidor MCP em api.mcp.ai/p_xp é proprietário (hosted); este repositório (manifestos, docs, skills) é MIT.

来源:README.md,提交 a21c794

工具

25

openfinance_search_bank_connectors

Search Bank Connectors

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).

输入参数keywordsinclude_accounts

openfinance_list_connections

List Bank Connections

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.

无需输入参数。

openfinance_get_item_status

Get Connection Status

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.

输入参数itemitem_iditem_ids

openfinance_provider_status

Check Open Finance Provider Status

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`.

无需输入参数。

openfinance_list_accounts

List Bank Accounts

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`. A CREDIT row may carry `creditData.usedAmount` (how much of THIS card's limit the bank reports as consumed) and a `balance_notice`. `balance_notice` means `balance` came back 0,00 while the bank's own payload indicates an outstanding amount — some issuers never fill the card's consolidated balance field. When it is present, do NOT tell the user the card has nothing to pay: read the amount from openfinance_list_credit_card_bills instead. `bankData.closingBalance` and `automaticallyInvestedBalance` are provider-reported extras that can LAG ri

输入参数itemtypeitem_iditem_ids

openfinance_list_transactions

List Transactions

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`). SCHEDULED (future-dated) ROWS: results are ordered by date DESCENDING, and on a card with long installment plans the TOP of the list is the FUTURE — rows dated months ahead are scheduled installments of purchases already made, not new purchases. Every such row is flagged `scheduled:true`, the response carries `scheduled_count` and a `notice` naming the most recent row that actually happened. NEVER read the first row as 'the latest purchase' without checking `scheduled`. To list only what already happened, pass `to` = today. 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 befo

输入参数tofrompagedetailpage_sizeaccount_id必填account_idssearch_queries

openfinance_list_transactions_by_item

Analyze Connection Transactions

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.

输入参数tofromitemtypetop_ndetailitem_iditem_idsgranularity

openfinance_list_credit_card_bills

List Credit Card Bills

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 da

输入参数pagepage_sizeaccount_id必填account_idsinclude_open_bill

openfinance_list_investments

List Investments

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.

输入参数itempagetypeitem_iditem_idspage_size

openfinance_list_investment_transactions

List Investment Transactions

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.

输入参数pagepage_sizeinvestment_id必填investment_ids

openfinance_list_loans

List Loans

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.

输入参数items

openfinance_get_loan_detail

Get Loan Detail

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.

输入参数loan_ids必填

openfinance_force_sync

Force Connection Sync

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).

输入参数waititems

openfinance_get_account_balance

Get Account Balance

Returns the latest available balance per account id (GET /accounts/:id/balance). This is the freshest balance the provider can serve, but it is a SNAPSHOT anchored to the connection's last upstream sync: the `updateDateTime`/`updatedAt` in each row is that sync instant, NOT a to-the-second live read. If a movement that just happened is not reflected yet, or the balance disagrees with the sum of openfinance_list_transactions, run openfinance_force_sync to pull fresh data and then re-read. Pass `account_ids` as an array (1–50). CREDIT accounts may return Pluggy BALANCE_FETCH_ERROR (provider could not fetch it) or BALANCE_CONSENT_ERROR (the institution refused it because the consent lacks the balance permission — reconnecting the bank restores it) — 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 }] }`.

输入参数account_ids必填

openfinance_get_accounts_detail

Get Accounts Detail

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.

输入参数account_ids必填

openfinance_get_credit_card_bill

Get Credit Card Bill Detail

Returns bill-level detail for one or more credit card bills by id (GET /bills/:id): `dueDate`, `billClosingDate` (when the cycle closed — the boundary that defines which purchases belong to this bill), `totalAmount`, financeCharges and payments[] (id, paymentDate, amount, valueType, paymentMode). ITEMIZED PURCHASES (OPT-IN): the bank's bill payload has no transactions in it — they live on the card ACCOUNT. Pass `include_transactions:true` (plus `account_id` of the credit card, since the bill itself carries no account reference) and each row also gets `transactions[]`, `transactions_count`, `transactions_sum` and `reconciles_with_total`, already matched to that bill. Always check `transactions_basis`: `bill_id` = exact (the bank tagged each transaction with this bill — the normal case for CLOSED bills), `date_window` = ESTIMATE (`confidence:'low'`, window echoed in `transactions_window`) used when the connector tags no billId or the bill is still open (PENDING lines get no billId until the cycle closes), `unavailable` = no link possible. Opt-in because it costs an extra full transaction scan of the account. Whatever the basis, the bill's own `totalAmount` is authoritative — do NOT rebuild it by summing transactions. Without the opt-in the response carries a `transactions_hint`; you can also fetch them yourself via openfinance_list_transactions with the credit card account_id and a from/to range ending at `billClosingDate`. 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.

输入参数bill_ids必填account_idtransactions_detailinclude_transactions

openfinance_list_categories

List Transaction Categories

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.

无需输入参数。

openfinance_update_transaction_category

Update Transaction Category

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.

输入参数items必填

openfinance_disconnect_bank

Disconnect Bank

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.

输入参数item必填

show_version

Show Version

Show the current MCP platform and adapter versions.

无需输入参数。

report_bug

Report Bug

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

输入参数contextmessage必填conversation

connect

Connection Status

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.

无需输入参数。

toolkit_info

Toolkit Info

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

无需输入参数。

marketplace

Marketplace

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. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.

输入参数limitqueryactionmcp_idmessagetool_idargumentsimmediatetier_slugprompt_bodyprompt_slugprompt_tool另有 11 个

authenticate

Authenticate

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.

输入参数token

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分