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.
| Parameters | Type | |
|---|---|---|
month | string | Month, 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).
| Parameters | Type | |
|---|---|---|
months | integer | Number of months, 1 to 24. Default 6. |
end_month | string | Last 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.
| Parameters | Type | |
|---|---|---|
month | string | Month, 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.
| Parameters | Type | |
|---|---|---|
month | string | Month, 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.
| Parameters | Type | |
|---|---|---|
month | string | Month, 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.
| Parameters | Type | |
|---|---|---|
month | string | Month, 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.
| Parameters | Type | |
|---|---|---|
type | income | expense | all | Type: income or expense (list_transactions also accepts all). |
month | string | Month, format YYYY-MM. Empty = this month. |
category | string | Category name. |
limit | integer | Number 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.
| Parameters | Type | |
|---|---|---|
type (required) | income | expense | Type: income or expense (list_transactions also accepts all). |
amount (required) | number | Amount in the organization's recording currency. |
category (required) | string | Category name. |
name (required) | string | Name or short label. |
date | string | Date YYYY-MM-DD. Empty = today. |
method | string | Payment method. Empty = the first method in the list. |
note | string | Extra 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.
| Parameters | Type | |
|---|---|---|
type (required) | income | expense | Type: income or expense (list_transactions also accepts all). |
id (required) | string | ID from a list_* tool. |
date | string | Date YYYY-MM-DD. Empty = today. |
name | string | Name or short label. |
category | string | Category name. |
method | string | Payment method. Empty = the first method in the list. |
amount | number | Amount in the organization's recording currency. |
note | string | Extra note. |
delete_transaction (Delete)
Delete one transaction (goes to the trash for 30 days). Requires confirm: true after asking the user.
| Parameters | Type | |
|---|---|---|
type (required) | income | expense | Type: income or expense (list_transactions also accepts all). |
id (required) | string | ID from a list_* tool. |
confirm (required) | boolean | Must 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.
| Parameters | Type | |
|---|---|---|
month | string | Month, format YYYY-MM. Empty = this month. |
set_budget (Write)
Create or change the budget of one category for one month.
| Parameters | Type | |
|---|---|---|
month | string | Month, format YYYY-MM. Empty = this month. |
category (required) | string | Category name. |
amount (required) | number | Amount in the organization's recording currency. |
rollover | boolean | Carry the remaining budget to next month. |
delete_budget (Delete)
Delete the budget of one category in one month. Requires confirm: true.
| Parameters | Type | |
|---|---|---|
month (required) | string | Month, format YYYY-MM. Empty = this month. |
category (required) | string | Category name. |
confirm (required) | boolean | Must 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.
| Parameters | Type | |
|---|---|---|
kind (required) | income | expense | payment_method | Kind (Tabungan or Investasi for savings; income, expense, payment_method for categories). |
name (required) | string | Name or short label. |
delete_category (Delete)
Delete a category or payment method. Old transactions are unchanged. Requires confirm: true.
| Parameters | Type | |
|---|---|---|
kind (required) | income | expense | payment_method | Kind (Tabungan or Investasi for savings; income, expense, payment_method for categories). |
name (required) | string | Name or short label. |
confirm (required) | boolean | Must 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.
| Parameters | Type | |
|---|---|---|
type (required) | expense | income | Type: income or expense (list_transactions also accepts all). |
pattern (required) | string | Text pattern matched in the transaction name. |
category (required) | string | Category name. |
priority | integer | Priority order, an integer. |
active | boolean | Active or not. |
update_categorization_rule (Write)
Change an auto-categorization rule.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
type | expense | income | Type: income or expense (list_transactions also accepts all). |
pattern | string | Text pattern matched in the transaction name. |
category | string | Category name. |
priority | integer | Priority order, an integer. |
active | boolean | Active or not. |
delete_categorization_rule (Delete)
Delete an auto-categorization rule. Requires confirm: true.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
confirm (required) | boolean | Must 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.
| Parameters | Type | |
|---|---|---|
limit | integer | Number 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.
| Parameters | Type | |
|---|---|---|
date | string | Date YYYY-MM-DD. Empty = today. |
kind (required) | Tabungan | Investasi | Kind (Tabungan or Investasi for savings; income, expense, payment_method for categories). |
account (required) | string | Savings or investment account name. |
deposit | number | Deposit, 0 or more. |
withdrawal | number | Withdrawal, 0 or more. |
note | string | Extra note. |
update_savings_entry (Write)
Change a savings entry. Its linked deposit and withdrawal transactions are adjusted too.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
date | string | Date YYYY-MM-DD. Empty = today. |
kind | Tabungan | Investasi | Kind (Tabungan or Investasi for savings; income, expense, payment_method for categories). |
account | string | Savings or investment account name. |
deposit | number | Deposit, 0 or more. |
withdrawal | number | Withdrawal, 0 or more. |
note | string | Extra note. |
delete_savings_entry (Delete)
Delete a savings entry together with its linked expense or income. Requires confirm: true.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
confirm (required) | boolean | Must 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).
| Parameters | Type | |
|---|---|---|
name (required) | string | Name or short label. |
target_amount (required) | number | Target amount, greater than 0. |
start_date | string | Start date YYYY-MM-DD. Default today. |
target_date (required) | string | Target date YYYY-MM-DD. |
linked_account (required) | string | Savings account used to calculate progress. |
update_savings_target (Write)
Change a savings goal. Send only the fields that change.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
name | string | Name or short label. |
target_amount | number | Target amount, greater than 0. |
start_date | string | Start date YYYY-MM-DD. Default today. |
target_date | string | Target date YYYY-MM-DD. |
linked_account | string | Savings account used to calculate progress. |
delete_savings_target (Delete)
Delete a savings goal. Requires confirm: true.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
confirm (required) | boolean | Must 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.
| Parameters | Type | |
|---|---|---|
month | string | Month, format YYYY-MM. Empty = this month. |
add_bill (Write)
Create a bill that repeats every month (Personal plan and above).
| Parameters | Type | |
|---|---|---|
name (required) | string | Name or short label. |
category (required) | string | Category name. |
amount (required) | number | Amount in the organization's recording currency. |
due_day (required) | integer | Due day each month, 1 to 31. |
starts_from | string | Starts from month YYYY-MM. Default this month. |
ends_at | string | Ends at month YYYY-MM, or "ongoing" (default). |
note | string | Extra note. |
active | boolean | Active or not. |
update_bill (Write)
Change a recurring bill. Send only the fields that change.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
name | string | Name or short label. |
category | string | Category name. |
amount | number | Amount in the organization's recording currency. |
due_day | integer | Due day each month, 1 to 31. |
starts_from | string | Starts from month YYYY-MM. Default this month. |
ends_at | string | Ends at month YYYY-MM, or "ongoing" (default). |
note | string | Extra note. |
active | boolean | Active or not. |
delete_bill (Delete)
Delete a bill together with its payment history. Requires confirm: true.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
confirm (required) | boolean | Must be true. Ask the user before deleting. |
pay_bill (Write)
Mark a bill as paid for one month and record the expense.
| Parameters | Type | |
|---|---|---|
bill_id (required) | string | Bill ID from list_bills. |
month | string | Month, format YYYY-MM. Empty = this month. |
amount | number | Amount in the organization's recording currency. |
paid_at | string | Payment date YYYY-MM-DD. Default today. |
unpay_bill (Delete)
Undo the paid status for one month together with its linked expense. Requires confirm: true.
| Parameters | Type | |
|---|---|---|
bill_id (required) | string | Bill ID from list_bills. |
month (required) | string | Month, format YYYY-MM. Empty = this month. |
confirm (required) | boolean | Must be true. Ask the user before deleting. |
Debts
list_debts (Read)
Debts and receivables with what remains and their status. Personal plan and above.
| Parameters | Type | |
|---|---|---|
include_payments | boolean | Include payment history. Default false. |
add_debt (Write)
Record a debt (owed, you owe) or a receivable (receivable, someone owes you). Personal plan and above.
| Parameters | Type | |
|---|---|---|
direction (required) | owed | receivable | owed (you owe) or receivable (someone owes you). |
name (required) | string | Name or short label. |
principal (required) | number | Principal. |
remaining | number | Remaining. Default equals the principal. |
interest_rate | number | Interest in percent. Default 0. |
due_date | string | Due date YYYY-MM-DD (optional). |
note | string | Extra note. |
update_debt (Write)
Change a debt or receivable. Send only the fields that change.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
direction | owed | receivable | owed (you owe) or receivable (someone owes you). |
name | string | Name or short label. |
principal | number | Principal. |
remaining | number | Remaining. Default equals the principal. |
interest_rate | number | Interest in percent. Default 0. |
due_date | string | null | Due date YYYY-MM-DD (optional). |
status | active | paid | active or paid. |
note | string | Extra note. |
delete_debt (Delete)
Delete a debt together with its payment history. Requires confirm: true.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
confirm (required) | boolean | Must 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.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
amount (required) | number | Amount in the organization's recording currency. |
paid_at | string | Payment date YYYY-MM-DD. Default today. |
note | string | Extra 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.
| Parameters | Type | |
|---|---|---|
type (required) | asset | liability | Type: income or expense (list_transactions also accepts all). |
name (required) | string | Name or short label. |
category (required) | string | Category name. |
value (required) | number | Value of the asset or liability. |
as_of_date | string | Value date YYYY-MM-DD. Default today. |
note | string | Extra note. |
update_net_worth_item (Write)
Change a net worth item. Send only the fields that change.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
type | asset | liability | Type: income or expense (list_transactions also accepts all). |
name | string | Name or short label. |
category | string | Category name. |
value | number | Value of the asset or liability. |
as_of_date | string | Value date YYYY-MM-DD. Default today. |
note | string | Extra note. |
delete_net_worth_item (Delete)
Delete a net worth item. Requires confirm: true.
| Parameters | Type | |
|---|---|---|
id (required) | string | ID from a list_* tool. |
confirm (required) | boolean | Must be true. Ask the user before deleting. |
Activity and trash
list_activity (Read)
Latest organization activity log: who added, changed, or deleted what.
| Parameters | Type | |
|---|---|---|
limit | integer | Number 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