Skip to main content
Glama
henfrydls

actual-budget-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ACTUAL_DATA_DIRNoCache directory (default: /tmp/actual-budget-mcp-data)
ACTUAL_PASSWORDYesServer password (set in Actual Budget under Settings)
ACTUAL_BUDGET_IDYesBudget Sync ID (found in Settings > Show advanced settings)
ACTUAL_SERVER_URLYesYour Actual Budget server URL (e.g., http://localhost:5006)
ACTUAL_ENCRYPTION_PASSWORDNoOnly if your budget file is encrypted

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_accountsA

List all budget accounts with their current balances, type (on-budget/off-budget), and status.

get_budget_monthA

Get the budget for a specific month showing all category groups, their categories with budgeted amounts, actual spending, and remaining balance. Also shows the to-be-budgeted amount.

get_transactionsA

List transactions with optional filters. Returns date, payee, category, amount, notes, account, and cleared status.

get_category_balanceA

Get the balance and spending history for a specific category across one or more months.

get_budget_summaryA

Executive summary of the budget showing totals by category group, total income, total expenses, savings rate, and to-be-budgeted for a given month.

get_categoriesA

List all category groups with their categories and IDs. Useful for seeing the full budget structure.

get_payeesA

List all payees in the budget. Useful for seeing available payees and their IDs.

budget_vs_actualA

Compare budgeted amounts versus actual spending for each category in a given month. Highlights over-budget and under-budget categories.

spending_projectionA

Project end-of-month spending for each category based on the current daily spending rate. Warns about categories likely to exceed budget.

category_trendsA

Show spending trends for a category across multiple months. Identifies increasing/decreasing patterns.

spending_by_categoryB

Break down spending by category for a date range. Shows each category's total spending and percentage of total.

monthly_summaryA

Monthly financial summary showing income, expenses, savings, and savings rate across multiple months. Great for seeing trends in your overall financial health.

balance_historyA

Track an account's balance changes over time by showing the running balance at key transaction dates.

get_rulesA

List all transaction rules showing their conditions and actions.

repair_syncA

Repair the budget's sync state when operations fail with an out-of-sync error. Rebuilds sync bookkeeping without modifying budget data. Use this when other tools report that the budget is out of sync.

create_transactionB

Add a new transaction to an account. Use negative amounts for expenses, positive for income.

create_split_transactionA

Add a split transaction: one bank-facing total spread across multiple categories. The split amounts must sum to the total.

reconcile_currency_residualA

Book an adjustment transaction to bring a multi-currency account to the balance the bank reports, clearing accumulated FX-rate residual.

update_budget_amountA

Set the budgeted amount for a category in a specific month.

recategorize_transactionA

Change the category of an existing transaction.

create_transferC

Create a transfer between two accounts.

update_transactionA

Update fields of an existing transaction. Only the fields you provide will be changed.

delete_transactionA

Delete a transaction by its ID. Destructive and irreversible: the first call only previews what would be lost, and deleting requires confirm: true.

run_bank_syncA

Sync bank transactions from linked accounts (GoCardless/SimpleFIN). Syncs a specific account or all linked accounts if none specified.

create_accountA

Create a new budget account (on-budget or off-budget). Returns the new account ID so transactions can target it right away.

delete_accountA

Delete an account and its entire transaction history. Destructive and irreversible: the first call only previews what would be lost, and deleting requires both confirm: true and confirm_name set to the account's exact name. Prefer closing an account when you just want to retire it.

create_categoryB

Create a new budget category within a category group.

update_categoryA

Rename or hide/unhide a budget category.

delete_categoryA

Delete a budget category. Destructive and irreversible: the first call only previews, and deleting requires confirm: true plus confirm_name set to the category's exact name. Deleting a category also destroys its budget and rollover history; pass transfer_to to keep its transactions categorised.

create_category_groupA

Create a new category group for organizing budget categories.

update_category_groupA

Rename or hide/unhide a category group.

delete_category_groupA

Delete a category group and every category in it. Destructive and irreversible: the first call only previews, and deleting requires confirm: true plus confirm_name set to the group's exact name. You must specify a category to transfer orphaned categories' transactions to.

create_payeeB

Create a new payee.

update_payeeB

Rename a payee.

delete_payeeA

Delete a payee. Destructive and irreversible: the first call only previews, and deleting requires confirm: true plus confirm_name set to the payee's exact name.

create_ruleB

Create a transaction rule. When a transaction matches the condition, the action is applied automatically.

delete_ruleA

Delete a transaction rule by its ID. Destructive and irreversible: the first call only previews the rule, and deleting requires confirm: true.

Prompts

Interactive templates invoked by user choice

NameDescription
monthly-reviewReview your budget for a specific month: checks spending vs budget, highlights overspending, and suggests adjustments.
spending-checkQuick check on current month spending. Are you on track, or overspending?
spending-patternsDeep analysis of spending patterns and trends over the last few months.

Resources

Contextual data attached and managed by the client

NameDescription
accountsList of all budget accounts with current balances
categoriesAll category groups and categories with IDs
payeesAll payees in the budget

TDQS

B3.3/5.0

Scored across 37 tools

Disambiguation3/5

Most CRUD tools target distinct entities and actions, but the analytical tools overlap considerably (budget_vs_actual, get_budget_month, spending_by_category, monthly_summary, category_trends, spending_projection all surface spending data with slightly different scopes). recategorize_transaction also overlaps with update_transaction since category is likely an updatable field. Descriptions help, but an agent could easily misselect among the reporting tools.

Naming Consistency3/5

CRUD operations follow a clear create_/update_/delete_ pattern, but read operations are split between list_accounts and get_* tools, and analytics use noun-phrase names like budget_vs_actual, monthly_summary, and spending_by_category. The mixing is readable but not a single predictable verb_noun convention.

Tool Count2/5

37 tools is a heavy surface; the rule of thumb for coherence is 3-15 well-scoped tools, and here there are many overlapping analytics/reporting tools (budget_vs_actual, spending_projection, category_trends, spending_by_category, monthly_summary, balance_history) that could be consolidated. The CRUD breadth is defensible, but the total count feels bloated.

Completeness3/5

Core CRUD is mostly covered for accounts, categories, payees, transactions, and rules, but accounts have no update/close tool (delete_account even suggests 'prefer closing' without providing one), and rules have no update mechanism. Budgeting, sync, and reconciliation workflows are otherwise reasonably complete.

Maintenance

ActivityActive
ResponsivenessWithin a week