# Actual Budget MCP Server (MCP server)

> Actual Budget MCP Server is an MCP server that adds finance tools to AI assistants such as Claude Desktop, Claude Code and Cursor. MCP server exposing Actual Budget accounts, transactions, budgets and reporting to LLM assistants. It has 248 GitHub stars, is released under the MIT license and runs locally with npx -y actual-mcp.

MCP server for integrating Actual Budget with Claude and other LLM assistants. The Actual Budget MCP Server allows you to interact with your personal financial data from Actual Budget using natural language through LLMs. It exposes your accounts, transactions, and financial metrics through the Model Context Protocol (MCP).

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/s-stefanov/actual-mcp |
| GitHub stars | 248 |
| License | MIT |
| Language | TypeScript |
| Transport | stdio |
| Packages | npm: actual-mcp |
| Remote URL | none |
| Needs API key | yes |
| Official | no |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Finance |
| Latest release | v1.14.0 (Sep 14, 2026) |
| Last commit | Sep 27, 2026 |
| MCP registry name | io.github.s-stefanov/actual-mcp |

## Install

### Claude Desktop (claude_desktop_config.json)

```json
{
  "mcpServers": {
    "actual-budget-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "actual-mcp"
      ],
      "env": {
        "ACTUAL_SERVER_URL": "your-value",
        "ACTUAL_PASSWORD": "your-value",
        "ACTUAL_BUDGET_SYNC_ID": "your-value",
        "ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "your-value"
      }
    }
  }
}
```

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

### Claude Code

```sh
claude mcp add --env ACTUAL_SERVER_URL=your-value --env ACTUAL_PASSWORD=your-value --env ACTUAL_BUDGET_SYNC_ID=your-value --env ACTUAL_BUDGET_ENCRYPTION_PASSWORD=your-value --transport stdio actual-budget-mcp-server -- npx -y actual-mcp
```

### Cursor (.cursor/mcp.json)

```json
{
  "mcpServers": {
    "actual-budget-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "actual-mcp"
      ],
      "env": {
        "ACTUAL_SERVER_URL": "your-value",
        "ACTUAL_PASSWORD": "your-value",
        "ACTUAL_BUDGET_SYNC_ID": "your-value",
        "ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "your-value"
      }
    }
  }
}
```

Project file; use ~/.cursor/mcp.json to enable it in every project.

### VS Code (.vscode/mcp.json)

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "actual_password",
      "description": "ACTUAL_PASSWORD",
      "password": true
    },
    {
      "type": "promptString",
      "id": "actual_budget_encryption_password",
      "description": "ACTUAL_BUDGET_ENCRYPTION_PASSWORD",
      "password": true
    }
  ],
  "servers": {
    "actual-budget-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "actual-mcp"
      ],
      "env": {
        "ACTUAL_SERVER_URL": "your-value",
        "ACTUAL_PASSWORD": "${input:actual_password}",
        "ACTUAL_BUDGET_SYNC_ID": "your-value",
        "ACTUAL_BUDGET_ENCRYPTION_PASSWORD": "${input:actual_budget_encryption_password}"
      }
    }
  }
}
```

Config formats checked against the official docs on 2026-10-07.

## Environment variables

- `ACTUAL_SERVER_URL` (required): URL of your Actual Budget server
- `ACTUAL_PASSWORD` (secret) (required): Actual Budget server password
- `ACTUAL_BUDGET_SYNC_ID` (required): Budget sync ID
- `ACTUAL_DATA_DIR`: Local dir for cached budget data
- `ACTUAL_BUDGET_ENCRYPTION_PASSWORD` (secret): E2E encryption password, if enabled
- `ACTUAL_SYNC_TTL_MS`: Sync cache TTL in ms

## Tools

- `get-transactions`: Retrieve and filter transactions by account, date, amount, category, or payee
- `create-transaction`: Create a new transaction in an account with optional category, payee, and notes
- `update-transaction`: Update an existing transaction with new category, payee, notes, or amount
- `get-accounts`: Retrieve a list of all accounts with their current balance and ID
- `balance-history`: View account balance changes over time
- `spending-by-category`: Generate spending breakdowns categorized by type
- `monthly-summary`: Get monthly income, expenses, and savings metrics
- `budget-vs-actual`: Compare budgeted amounts against actual spending per category
- `net-worth`: Track assets, liabilities, and net worth across all accounts over time
- `category-trends`: See how spending in each category moves month over month, with trend direction
- `spending-by-payee`: Rank payees by how much was spent with (or received from) each one
- `cash-flow`: Report income, expenses, and net cash flow per month or week
- `get-custom-reports`: Retrieve every saved custom report from the Reports section
- `create-custom-report`: Create a saved custom report
- `update-custom-report`: Update fields on a saved custom report, leaving the rest unchanged
- `delete-custom-report`: Delete a saved custom report
- `get-dashboards`: Retrieve every dashboard page and the widgets laid out on it
- `add-dashboard-widget`: Add a widget to a dashboard page
- `update-dashboard-widget`: Update a widget's configuration, position, or size
- `remove-dashboard-widget`: Remove a widget from its page
- `organize-dashboard`: Reposition and resize several widgets at once
- `create-dashboard-page`: / rename-dashboard-page / delete-dashboard-page - Manage dashboard pages
- `get-grouped-categories`: Retrieve a list of all category groups with their categories
- `create-category`: Create a new category within a category group
- `update-category`: Update an existing category's name or group
- `delete-category`: Delete a category
- `create-category-group`: Create a new category group
- `update-category-group`: Update a category group's name
- `delete-category-group`: Delete a category group
- `get-payees`: Retrieve a list of all payees with their details
- `create-payee`: Create a new payee
- `update-payee`: Update an existing payee's details
- `delete-payee`: Delete a payee
- `get-rules`: Retrieve a list of all transaction rules
- `create-rule`: Create a new transaction rule with conditions and actions
- `update-rule`: Update an existing transaction rule
- `delete-rule`: Delete a transaction rule

## Similar MCP servers

- [CCXT](https://appsgit.com/mcp-servers/ccxt): Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets. (44,271 stars, MIT, official)
- [Finance Toolkit](https://appsgit.com/mcp-servers/finance-toolkit): 200+ transparent financial metrics calculated from raw statements, not third-party endpoints. (5,402 stars, MIT, needs API key)
- [Tradingview MCP](https://appsgit.com/mcp-servers/tradingview-mcp): Real-time market data, screeners, technical analysis & backtesting for stocks, crypto and forex. (4,948 stars, MIT)
- [EdgarTools](https://appsgit.com/mcp-servers/edgartools): Open-source SEC EDGAR toolkit — 13 tools, 7 prompts, every filing type. (2,776 stars, MIT)
- [AI](https://appsgit.com/mcp-servers/ai): MCP server integrating with Stripe - tools for customers, products, payments, and more. (1,859 stars, MIT, official)
- [Tradememory Protocol](https://appsgit.com/mcp-servers/tradememory-protocol): Tamper-evident decision audit trail and outcome-weighted memory for AI trading agents. (1,425 stars, MIT)

---

Canonical page: https://appsgit.com/mcp-servers/actual-budget-mcp-server
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
