Skip to content

Resources and prompts

Besides tools, the Paisa MCP server (paisa-mcp 0.2.0+) exposes resources (read-only reference data an assistant can attach or cache instead of calling a list tool every turn) and prompts (ready-made workflows that tell the assistant which tools to call, in order). How they show up depends on the client: Claude Desktop lists resources under the attach menu and prompts as slash-style commands.

All resources are JSON (application/json). Each one runs the same code as its tool equivalent, so it calls the same API endpoint and returns the same data.

URISame asContents
paisa://categorieslist_entities entity=categoriesCategory tree: id, slug, name, type, children
paisa://bank-accountslist_entities entity=bank_accountsBank accounts and cards: id, name, bank, type, last4, owner
paisa://personslist_entities entity=personsPeople you send money to or receive it from
paisa://merchantslist_entities entity=merchantsMerchants and their category, capped at 500 (past the cap the result has a truncated note; look others up with list_entities entity=merchants rawId)
paisa://householdget_settings section=householdHousehold name, currency, locale, owner labels, members
paisa://profileget_settings section=profileYour name, email and owner slug
paisa://transactions/{id} (template)get_transactionOne transaction by UUID

Private mode: resources decrypt locally with your PIN-derived key, exactly like the tools do. They never contain ciphertext or key material: a person record that can’t be decrypted with your key comes back with cipher: null and undecrypted: true.

PromptArgumentsWhat it does
monthly_reviewmonth (YYYY-MM, optional)Alerts, monthly report, spending trends and budget vs actual, biggest transactions, upcoming dues, then a summary. Read-only; offers generate_monthly_report if you want it saved.
import_statementfilePath (optional)Pick or create the account, preview_import, confirm, import_statement, credit-card settlement check, sync_recurring, then categorize.
categorize_uncategorizedstartDate, endDate (optional)get_uncategorized_groups, propose a category per group, confirm, categorize_groups (dry run first), backfill_persons.
budget_checkmonth (YYYY-MM, optional)Budgets vs spending for the month, flags categories over 80% / 100%, and only calls set_budget for changes you approve.

Prompts contain no data of yours; they only name tools. Every prompt that can write tells the assistant to show you what will change and wait for your confirmation first.

When your MCP client supports elicitation, paisa asks you before it changes anything irreversibly. Recent Claude clients support it.

ToolAsks whenQuestion
delete_transactionsalways”Permanently delete 3 transactions?” (for filters: dates, type and amount range; search text is never shown)
delete_entityalways”Permanently delete 1 merchant?”
merge_merchantsalways”Merge 2 duplicate merchants into the one you’re keeping?”
set_encryption_modealways”Switch encryption mode to private?”
manage_debtaction: settle”Settle this debt? It will be closed with a remaining balance of ₹500.”

Bulk writes ask only when they would change more than 20 transactions: “Update 57 transactions in one go?”

ToolCount comes from
categorize_groupsits own dry run (rows in the matched groups)
backfill_personsits own dry run (transactions to link)
bulk_categorize_transactions, bulk_link_entitythe number of links passed

auto_categorize_jev doesn’t ask, because its dry run would call Jev a second time. Use its dryRun to preview.

  • Nothing is written until you accept. Declining or cancelling changes nothing.
  • The answer is tied to the exact request. If the request changes, you’re asked again.
  • Questions show counts, dates, amounts and types only. They never show transaction text, merchant or person names, or decrypted private-mode data.
  • Clients without elicitation keep the older flags (confirmDeleteAll, dryRun) and Claude’s own confirmation.

Long writes report progress to clients that ask for it (MCP progress notifications):

  • import_statement reports each 200-row batch.
  • backfill_persons reports each 25-link chunk.
  • categorize_groups reports rows written out of the total.

Clients that don’t ask get nothing extra.