actual-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ACTUAL_DATA_DIR | No | Path to your Actual Budget data directory (default: ~/.actual) | |
| ACTUAL_PASSWORD | Yes | Password for your remote Actual server (if using a remote server) | |
| ACTUAL_SERVER_URL | Yes | URL of your remote Actual server (if using a remote server) | |
| ACTUAL_BUDGET_SYNC_ID | Yes | Specific budget to use (optional) |
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
| Capability | Details |
|---|---|
| tools | {} |
| logging | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get-transactionsB | Get transactions with optional filtering, for one account or across all accounts if accountId is omitted |
| spending-by-categoryC | Get spending breakdown by category for a specified date range |
| monthly-summaryC | Get monthly income, expenses, and savings |
| balance-historyC | Get account balance history over time |
| budget-vs-actualB | Compare budgeted amounts against actual spending per category, for recent months. Returns JSON; amounts are integer cents. |
| net-worthB | Track assets, liabilities, and net worth across all accounts over time. Returns JSON; amounts are integer cents. |
| category-trendsB | Show how spending in each category changes month over month, with trend direction. Returns JSON; amounts are integer cents. |
| spending-by-payeeB | Rank payees by how much money was spent with (or received from) each one. Returns JSON; amounts are integer cents. |
| cash-flowB | Report income, expenses, and net cash flow per month or week. Returns JSON; amounts are integer cents. |
| get-accountsA | Retrieve a list of all accounts with their current balance and ID. |
| get-grouped-categoriesA | Retrieve a list of all category groups with their id, name, type and category list. |
| get-payeesA | Retrieve a list of all payees with their id, name, categoryId and transferAccountId. |
| get-rulesA | Retrieve a list of all rules. PS amount comes in cents: positive for deposit, negative for payment |
| get-custom-reportsA | Retrieve every saved custom report from the budget's Reports section |
| get-dashboardsA | Retrieve every dashboard page and the widgets laid out on it. These are the dashboards under the Reports section of the sidebar. |
| get-budget-monthsA | Retrieve a list of all available budget months in YYYY-MM format. |
| get-budget-monthA | Retrieve budget data for a specific month, including budgeted amounts, spending, and balances per category. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| financial-insights | Generate financial insights and advice |
| budget-review | Review my budget and spending |
| actual-cleanup | Analyze budget for cleanup opportunities |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools have distinct reporting purposes, but monthly-summary and cash-flow both cover income/expenses, while balance-history and net-worth both track balances over time. Several category-spending tools also overlap conceptually, though their descriptions help differentiate them.
All names use consistent kebab-case, which is predictable and readable. However, action naming is mixed: retrieval tools use a get- prefix while reporting tools omit it, creating a minor inconsistency.
17 tools is slightly heavy for a finance reporting server, but each tool covers a meaningful reporting dimension such as categories, payees, cash flow, net worth, and budget months. There is little obvious filler, though some overlap exists.
The surface is entirely read-only and covers many reporting and retrieval views, but it lacks create/update/delete operations for transactions, accounts, payees, and budgets. If the server is intentionally read-only, coverage is good; otherwise it has notable lifecycle gaps.