# Actual MCP server

Agent View of the PolicyLayer registry record for Actual: identity, probed posture, risk grade, and all 64 tools classified. HTML page: https://policylayer.com/tools/actual

## Facts

- Server id: `actual-mcp-server`
- Install: `npx -y actual-mcp-server`
- Homepage: git+https://github.com/agigante80/actual-mcp-server.git
- Registry record: grade F, identity unverified
- Lifecycle: active
- Rate-limited: no
- Tools: 64
- Tool categories present: Destructive, Execute, Financial, Read, Write
- Tags: actual, payments, admin, automation
- Record last modified: 2026-06-28T14:58:00.287Z

## Tools (64)

| Tool | Category | Risk | Record |
| --- | --- | --- | --- |
| `actual_accounts_delete` | Destructive | Critical | https://policylayer.com/tools/actual/actual-accounts-delete.md |
| `actual_categories_delete` | Destructive | Critical | https://policylayer.com/tools/actual/actual-categories-delete.md |
| `actual_category_groups_delete` | Destructive | Critical | https://policylayer.com/tools/actual/actual-category-groups-delete.md |
| `actual_payees_delete` | Destructive | Critical | https://policylayer.com/tools/actual/actual-payees-delete.md |
| `actual_rules_delete` | Destructive | Critical | https://policylayer.com/tools/actual/actual-rules-delete.md |
| `actual_schedules_delete` | Destructive | Critical | https://policylayer.com/tools/actual/actual-schedules-delete.md |
| `actual_tags_delete` | Destructive | Critical | https://policylayer.com/tools/actual/actual-tags-delete.md |
| `actual_transactions_delete` | Destructive | Critical | https://policylayer.com/tools/actual/actual-transactions-delete.md |
| `actual_bank_sync` | Execute | High | https://policylayer.com/tools/actual/actual-bank-sync.md |
| `actual_query_run` | Execute | High | https://policylayer.com/tools/actual/actual-query-run.md |
| `actual_session_close` | Other | Low | https://policylayer.com/tools/actual/actual-session-close.md |
| `actual_accounts_list` | Read | Low | https://policylayer.com/tools/actual/actual-accounts-list.md |
| `actual_budgets_get_all` | Read | Low | https://policylayer.com/tools/actual/actual-budgets-get-all.md |
| `actual_budgets_getMonth` | Read | Low | https://policylayer.com/tools/actual/actual-budgets-getmonth.md |
| `actual_budgets_getMonths` | Read | Low | https://policylayer.com/tools/actual/actual-budgets-getmonths.md |
| `actual_budgets_list_available` | Read | Low | https://policylayer.com/tools/actual/actual-budgets-list-available.md |
| `actual_categories_get` | Read | Low | https://policylayer.com/tools/actual/actual-categories-get.md |
| `actual_category_groups_get` | Read | Low | https://policylayer.com/tools/actual/actual-category-groups-get.md |
| `actual_entities_search` | Read | Low | https://policylayer.com/tools/actual/actual-entities-search.md |
| `actual_get_id_by_name` | Read | Low | https://policylayer.com/tools/actual/actual-get-id-by-name.md |
| `actual_notes_get` | Read | Low | https://policylayer.com/tools/actual/actual-notes-get.md |
| `actual_payee_rules_get` | Read | Low | https://policylayer.com/tools/actual/actual-payee-rules-get.md |
| `actual_payees_common_list` | Read | Low | https://policylayer.com/tools/actual/actual-payees-common-list.md |
| `actual_payees_get` | Read | Low | https://policylayer.com/tools/actual/actual-payees-get.md |
| `actual_rules_get` | Read | Low | https://policylayer.com/tools/actual/actual-rules-get.md |
| `actual_schedules_get` | Read | Low | https://policylayer.com/tools/actual/actual-schedules-get.md |
| `actual_server_info` | Read | Low | https://policylayer.com/tools/actual/actual-server-info.md |
| `actual_session_list` | Read | Low | https://policylayer.com/tools/actual/actual-session-list.md |
| `actual_tags_list` | Read | Low | https://policylayer.com/tools/actual/actual-tags-list.md |
| `actual_transactions_filter` | Read | Low | https://policylayer.com/tools/actual/actual-transactions-filter.md |
| `actual_transactions_get` | Read | Low | https://policylayer.com/tools/actual/actual-transactions-get.md |
| `actual_transactions_search_by_amount` | Read | Low | https://policylayer.com/tools/actual/actual-transactions-search-by-amount.md |
| `actual_transactions_search_by_category` | Read | Low | https://policylayer.com/tools/actual/actual-transactions-search-by-category.md |
| `actual_transactions_search_by_month` | Read | Low | https://policylayer.com/tools/actual/actual-transactions-search-by-month.md |
| `actual_transactions_search_by_payee` | Read | Low | https://policylayer.com/tools/actual/actual-transactions-search-by-payee.md |
| `actual_transactions_summary_by_category` | Read | Low | https://policylayer.com/tools/actual/actual-transactions-summary-by-category.md |
| `actual_transactions_summary_by_payee` | Read | Low | https://policylayer.com/tools/actual/actual-transactions-summary-by-payee.md |
| `search.docs` | Read | Low | https://policylayer.com/tools/actual/search.docs.md |
| `actual_accounts_close` | Write | Medium | https://policylayer.com/tools/actual/actual-accounts-close.md |
| `actual_accounts_create` | Write | Medium | https://policylayer.com/tools/actual/actual-accounts-create.md |
| `actual_accounts_reopen` | Write | Medium | https://policylayer.com/tools/actual/actual-accounts-reopen.md |
| `actual_budgets_holdForNextMonth` | Write | Medium | https://policylayer.com/tools/actual/actual-budgets-holdfornextmonth.md |
| `actual_budgets_resetHold` | Write | Medium | https://policylayer.com/tools/actual/actual-budgets-resethold.md |
| `actual_budgets_setAmount` | Write | Medium | https://policylayer.com/tools/actual/actual-budgets-setamount.md |
| `actual_budgets_setCarryover` | Write | Medium | https://policylayer.com/tools/actual/actual-budgets-setcarryover.md |
| `actual_budgets_switch` | Write | Medium | https://policylayer.com/tools/actual/actual-budgets-switch.md |
| `actual_budgets_transfer` | Write | Medium | https://policylayer.com/tools/actual/actual-budgets-transfer.md |
| `actual_categories_create` | Write | Medium | https://policylayer.com/tools/actual/actual-categories-create.md |
| `actual_categories_update` | Write | Medium | https://policylayer.com/tools/actual/actual-categories-update.md |
| `actual_category_groups_create` | Write | Medium | https://policylayer.com/tools/actual/actual-category-groups-create.md |
| `actual_category_groups_update` | Write | Medium | https://policylayer.com/tools/actual/actual-category-groups-update.md |
| `actual_notes_update` | Write | Medium | https://policylayer.com/tools/actual/actual-notes-update.md |
| `actual_payees_create` | Write | Medium | https://policylayer.com/tools/actual/actual-payees-create.md |
| `actual_payees_merge` | Write | Medium | https://policylayer.com/tools/actual/actual-payees-merge.md |
| `actual_rules_update` | Write | Medium | https://policylayer.com/tools/actual/actual-rules-update.md |
| `actual_schedules_create` | Write | Medium | https://policylayer.com/tools/actual/actual-schedules-create.md |
| `actual_schedules_update` | Write | Medium | https://policylayer.com/tools/actual/actual-schedules-update.md |
| `actual_tags_create` | Write | Medium | https://policylayer.com/tools/actual/actual-tags-create.md |
| `actual_tags_update` | Write | Medium | https://policylayer.com/tools/actual/actual-tags-update.md |
| `actual_transactions_create` | Write | Medium | https://policylayer.com/tools/actual/actual-transactions-create.md |
| `actual_transactions_import` | Write | Medium | https://policylayer.com/tools/actual/actual-transactions-import.md |
| `actual_transactions_update` | Write | Medium | https://policylayer.com/tools/actual/actual-transactions-update.md |
| `actual_transfers_create` | Write | Medium | https://policylayer.com/tools/actual/actual-transfers-create.md |
| `math.add` | Write | Medium | https://policylayer.com/tools/actual/math.add.md |

