Actual Budget MCP
An MCP server that connects Claude to a local Actual Budget instance, allowing agents to query accounts, analyze spending trends, create and manage transactions, and reallocate budgets without data leaving the user's machine.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Query accounts, budgets, and transaction history
- Analyze spending trends and budget vs actual projections
- Create, update, or delete financial transactions
- Reallocate budget amounts between categories
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
actual-budget-mcp 0.11.0
{
"version": "0.11.0",
"transport": "stdio",
"identifier": "actual-budget-mcp",
"runtimeHint": "npx",
"registryType": "npm",
"environmentVariables": [
{
"name": "ACTUAL_SERVER_URL",
"isRequired": true,
"description": "URL of your Actual Budget server, for example http://localhost:5006"
},
{
"name": "ACTUAL_PASSWORD",
"description": "Password for your Actual Budget server. Not needed if you set ACTUAL_SESSION_TOKEN"
},
{
"name": "ACTUAL_SESSION_TOKEN",
"description": "Session token for servers behind OIDC, which have no password. Use instead of ACTUAL_PASSWORD; if both are set, the token wins"
},
{
"name": "ACTUAL_BUDGET_ID",
"isRequired": true,
"description": "Your budget's Sync ID, found under Settings > Show advanced settings"
},
{
"name": "ACTUAL_ENCRYPTION_PASSWORD",
"description": "Only needed if your budget file is end-to-end encrypted"
},
{
"name": "ACTUAL_READ_ONLY",
"description": "Set to 1 to hide every write tool from the model, exposing only reads and analysis"
},
{
"name": "ACTUAL_TOOLSET",
"description": "Set to chat to offer the 17 everyday tools instead of all 43, which is 17.0 KiB of tool descriptions instead of 39.2 KiB on every connection. Defaults to full"
},
{
"name": "ACTUAL_DATA_DIR",
"description": "Directory for the local budget cache"
},
{
"name": "ACTUAL_HTTP_TIMEOUT_MS",
"description": "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"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"actual-budget-mcp-mcp": {
"command": "npx",
"args": [
"-y",
"actual-budget-mcp@0.11.0"
],
"env": {
"ACTUAL_SERVER_URL": "<YOUR_ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<YOUR_ACTUAL_PASSWORD>",
"ACTUAL_SESSION_TOKEN": "<YOUR_ACTUAL_SESSION_TOKEN>",
"ACTUAL_BUDGET_ID": "<YOUR_ACTUAL_BUDGET_ID>",
"ACTUAL_ENCRYPTION_PASSWORD": "<YOUR_ACTUAL_ENCRYPTION_PASSWORD>",
"ACTUAL_READ_ONLY": "<YOUR_ACTUAL_READ_ONLY>",
"ACTUAL_TOOLSET": "<YOUR_ACTUAL_TOOLSET>",
"ACTUAL_DATA_DIR": "<YOUR_ACTUAL_DATA_DIR>",
"ACTUAL_HTTP_TIMEOUT_MS": "<YOUR_ACTUAL_HTTP_TIMEOUT_MS>"
}
}
}
}Cline
{
"mcpServers": {
"actual-budget-mcp-mcp": {
"command": "npx",
"args": [
"-y",
"actual-budget-mcp@0.11.0"
],
"env": {
"ACTUAL_SERVER_URL": "<YOUR_ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<YOUR_ACTUAL_PASSWORD>",
"ACTUAL_SESSION_TOKEN": "<YOUR_ACTUAL_SESSION_TOKEN>",
"ACTUAL_BUDGET_ID": "<YOUR_ACTUAL_BUDGET_ID>",
"ACTUAL_ENCRYPTION_PASSWORD": "<YOUR_ACTUAL_ENCRYPTION_PASSWORD>",
"ACTUAL_READ_ONLY": "<YOUR_ACTUAL_READ_ONLY>",
"ACTUAL_TOOLSET": "<YOUR_ACTUAL_TOOLSET>",
"ACTUAL_DATA_DIR": "<YOUR_ACTUAL_DATA_DIR>",
"ACTUAL_HTTP_TIMEOUT_MS": "<YOUR_ACTUAL_HTTP_TIMEOUT_MS>"
}
}
}
}VS Code
{
"servers": {
"actual-budget-mcp-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"actual-budget-mcp@0.11.0"
],
"env": {
"ACTUAL_SERVER_URL": "<YOUR_ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<YOUR_ACTUAL_PASSWORD>",
"ACTUAL_SESSION_TOKEN": "<YOUR_ACTUAL_SESSION_TOKEN>",
"ACTUAL_BUDGET_ID": "<YOUR_ACTUAL_BUDGET_ID>",
"ACTUAL_ENCRYPTION_PASSWORD": "<YOUR_ACTUAL_ENCRYPTION_PASSWORD>",
"ACTUAL_READ_ONLY": "<YOUR_ACTUAL_READ_ONLY>",
"ACTUAL_TOOLSET": "<YOUR_ACTUAL_TOOLSET>",
"ACTUAL_DATA_DIR": "<YOUR_ACTUAL_DATA_DIR>",
"ACTUAL_HTTP_TIMEOUT_MS": "<YOUR_ACTUAL_HTTP_TIMEOUT_MS>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"actual-budget-mcp-mcp": {
"command": "npx",
"args": [
"-y",
"actual-budget-mcp@0.11.0"
],
"env": {
"ACTUAL_SERVER_URL": "<YOUR_ACTUAL_SERVER_URL>",
"ACTUAL_PASSWORD": "<YOUR_ACTUAL_PASSWORD>",
"ACTUAL_SESSION_TOKEN": "<YOUR_ACTUAL_SESSION_TOKEN>",
"ACTUAL_BUDGET_ID": "<YOUR_ACTUAL_BUDGET_ID>",
"ACTUAL_ENCRYPTION_PASSWORD": "<YOUR_ACTUAL_ENCRYPTION_PASSWORD>",
"ACTUAL_READ_ONLY": "<YOUR_ACTUAL_READ_ONLY>",
"ACTUAL_TOOLSET": "<YOUR_ACTUAL_TOOLSET>",
"ACTUAL_DATA_DIR": "<YOUR_ACTUAL_DATA_DIR>",
"ACTUAL_HTTP_TIMEOUT_MS": "<YOUR_ACTUAL_HTTP_TIMEOUT_MS>"
}
}
}
}Let your agent find its tools
Find servers like Actual Budget MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.