Skip to content

MCP tools reference

Vaulty provides 46 tools. This list is read straight from the server code, so it always matches what is available. Protocol version: 2025-06-18.

All amounts use the organization’s recording currency (see get_organization), not always rupiah. Responses are JSON text. Write tools need a token with write access, and delete tools require confirm: true (the data goes to the trash for 30 days). The savings, bills, debts, health score, and heatmap tools are available on the Personal plan and above.

Summaries and analysis

get_organization (Read)

Organization info: name, plan, recording currency, your role, member count, and which features the plan includes. Call this first when unsure what is available.

No parameters

get_summary (Read)

Total income, total expenses, the difference, the five largest expense categories, and any budget categories over their limit for one month.

ParametersType
monthstringMonth, format YYYY-MM. Empty = this month.

get_cashflow (Read)

Cash flow for the last few months: income, expenses, and the difference per month (up to 24 months).

ParametersType
monthsintegerNumber of months, 1 to 24. Default 6.
end_monthstringLast month, format YYYY-MM. Default this month.

get_insights (Read)

Spending insights for one month: each category's share. On the Family plan it adds a comparison with last month, an end-of-month projection, and spending per member.

ParametersType
monthstringMonth, format YYYY-MM. Empty = this month.

get_report (Read)

Report data for one month or the whole period: income and expenses by category, budget versus actual, and a savings summary. Data only, not a PDF or Excel file.

ParametersType
monthstringMonth, format YYYY-MM. Empty = this month.

get_financial_health (Read)

Financial health score from 0 to 100 for one month, with its four components and recommendations. Personal plan and above.

ParametersType
monthstringMonth, format YYYY-MM. Empty = this month.

get_daily_spending (Read)

Spending per day in one month (the heatmap data): each day's total and intensity, the most expensive day, and the daily average. Personal plan and above.

ParametersType
monthstringMonth, format YYYY-MM. Empty = this month.

Transactions

list_transactions (Read)

Latest transactions (income and expenses). Filter by type, month, and category. Up to 100 rows.

ParametersType
typeincome | expense | allType: income or expense (list_transactions also accepts all).
monthstringMonth, format YYYY-MM. Empty = this month.
categorystringCategory name.
limitintegerNumber of rows, 1 to 100.

add_transaction (Write)

Record one income or expense. Needs a token with write access. Call list_categories first so the category and method match.

ParametersType
type (required)income | expenseType: income or expense (list_transactions also accepts all).
amount (required)numberAmount in the organization's recording currency.
category (required)stringCategory name.
name (required)stringName or short label.
datestringDate YYYY-MM-DD. Empty = today.
methodstringPayment method. Empty = the first method in the list.
notestringExtra note.

update_transaction (Write)

Change one income or expense. Send only the fields to change. Transactions linked to savings or bills are refused; use the savings or bill tools instead.

ParametersType
type (required)income | expenseType: income or expense (list_transactions also accepts all).
id (required)stringID from a list_* tool.
datestringDate YYYY-MM-DD. Empty = today.
namestringName or short label.
categorystringCategory name.
methodstringPayment method. Empty = the first method in the list.
amountnumberAmount in the organization's recording currency.
notestringExtra note.

delete_transaction (Delete)

Delete one transaction (goes to the trash for 30 days). Requires confirm: true after asking the user.

ParametersType
type (required)income | expenseType: income or expense (list_transactions also accepts all).
id (required)stringID from a list_* tool.
confirm (required)booleanMust be true. Ask the user before deleting.

Budgets

list_budgets (Read)

Budgets per category for one month, with the amount already spent and what remains.

ParametersType
monthstringMonth, format YYYY-MM. Empty = this month.

set_budget (Write)

Create or change the budget of one category for one month.

ParametersType
monthstringMonth, format YYYY-MM. Empty = this month.
category (required)stringCategory name.
amount (required)numberAmount in the organization's recording currency.
rolloverbooleanCarry the remaining budget to next month.

delete_budget (Delete)

Delete the budget of one category in one month. Requires confirm: true.

ParametersType
month (required)stringMonth, format YYYY-MM. Empty = this month.
category (required)stringCategory name.
confirm (required)booleanMust be true. Ask the user before deleting.

Categories and auto rules

list_categories (Read)

The organization's income categories, expense categories, and payment methods. Call this before recording a transaction.

No parameters

add_category (Write)

Add an income category, expense category, or payment method.