## Tool descriptions

- `actual_accounts_delete` — Delete an account from Actual Budget. Note: The account must not have any transactions. This operation cannot be undone.
- `actual_categories_delete` — Delete a category from Actual Budget. Transactions using this category will need to be recategorized. This operation cannot be undone.
- `actual_category_groups_delete` — Delete a category group from Actual Budget. Note: Categories within the group will be moved to a default group or ungrouped. This operation cannot be undone.
- `actual_payees_delete` — Delete a payee from Actual Budget. Transactions using this payee will have it removed. This operation cannot be undone.
- `actual_rules_delete` — Delete a budget rule from Actual Budget. The rule will no longer be applied to new or existing transactions. This operation cannot be undone.
- `actual_schedules_delete` — Permanently delete a schedule from Actual Budget. The schedule
- `actual_tags_delete` — Delete a tag from Actual Budget by its UUID.
- `actual_transactions_delete` — Delete a transaction from Actual Budget by its ID.
- `actual_bank_sync` — Trigger 3rd party bank sync (GoCardless, SimpleFIN) for linked bank accounts. Returns immediately with an error if no bank-linked accounts are found. When bank-linked accounts exist, waits up to 30 seconds for the provider to confirm the…
- `actual_query_run` — Execute SQL queries for advanced financial data analysis. RECOMMENDED: Use SQL syntax - Most reliable and well-tested format. SQL SYNTAX (Preferred): SELECT [fields] FROM [table] WHERE [conditions] ORDER BY [field] DESC LIMIT [n] Example…
- `actual_session_close` — Close an idle MCP session to free up connection slots. Useful when you get
- `actual_accounts_list` — List all accounts in Actual Budget including checking, savings, credit cards, and investment accounts. Returns account ID, name, balance (in cents), on-budget/off-budget status, and open/closed state.
- `actual_budgets_get_all` — Get a list of all available budget files. Useful for multi-budget management and discovering available budgets on the server.
- `actual_budgets_getMonth` — Get budget data for a specific month in YYYY-MM format (e.g.,
- `actual_budgets_getMonths` — Get a list of all available budget months with summary data. Returns an array of months showing total budgeted, spent, and income for each month. Useful for viewing budget history and trends over time.
- `actual_budgets_list_available` — List all pre-configured budgets available for switching.
- `actual_categories_get` — List all budget categories organized by category groups. Categories are spending/income buckets (e.g., Groceries, Rent, Salary) used for budgeting and transaction categorization. Returns both grouped view and flat list with category IDs,…
- `actual_category_groups_get` — List all category groups in Actual Budget. Category groups organize related categories together (e.g.,
- `actual_entities_search` — Find accounts, categories, or payees by a name pattern. Use this to resolve a partial or mistyped name to its entity (the fix for
- `actual_get_id_by_name` — Resolve an entity name to its UUID. Looks up the UUID for any Account, Payee, Category, or Schedule by their display name. This is useful when you know the human-readable name but need the ID for other API calls. Allowed types:
- `actual_notes_get` — Get the note attached to an entity in Actual Budget.
- `actual_payee_rules_get` — Get all payee rules associated with a specific payee. Returns PayeeRule objects that show how transactions with this payee are automatically processed (conditions and actions).
- `actual_payees_common_list` — Return the most frequently used payees from recent transaction history (last ~12 weeks, top 10,
- `actual_payees_get` — List all payees in Actual Budget. Payees represent merchants, service providers, individuals, or other entities you transact with. Returns payee ID, name, and optional transfer account information for internal transfers.
- `actual_rules_get` — List all budget rules in Actual Budget. Rules automate transaction categorization and other budget operations based on conditions. Each rule has conditions (e.g., payee matches
- `actual_schedules_get` — List all schedules in Actual Budget. Schedules automate recurring transactions (e.g. monthly rent, weekly grocery runs). Each schedule has a date rule (one-off or RecurConfig), optional payee/account/amount, and a next_date field showing…
- `actual_server_info` — Get MCP server version and system information. Returns: - Server version - Server name - Node.js version - MCP SDK version - Actual Budget API version - Total tools available - Uptime Use this to check server status, verify version compa…
- `actual_session_list` — List all active MCP sessions with their activity status. Useful for diagnosing connection issues or seeing which sessions can be closed.
- `actual_tags_list` — List all tags defined in Actual Budget. Tags are stored without a leading
- `actual_transactions_filter` — Get transactions with advanced filtering. Supports filtering by amount range, category, payee, notes, and status. Returns filtered transactions matching all specified criteria.
- `actual_transactions_get` — Get all transactions for a specific account within a date range. Returns transaction details including date, amount (cents), payee, category, notes, and cleared status. Dates in YYYY-MM-DD format. Perfect for account reconciliation and s…
- `actual_transactions_search_by_amount` — Search transactions by amount. Supports two modes: (1) Signed amount range using minAmount/maxAmount (expenses are negative, e.g., -5000 for -$50), or (2) Absolute value using absoluteAmount to find any transaction with that magnitude re…
- `actual_transactions_search_by_category` — Search transactions by category name. Returns all transactions in a specific category with optional date range, account, and amount filters. Perfect for analyzing spending in budget categories.
- `actual_transactions_search_by_month` — Search transactions for a specific month. Returns all transactions matching the month and optional filters (account, category, payee, amount range). Efficiently queries by date range.
- `actual_transactions_search_by_payee` — Search transactions by payee name. Returns all transactions for a specific payee with optional date range, category, and amount filters. Useful for analyzing spending patterns with specific vendors or service providers.
- `actual_transactions_summary_by_category` — Get spending summary grouped by category using ActualQL aggregation. Returns total amount and transaction count per category for a date range. Perfect for budget analysis and expense tracking. By default excludes income categories (set i…
- `actual_transactions_summary_by_payee` — Get spending summary grouped by payee using ActualQL aggregation. Returns total amount and transaction count per payee for a date range. Useful for identifying top vendors and analyzing merchant spending patterns. Results are ordered by …
- `search.docs` — Search a small demo document store
- `actual_accounts_close` — Mark an account as closed in Actual Budget. Closed accounts are hidden from most views but their transaction history is preserved. Useful for accounts that are no longer active but you want to keep the historical data.
- `actual_accounts_create` — Create a new account in Actual Budget
- `actual_accounts_reopen` — Reopen a previously closed account in Actual Budget. The account will become active again and visible in all views. All historical transactions remain intact.
- `actual_budgets_holdForNextMonth` — Hold an amount from this month
- `actual_budgets_resetHold` — Reset the budget hold for a month, releasing any amount previously held for next month via holdBudgetForNextMonth.
- `actual_budgets_setAmount` — Set the budgeted amount for a specific category in a given month. Amount in cents (e.g., 50000 = $500). Use this to allocate money to spending categories for budget planning.
- `actual_budgets_setCarryover` — Set carryover behavior for a category in a specific month. When enabled (true), leftover budget or overspending automatically rolls into the next month
- `actual_budgets_switch` — Switch to a different pre-configured budget for all subsequent operations in this session.
- `actual_budgets_transfer` — Transfer budget amount between categories. Decreases the source category budget and increases the target category budget by the specified amount for the given month.
- `actual_categories_create` — Create a category. REQUIRED: group_id (category group UUID). Use actual_category_groups_get to find available groups. Optional: is_income (boolean, defaults to false for expense categories).
- `actual_categories_update` — Update an existing category in Actual Budget. You can rename the category, move it to a different group, or change its properties.
- `actual_category_groups_create` — Create a new category group in Actual Budget. Category groups help organize categories into logical sections (e.g.,
- `actual_category_groups_update` — Update an existing category group in Actual Budget. You can rename the group, change whether it
- `actual_notes_update` — Set or clear the note attached to an entity in Actual Budget.
- `actual_payees_create` — Create a new payee in Actual Budget
- `actual_payees_merge` — Merge one or more payees into a target payee. This consolidates duplicate payees by merging the specified payees into the target, retaining the name of the target payee. All transactions from merged payees will be reassigned to the targe…
- `actual_rules_update` — Update an existing budget rule by ID. Only provide the fields you want to change. IMPORTANT Field Types: -
- `actual_schedules_create` — Create a new schedule in Actual Budget. Schedules can be one-off (supply a YYYY-MM-DD date string) or recurring (supply a RecurConfig object with frequency, start, and endMode). Amounts are in cents — negative for expenses, positive for …
- `actual_schedules_update` — Update an existing schedule in Actual Budget. Supply the schedule
- `actual_tags_create` — Create a new tag in Actual Budget. The
- `actual_tags_update` — Update an existing tag in Actual Budget. At least one of tag/color/description must be provided.
- `actual_transactions_create` — Create a new transaction in Actual Budget. Amount should be in cents (negative for expenses, positive for income).
- `actual_transactions_import` — Bulk import transactions with automatic reconciliation and duplicate detection. Matches against existing transactions using imported_id to prevent duplicates. Ideal for importing bank statements, CSV files, or syncing from external sourc…
- `actual_transactions_update` — Update an existing transaction in Actual Budget. Provide the transaction ID and the fields you want to update.
- `actual_transfers_create` — Create a paired transfer between two accounts — a debit on the source account and a credit
- `math.add` — Add two numbers

## Related servers

- Yaver (812 tools) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Binance MCP Server (734 tools) — https://policylayer.com/tools/nirholas-binance-mcp.md
- GoHighLevel MCP Server (566 tools) — https://policylayer.com/tools/busybee3333-go-high-level-mcp-2026-complete.md
- Ruflo (486 tools) — https://policylayer.com/tools/ruflo.md
- Claude Flow (454 tools) — https://policylayer.com/tools/io-github-ruvnet-claude-flow.md
- ServiceTitan MCP Server (454 tools) — https://policylayer.com/tools/jordandalton-servicetitanmcpserver.md
- CloudStack MCP Server (442 tools) — https://policylayer.com/tools/mozg31337-cloudstack-mcp-server.md
- Serac (432 tools) — https://policylayer.com/tools/serac.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=actual · API: https://policylayer.com/registry/api · Recommended policies for every tool: https://policylayer.com/policies/actual
