{"name":"io.github.henfrydls/actual-budget-mcp","slug":"henfrydls-actual-budget-mcp","title":"Actual Budget","description":"Spending analysis and safe writes for Actual Budget: every delete previews and asks first.","url":"https://mcp.market/server/henfrydls-actual-budget-mcp","rating":null,"grade":"A","score":86,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":0,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"claimed":false,"transport":"mixed","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/henfrydls/actual-budget-mcp.git","website":"https://actual-mcp.henfrydls.com","version":"0.9.2","remotes":[],"packages":[{"registryType":"npm","identifier":"actual-budget-mcp","version":"0.9.2","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"URL of your Actual Budget server, for example http://localhost:5006","isRequired":true,"name":"ACTUAL_SERVER_URL"},{"description":"Password for your Actual Budget server. Not needed if you set ACTUAL_SESSION_TOKEN","isSecret":true,"name":"ACTUAL_PASSWORD"},{"description":"Session token for servers behind OIDC, which have no password. Use instead of ACTUAL_PASSWORD; if both are set, the token wins","isSecret":true,"name":"ACTUAL_SESSION_TOKEN"},{"description":"Your budget's Sync ID, found under Settings > Show advanced settings","isRequired":true,"name":"ACTUAL_BUDGET_ID"},{"description":"Only needed if your budget file is end-to-end encrypted","isSecret":true,"name":"ACTUAL_ENCRYPTION_PASSWORD"},{"description":"Set to 1 to hide every write tool from the model, exposing only reads and analysis","name":"ACTUAL_READ_ONLY"},{"description":"Directory for the local budget cache","name":"ACTUAL_DATA_DIR"}]},{"registryType":"oci","identifier":"ghcr.io/henfrydls/actual-budget-mcp:0.9.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"URL of your Actual Budget server. Inside the container localhost is the container, so use host.docker.internal","isRequired":true,"name":"ACTUAL_SERVER_URL"},{"description":"Password for your Actual Budget server. Not needed if you set ACTUAL_SESSION_TOKEN","isSecret":true,"name":"ACTUAL_PASSWORD"},{"description":"Session token for servers behind OIDC, which have no password. Use instead of ACTUAL_PASSWORD; if both are set, the token wins","isSecret":true,"name":"ACTUAL_SESSION_TOKEN"},{"description":"Your budget's Sync ID, found under Settings > Show advanced settings","isRequired":true,"name":"ACTUAL_BUDGET_ID"},{"description":"Set to 1 to hide every write tool from the model, exposing only reads and analysis","name":"ACTUAL_READ_ONLY"}]}],"tools":[],"scan":{"score":86,"grade":"A","scanned_at":"2026-09-18T04:54:23.037Z","report":{"scannerVersion":"0.1.2","scannedAt":"2026-09-18T04:54:22.960Z","components":{"code":{"score":25,"max":25,"notes":["115 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":15,"max":15,"notes":["only the listing description was available"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"actual-budget-mcp","version":"0.9.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":4,"publishedAt":"2026-09-17T02:26:06.244Z","repositoryUrl":"git+https://github.com/henfrydls/actual-budget-mcp.git","weeklyDownloads":384}],"repo":{"found":true,"owner":"henfrydls","repo":"actual-budget-mcp","archived":false,"pushedAt":"2026-09-17T04:12:04Z","stars":6,"openIssues":2,"ownerType":"User","ownerCreatedAt":"2021-01-29T19:58:14Z","license":"MIT"}}}},"grade_history":[],"reviews":[]}