ParametersType
kind (required)income | expense | payment_methodKind (Tabungan or Investasi for savings; income, expense, payment_method for categories).
name (required)stringName or short label.

delete_category (Delete)

Delete a category or payment method. Old transactions are unchanged. Requires confirm: true.

ParametersType
kind (required)income | expense | payment_methodKind (Tabungan or Investasi for savings; income, expense, payment_method for categories).
name (required)stringName or short label.
confirm (required)booleanMust be true. Ask the user before deleting.

list_categorization_rules (Read)

Auto-categorization rules (a text pattern routed to a category).

No parameters

add_categorization_rule (Write)

Create an auto-categorization rule: when a transaction name contains a pattern, route it to a category.

ParametersType
type (required)expense | incomeType: income or expense (list_transactions also accepts all).
pattern (required)stringText pattern matched in the transaction name.
category (required)stringCategory name.
priorityintegerPriority order, an integer.
activebooleanActive or not.

update_categorization_rule (Write)

Change an auto-categorization rule.

ParametersType
id (required)stringID from a list_* tool.
typeexpense | incomeType: income or expense (list_transactions also accepts all).
patternstringText pattern matched in the transaction name.
categorystringCategory name.
priorityintegerPriority order, an integer.
activebooleanActive or not.

delete_categorization_rule (Delete)

Delete an auto-categorization rule. Requires confirm: true.

ParametersType
id (required)stringID from a list_* tool.
confirm (required)booleanMust be true. Ask the user before deleting.

Savings and goals

list_savings (Read)

Savings and investments: each account's balance and the latest deposits and withdrawals. Personal plan and above.

ParametersType
limitintegerNumber of rows, 1 to 100.

add_savings_entry (Write)

Record a savings or investment deposit or withdrawal (Personal plan and above). A deposit is also recorded as an expense; a withdrawal returns money to the wallet without counting as income.

ParametersType
datestringDate YYYY-MM-DD. Empty = today.
kind (required)Tabungan | InvestasiKind (Tabungan or Investasi for savings; income, expense, payment_method for categories).
account (required)stringSavings or investment account name.
depositnumberDeposit, 0 or more.
withdrawalnumberWithdrawal, 0 or more.
notestringExtra note.

update_savings_entry (Write)

Change a savings entry. Its linked deposit and withdrawal transactions are adjusted too.

ParametersType
id (required)stringID from a list_* tool.
datestringDate YYYY-MM-DD. Empty = today.
kindTabungan | InvestasiKind (Tabungan or Investasi for savings; income, expense, payment_method for categories).
accountstringSavings or investment account name.
depositnumberDeposit, 0 or more.
withdrawalnumberWithdrawal, 0 or more.
notestringExtra note.

delete_savings_entry (Delete)

Delete a savings entry together with its linked expense or income. Requires confirm: true.

ParametersType
id (required)stringID from a list_* tool.
confirm (required)booleanMust be true. Ask the user before deleting.

list_savings_targets (Read)

Savings goals with progress, what remains, days left, and a suggested monthly deposit. Personal plan and above.

No parameters

add_savings_target (Write)

Create a savings goal linked to one savings account (Personal plan and above).

ParametersType
name (required)stringName or short label.
target_amount (required)numberTarget amount, greater than 0.
start_datestringStart date YYYY-MM-DD. Default today.
target_date (required)stringTarget date YYYY-MM-DD.
linked_account (required)stringSavings account used to calculate progress.

update_savings_target (Write)

Change a savings goal. Send only the fields that change.

ParametersType
id (required)stringID from a list_* tool.
namestringName or short label.
target_amountnumberTarget amount, greater than 0.
start_datestringStart date YYYY-MM-DD. Default today.
target_datestringTarget date YYYY-MM-DD.
linked_accountstringSavings account used to calculate progress.

delete_savings_target (Delete)

Delete a savings goal. Requires confirm: true.

ParametersType
id (required)stringID from a list_* tool.
confirm (required)booleanMust be true. Ask the user before deleting.

Bills

list_bills (Read)

Recurring bills with their status for a given month (paid, unpaid, overdue). Personal plan and above.

ParametersType
monthstringMonth, format YYYY-MM. Empty = this month.

add_bill (Write)

Create a bill that repeats every month (Personal plan and above).

ParametersType
name (required)stringName or short label.
category (required)stringCategory name.
amount (required)numberAmount in the organization's recording currency.
due_day (required)integerDue day each month, 1 to 31.
starts_fromstringStarts from month YYYY-MM. Default this month.
ends_atstringEnds at month YYYY-MM, or "ongoing" (default).
notestringExtra note.
activebooleanActive or not.

