actual-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ACTUAL_SYNC_ID | Yes | Sync ID of the budget to open. | |
| ACTUAL_DATA_DIR | No | Where the SDK caches the budget. Defaults to /tmp/actual-mcp-data. | /tmp/actual-mcp-data |
| ACTUAL_PASSWORD | No | Server password. Omit if the server has none. | |
| ACTUAL_SERVER_URL | Yes | Your Actual sync server URL. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_category_groupsA | List all category groups (each with its categories). [read-only] |
| create_category_groupC | Create a new category group. [mutating] |
| update_category_groupB | Rename a category group. [mutating] |
| delete_category_groupA | Delete a category group. Destructive — needs confirmation. [destructive · requires confirm:true] |
| list_categoriesA | List all categories. [read-only] |
| create_categoryB | Create a category inside a group. [mutating] |
| update_categoryB | Update a category (name, group, or hidden flag). [mutating] |
| delete_categoryA | Delete a category. Destructive — needs confirmation. [destructive · requires confirm:true] |
| list_transactionsB | List transactions for an account, optionally filtered by date range. [read-only] |
| create_transactionB | Add a transaction to an account. [mutating] |
| update_transactionC | Update fields on a transaction. [mutating] |
| delete_transactionA | Delete a transaction. Destructive — needs confirmation. [destructive · requires confirm:true] |
| list_accountsA | List all accounts. [read-only] |
| get_account_balanceA | Get the current balance of an account (integer minor units). [read-only] |
| create_accountC | Create an account (optionally off-budget). [mutating] |
| update_accountB | Update an account (name or off-budget flag). [mutating] |
| list_budget_monthsA | List every month that has budget data. [read-only] |
| get_budget_monthA | Get the full budget for one month (YYYY-MM). [read-only] |
| set_budget_amountC | Set the budgeted amount for a category in a month. [mutating] |
| set_budget_carryoverC | Enable or disable carryover for a category in a month. [mutating] |
| list_schedulesA | List all schedules. [read-only] |
| create_scheduleC | Create a schedule (recurring planned transaction). [mutating] |
| update_scheduleC | Update a schedule. [mutating] |
| delete_scheduleA | Delete a schedule. Destructive — needs confirmation. [destructive · requires confirm:true] |
| list_payeesB | List all payees. [read-only] |
| create_payeeC | Create a payee. [mutating] |
| update_payeeC | Update a payee. [mutating] |
| delete_payeeA | Delete a payee. Destructive — needs confirmation. [destructive · requires confirm:true] |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 28 tools
Each tool targets a distinct entity and action (e.g., account, category, payee, schedule, transaction, budget month). There is no overlap or ambiguity; an agent can clearly differentiate between tools.
All tool names follow a strict verb_noun pattern: create_, delete_, get_, list_, set_, update_. The naming is uniform and predictable throughout the entire set.
With 28 tools, the surface is comprehensive for a personal finance manager. While slightly above the typical 3-15 range, the number is justified by the domain's natural complexity (accounts, categories, payees, schedules, transactions, budgets).
The tool set provides full CRUD for core entities (accounts, categories, payees, schedules, transactions) plus budget operations (set amount, carryover, get month). Minor gaps exist (e.g., no import or reporting tools), but the essential lifecycle is well-covered.