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 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 and analyze spending trends
- Create, update, or delete transactions
- Reallocate budget amounts between categories
- Check budget vs actual projections
Source and maintenance
Community listingRegistry 0.11.0
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/henfrydls/actual-budget-mcp:0.11.0
oci
ghcr.io/henfrydls/actual-budget-mcp:0.11.0 package definition
{
"transport": "stdio",
"identifier": "ghcr.io/henfrydls/actual-budget-mcp:0.11.0",
"registryType": "oci",
"environmentVariables": [
{
"name": "ACTUAL_SERVER_URL",
"isRequired": true,
"description": "URL of your Actual Budget server. Inside the container localhost is the container, so use host.docker.internal"
},
{
"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_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_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
Cursor configuration
{
"mcpServers": {
"actual-budget-mcp-0-11-0": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ACTUAL_SERVER_URL=<YOUR_ACTUAL_SERVER_URL>",
"-e",
"ACTUAL_PASSWORD=<YOUR_ACTUAL_PASSWORD>",
"-e",
"ACTUAL_SESSION_TOKEN=<YOUR_ACTUAL_SESSION_TOKEN>",
"-e",
"ACTUAL_BUDGET_ID=<YOUR_ACTUAL_BUDGET_ID>",
"-e",
"ACTUAL_READ_ONLY=<YOUR_ACTUAL_READ_ONLY>",
"-e",
"ACTUAL_TOOLSET=<YOUR_ACTUAL_TOOLSET>",
"-e",
"ACTUAL_HTTP_TIMEOUT_MS=<YOUR_ACTUAL_HTTP_TIMEOUT_MS>",
"ghcr.io/henfrydls/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_READ_ONLY": "<YOUR_ACTUAL_READ_ONLY>",
"ACTUAL_TOOLSET": "<YOUR_ACTUAL_TOOLSET>",
"ACTUAL_HTTP_TIMEOUT_MS": "<YOUR_ACTUAL_HTTP_TIMEOUT_MS>"
}
}
}
}Cline
Cline configuration
{
"mcpServers": {
"actual-budget-mcp-0-11-0": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ACTUAL_SERVER_URL=<YOUR_ACTUAL_SERVER_URL>",
"-e",
"ACTUAL_PASSWORD=<YOUR_ACTUAL_PASSWORD>",
"-e",
"ACTUAL_SESSION_TOKEN=<YOUR_ACTUAL_SESSION_TOKEN>",
"-e",
"ACTUAL_BUDGET_ID=<YOUR_ACTUAL_BUDGET_ID>",
"-e",
"ACTUAL_READ_ONLY=<YOUR_ACTUAL_READ_ONLY>",
"-e",
"ACTUAL_TOOLSET=<YOUR_ACTUAL_TOOLSET>",
"-e",
"ACTUAL_HTTP_TIMEOUT_MS=<YOUR_ACTUAL_HTTP_TIMEOUT_MS>",
"ghcr.io/henfrydls/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_READ_ONLY": "<YOUR_ACTUAL_READ_ONLY>",
"ACTUAL_TOOLSET": "<YOUR_ACTUAL_TOOLSET>",
"ACTUAL_HTTP_TIMEOUT_MS": "<YOUR_ACTUAL_HTTP_TIMEOUT_MS>"
}
}
}
}VS Code
VS Code configuration
{
"servers": {
"actual-budget-mcp-0-11-0": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ACTUAL_SERVER_URL=<YOUR_ACTUAL_SERVER_URL>",
"-e",
"ACTUAL_PASSWORD=<YOUR_ACTUAL_PASSWORD>",
"-e",
"ACTUAL_SESSION_TOKEN=<YOUR_ACTUAL_SESSION_TOKEN>",
"-e",
"ACTUAL_BUDGET_ID=<YOUR_ACTUAL_BUDGET_ID>",
"-e",
"ACTUAL_READ_ONLY=<YOUR_ACTUAL_READ_ONLY>",
"-e",
"ACTUAL_TOOLSET=<YOUR_ACTUAL_TOOLSET>",
"-e",
"ACTUAL_HTTP_TIMEOUT_MS=<YOUR_ACTUAL_HTTP_TIMEOUT_MS>",
"ghcr.io/henfrydls/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_READ_ONLY": "<YOUR_ACTUAL_READ_ONLY>",
"ACTUAL_TOOLSET": "<YOUR_ACTUAL_TOOLSET>",
"ACTUAL_HTTP_TIMEOUT_MS": "<YOUR_ACTUAL_HTTP_TIMEOUT_MS>"
}
}
}
}Claude Desktop
Claude Desktop configuration
{
"mcpServers": {
"actual-budget-mcp-0-11-0": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"ACTUAL_SERVER_URL=<YOUR_ACTUAL_SERVER_URL>",
"-e",
"ACTUAL_PASSWORD=<YOUR_ACTUAL_PASSWORD>",
"-e",
"ACTUAL_SESSION_TOKEN=<YOUR_ACTUAL_SESSION_TOKEN>",
"-e",
"ACTUAL_BUDGET_ID=<YOUR_ACTUAL_BUDGET_ID>",
"-e",
"ACTUAL_READ_ONLY=<YOUR_ACTUAL_READ_ONLY>",
"-e",
"ACTUAL_TOOLSET=<YOUR_ACTUAL_TOOLSET>",
"-e",
"ACTUAL_HTTP_TIMEOUT_MS=<YOUR_ACTUAL_HTTP_TIMEOUT_MS>",
"ghcr.io/henfrydls/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_READ_ONLY": "<YOUR_ACTUAL_READ_ONLY>",
"ACTUAL_TOOLSET": "<YOUR_ACTUAL_TOOLSET>",
"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.