update_bill (Write)

Change a recurring bill. Send only the fields that change.

ParametersType
id (required)stringID from a list_* tool.
namestringName or short label.
categorystringCategory name.
amountnumberAmount in the organization's recording currency.
due_dayintegerDue day each month, 1 to 31.
starts_fromstringStarts from month YYYY-MM. Default this month.
ends_atstringEnds at month YYYY-MM, or "ongoing" (default).
notestringExtra note.
activebooleanActive or not.

delete_bill (Delete)

Delete a bill together with its payment history. Requires confirm: true.

ParametersType
id (required)stringID from a list_* tool.
confirm (required)booleanMust be true. Ask the user before deleting.

pay_bill (Write)

Mark a bill as paid for one month and record the expense.

ParametersType
bill_id (required)stringBill ID from list_bills.
monthstringMonth, format YYYY-MM. Empty = this month.
amountnumberAmount in the organization's recording currency.
paid_atstringPayment date YYYY-MM-DD. Default today.

unpay_bill (Delete)

Undo the paid status for one month together with its linked expense. Requires confirm: true.

ParametersType
bill_id (required)stringBill ID from list_bills.
month (required)stringMonth, format YYYY-MM. Empty = this month.
confirm (required)booleanMust be true. Ask the user before deleting.

Debts

list_debts (Read)

Debts and receivables with what remains and their status. Personal plan and above.

ParametersType
include_paymentsbooleanInclude payment history. Default false.

add_debt (Write)

Record a debt (owed, you owe) or a receivable (receivable, someone owes you). Personal plan and above.

ParametersType
direction (required)owed | receivableowed (you owe) or receivable (someone owes you).
name (required)stringName or short label.
principal (required)numberPrincipal.
remainingnumberRemaining. Default equals the principal.
interest_ratenumberInterest in percent. Default 0.
due_datestringDue date YYYY-MM-DD (optional).
notestringExtra note.

update_debt (Write)

Change a debt or receivable. Send only the fields that change.

ParametersType
id (required)stringID from a list_* tool.
directionowed | receivableowed (you owe) or receivable (someone owes you).
namestringName or short label.
principalnumberPrincipal.
remainingnumberRemaining. Default equals the principal.
interest_ratenumberInterest in percent. Default 0.
due_datestring | nullDue date YYYY-MM-DD (optional).
statusactive | paidactive or paid.
notestringExtra note.

delete_debt (Delete)

Delete a debt together with its payment history. Requires confirm: true.

ParametersType
id (required)stringID from a list_* tool.
confirm (required)booleanMust be true. Ask the user before deleting.

pay_debt (Write)

Record an installment on a debt or a payment received on a receivable, and reduce what remains. It cannot exceed the remaining amount.

ParametersType
id (required)stringID from a list_* tool.
amount (required)numberAmount in the organization's recording currency.
paid_atstringPayment date YYYY-MM-DD. Default today.
notestringExtra note.

Net worth

list_net_worth (Read)

Assets and liabilities for net worth, with the totals.

No parameters

add_net_worth_item (Write)

Add an asset or a liability for net worth.

ParametersType
type (required)asset | liabilityType: income or expense (list_transactions also accepts all).
name (required)stringName or short label.
category (required)stringCategory name.
value (required)numberValue of the asset or liability.
as_of_datestringValue date YYYY-MM-DD. Default today.
notestringExtra note.

update_net_worth_item (Write)

Change a net worth item. Send only the fields that change.

ParametersType
id (required)stringID from a list_* tool.
typeasset | liabilityType: income or expense (list_transactions also accepts all).
namestringName or short label.
categorystringCategory name.
valuenumberValue of the asset or liability.
as_of_datestringValue date YYYY-MM-DD. Default today.
notestringExtra note.

delete_net_worth_item (Delete)

Delete a net worth item. Requires confirm: true.

ParametersType
id (required)stringID from a list_* tool.
confirm (required)booleanMust be true. Ask the user before deleting.

Activity and trash

list_activity (Read)

Latest organization activity log: who added, changed, or deleted what.

ParametersType
limitintegerNumber of rows, 1 to 100.

list_trash (Read)

Recently deleted data that can still be restored within 30 days. Restoring is done from the Trash menu in the app, not through MCP.

No parameters