actual-budget-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ACTUAL_FILE | Yes | Budget file name or sync id | |
| ACTUAL_BASE_URL | Yes | URL of your Actual Budget server | |
| ACTUAL_CURRENCY | No | Currency code e.g. INR, EUR | USD |
| ACTUAL_MCP_HOST | No | Host to bind to in HTTP mode | 0.0.0.0 |
| ACTUAL_MCP_PORT | No | Port to bind to in HTTP mode | 8000 |
| ACTUAL_PASSWORD | Yes | Actual Budget server password | |
| ACTUAL_TIMEZONE | No | Timezone e.g. Asia/Kolkata, America/New_York | UTC |
| ACTUAL_MCP_TRANSPORT | No | Transport mode — stdio for Cline/Cursor, http for Docker | stdio |
| ACTUAL_CURRENCY_SYMBOL | No | Currency symbol e.g. ₹, € | $ |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_accountsA | List all accounts from Actual Budget. Returns each account's id, name, whether it is off-budget, and whether it is closed. Use this to get account ids needed for filtering transactions. |
| list_payeesA | List all payees from Actual Budget. Returns each payee's id and name. Use payee names when filtering transactions by payee. |
| list_transactionsA | List transactions from Actual Budget with optional filters. Dates must be in YYYY-MM-DD format. account, category and payee accept names or ids. notes accepts a partial string to search within transaction notes. Returns date, account, payee, category, notes, and amount (in USD). Use list_accounts to get account names, list_categories for category names, list_payees for payee names. |
| list_categoriesA | List all budget categories from Actual Budget. Optionally filter by is_income=True for income categories or is_income=False for expense categories. Returns category id, name, group name, and whether it is an income category. Use category names when filtering transactions by category. |
| list_category_groupsA | List all category groups from Actual Budget. Returns group id, name, and whether it is an income group. Use this to understand how categories are organised. |
| list_budgetsA | List budget allocations from Actual Budget. month must be in YYYY-MM-DD format (e.g. 2024-01-01 for January 2024). If month is not provided, returns budgets for all months. Returns category name, budgeted amount, and month. Use list_categories to get category names. |
| add_transactionA | Create a new transaction in Actual Budget. date must be in YYYY-MM-DD format. amount is in dollars — use negative for expenses, positive for income. Use list_accounts for account names, list_payees for payee names, list_categories for category names. Returns the created transaction id and details. |
| update_transactionA | Update an existing transaction in Actual Budget. Only provided fields will be updated, others remain unchanged. Use list_transactions to get transaction ids. Returns the updated transaction details. |
| delete_transactionA | Delete a transaction from Actual Budget by id. This is destructive and cannot be undone. Use list_transactions to get transaction ids. Returns the id of the deleted transaction. |
| create_transferA | Transfer money between two accounts in Actual Budget. amount must be positive — direction is determined by from_account and to_account. Use list_accounts to get account names. Returns both the debit and credit transaction details. |
| set_budgetA | Set the budget amount for a category in a given month in Actual Budget. month must be in YYYY-MM-DD format e.g. 2024-01-01 for January 2024. Use list_categories to get category names. Returns the updated budget details. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| monthly_review | Analyze spending vs budget for a given month |
| spending_by_category | Analyze spending for a specific category over a date range |
| add_expense | Guide to add a new expense transaction |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| accounts_resource | List of all accounts in Actual Budget |
| categories_resource | List of all categories in Actual Budget |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Saikumarmohan/actual-budget-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server