Actual Budget MCP Server
by henfrydlsio.github.henfrydls/actual-budget-mcpv0.10.1
Self-hosted Actual Budget analysis: spending breakdowns, category trends, projections and budget vs. actual, with guarded writes and an optional read-only mode.
context tax
queued
security
queued
cold start
queued
freshness
Active1d ago
Install Actual Budget MCP server
Install in Claude Code
claude mcp add actual-budget -e ACTUAL_SERVER_URL='<actual-server-url>' -e ACTUAL_PASSWORD='<actual-password>' -e ACTUAL_SESSION_TOKEN='<actual-session-token>' -e ACTUAL_BUDGET_ID='<actual-budget-id>' -e ACTUAL_ENCRYPTION_PASSWORD='<actual-encryption-password>' -- npx -y actual-budget-mcpInstall in Cursor
{
"mcpServers": {
"actual-budget": {
"command": "npx",
"args": [
"-y",
"actual-budget-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "<actual-server-url>",
"ACTUAL_PASSWORD": "<actual-password>",
"ACTUAL_SESSION_TOKEN": "<actual-session-token>",
"ACTUAL_BUDGET_ID": "<actual-budget-id>",
"ACTUAL_ENCRYPTION_PASSWORD": "<actual-encryption-password>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"actual-budget": {
"command": "npx",
"args": [
"-y",
"actual-budget-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "<actual-server-url>",
"ACTUAL_PASSWORD": "<actual-password>",
"ACTUAL_SESSION_TOKEN": "<actual-session-token>",
"ACTUAL_BUDGET_ID": "<actual-budget-id>",
"ACTUAL_ENCRYPTION_PASSWORD": "<actual-encryption-password>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"actual-budget": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"actual-budget-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "<actual-server-url>",
"ACTUAL_PASSWORD": "<actual-password>",
"ACTUAL_SESSION_TOKEN": "<actual-session-token>",
"ACTUAL_BUDGET_ID": "<actual-budget-id>",
"ACTUAL_ENCRYPTION_PASSWORD": "<actual-encryption-password>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"actual-budget": {
"command": "npx",
"args": [
"-y",
"actual-budget-mcp"
],
"env": {
"ACTUAL_SERVER_URL": "<actual-server-url>",
"ACTUAL_PASSWORD": "<actual-password>",
"ACTUAL_SESSION_TOKEN": "<actual-session-token>",
"ACTUAL_BUDGET_ID": "<actual-budget-id>",
"ACTUAL_ENCRYPTION_PASSWORD": "<actual-encryption-password>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| ACTUAL_SERVER_URL | yes | — | URL of your Actual Budget server, for example http://localhost:5006 |
| ACTUAL_PASSWORD | — | yes | Password for your Actual Budget server. Not needed if you set ACTUAL_SESSION_TOKEN |
| ACTUAL_SESSION_TOKEN | — | yes | Session token for servers behind OIDC, which have no password. Use instead of ACTUAL_PASSWORD; if both are set, the token wins |
| ACTUAL_BUDGET_ID | yes | — | Your budget's Sync ID, found under Settings > Show advanced settings |
| ACTUAL_ENCRYPTION_PASSWORD | — | yes | Only needed if your budget file is end-to-end encrypted |
| ACTUAL_READ_ONLY | — | — | Set to 1 to hide every write tool from the model, exposing only reads and analysis |
| ACTUAL_DATA_DIR | — | — | Directory for the local budget cache |
| ACTUAL_HTTP_TIMEOUT_MS | — | — | How long to wait for your server to start replying, in milliseconds. Defaults to 60000; raise it if a GoCardless bank sync is being cut off |
Freshness
Active — last maintenance signal 1d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-08 · 1d ago · GitHub
Latest release
2026-10-08 · 1d ago · GitHub · v0.10.2
Package published
no data · npm/PyPI
Registry entry updated
2026-10-07 · 3d ago · official registry · v0.10.1
FAQ
›How do I install the Actual Budget MCP server in Claude Code?
Run: claude mcp add actual-budget -e ACTUAL_SERVER_URL='<actual-server-url>' -e ACTUAL_PASSWORD='<actual-password>' -e ACTUAL_SESSION_TOKEN='<actual-session-token>' -e ACTUAL_BUDGET_ID='<actual-budget-id>' -e ACTUAL_ENCRYPTION_PASSWORD='<actual-encryption-password>' -- npx -y actual-budget-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Actual Budget require an API key?
Yes. It expects ACTUAL_SERVER_URL, ACTUAL_BUDGET_ID, ACTUAL_PASSWORD, ACTUAL_SESSION_TOKEN, ACTUAL_ENCRYPTION_PASSWORD, of which 3 are secrets.
›Can I use Actual Budget as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Actual Budget in the official MCP registry?
Yes, as io.github.henfrydls/actual-budget-mcp.
Alternatives to Actual Budget
Other finance & fintech MCP servers.