{"name":"io.github.s-stefanov/actual-mcp","slug":"s-stefanov-actual-mcp","title":"Actual Budget MCP Server","description":"MCP server exposing Actual Budget accounts, transactions, budgets and reporting to LLM assistants.","url":"https://mcp.market/server/s-stefanov-actual-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":55,"stars":234,"forks":85,"downloads_week":867,"last_push_at":"2026-09-19T01:54:14.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/s-stefanov/actual-mcp","website":"https://github.com/s-stefanov/actual-mcp","version":"1.14.0","remotes":[],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"actual-mcp","version":"1.14.0","runtimeHint":"npx","transport":{"type":"stdio"},"environmentVariables":[{"description":"URL of your Actual Budget server","isRequired":true,"name":"ACTUAL_SERVER_URL"},{"description":"Actual Budget server password","isRequired":true,"isSecret":true,"name":"ACTUAL_PASSWORD"},{"description":"Budget sync ID","isRequired":true,"name":"ACTUAL_BUDGET_SYNC_ID"},{"description":"Local dir for cached budget data","name":"ACTUAL_DATA_DIR"},{"description":"E2E encryption password, if enabled","isSecret":true,"name":"ACTUAL_BUDGET_ENCRYPTION_PASSWORD"},{"description":"Sync cache TTL in ms","default":"60000","name":"ACTUAL_SYNC_TTL_MS"}]},{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"actual-mcp","version":"1.14.0","runtimeHint":"npx","transport":{"type":"streamable-http","url":"http://localhost:3000/mcp"},"packageArguments":[{"type":"named","name":"--sse"},{"value":"3000","type":"named","name":"--port"}],"environmentVariables":[{"description":"URL of your Actual Budget server","isRequired":true,"name":"ACTUAL_SERVER_URL"},{"description":"Actual Budget server password","isRequired":true,"isSecret":true,"name":"ACTUAL_PASSWORD"},{"description":"Budget sync ID","isRequired":true,"name":"ACTUAL_BUDGET_SYNC_ID"},{"description":"Local dir for cached budget data","name":"ACTUAL_DATA_DIR"},{"description":"E2E encryption password, if enabled","isSecret":true,"name":"ACTUAL_BUDGET_ENCRYPTION_PASSWORD"},{"description":"Sync cache TTL in ms","default":"60000","name":"ACTUAL_SYNC_TTL_MS"}]}],"tools":[{"name":"add-dashboard-widget","description":"Add a widget to a dashboard page in the Reports section","write_action":false,"price_micros":0,"input_schema":null},{"name":"balance-history","description":"Get account balance history over time","write_action":false,"price_micros":0,"input_schema":null},{"name":"budget-vs-actual","description":"Compare budgeted amounts against actual spending per category, for recent months. Returns JSON; amounts are integer cents.","write_action":false,"price_micros":0,"input_schema":null},{"name":"cash-flow","description":"Report income, expenses, and net cash flow per month or week. Returns JSON; amounts are integer cents.","write_action":false,"price_micros":0,"input_schema":null},{"name":"category-trends","description":"Show how spending in each category changes month over month, with trend direction. Returns JSON; amounts are integer cents.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create-category","description":"Create a new category","write_action":true,"price_micros":0,"input_schema":null},{"name":"create-category-group","description":"Create a new category group","write_action":true,"price_micros":0,"input_schema":null},{"name":"create-custom-report","description":"Create a saved custom report, selectable as a widget in the Reports section","write_action":true,"price_micros":0,"input_schema":null},{"name":"create-dashboard-page","description":"Create a new, empty dashboard page in the Reports section","write_action":true,"price_micros":0,"input_schema":null},{"name":"create-payee","description":"Create a new payee","write_action":true,"price_micros":0,"input_schema":null},{"name":"create-rule","description":"Create a new rule","write_action":true,"price_micros":0,"input_schema":null},{"name":"create-transaction","description":"Create a new transaction. Use this to add transactions to accounts. Supports transfers between accounts by","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete-category","description":"Delete a category","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete-category-group","description":"Delete a category group","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete-custom-report","description":"Delete a saved custom report","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete-dashboard-page","description":"Delete a dashboard page along with every widget on it","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete-payee","description":"Delete a payee","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete-rule","description":"Delete a rule","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete-transaction","description":"Delete a transaction by its ID. This action is permanent and cannot be undone.","write_action":true,"price_micros":0,"input_schema":null},{"name":"get-accounts","description":"Retrieve a list of all accounts with their current balance and ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get-budget-month","description":"Retrieve budget data for a specific month, including budgeted amounts, spending, and balances per category.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get-budget-months","description":"Retrieve a list of all available budget months in YYYY-MM format.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get-custom-reports","description":"Retrieve every saved custom report from the budget's Reports section","write_action":false,"price_micros":0,"input_schema":null},{"name":"get-dashboards","description":"Retrieve every dashboard page and the widgets laid out on it. These are the dashboards under the Reports section of the sidebar.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get-grouped-categories","description":"Retrieve a list of all category groups with their id, name, type and category list.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get-payees","description":"Retrieve a list of all payees with their id, name, categoryId and transferAccountId.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get-rules","description":"Retrieve a list of all rules. PS amount comes in cents: positive for deposit, negative for payment","write_action":false,"price_micros":0,"input_schema":null},{"name":"get-transactions","description":"Get transactions for an account with optional filtering","write_action":false,"price_micros":0,"input_schema":null},{"name":"hold-budget-for-next-month","description":"Reserve budget funds from the current month to be used in the following month. Value must be in integer cents.","write_action":false,"price_micros":0,"input_schema":null},{"name":"import-transactions","description":"Import a list of transactions into an account using reconciliation logic.","write_action":false,"price_micros":0,"input_schema":null},{"name":"monthly-summary","description":"Get monthly income, expenses, and savings","write_action":false,"price_micros":0,"input_schema":null},{"name":"net-worth","description":"Track assets, liabilities, and net worth across all accounts over time. Returns JSON; amounts are integer cents.","write_action":false,"price_micros":0,"input_schema":null},{"name":"organize-dashboard","description":"Reposition and resize several dashboard widgets at once, to rearrange a dashboard layout in the Reports section","write_action":false,"price_micros":0,"input_schema":null},{"name":"remove-dashboard-widget","description":"Remove a widget from its dashboard page","write_action":true,"price_micros":0,"input_schema":null},{"name":"rename-dashboard-page","description":"Rename an existing dashboard page","write_action":false,"price_micros":0,"input_schema":null},{"name":"reset-budget-hold","description":"Clear any held budget amounts for a specified month, releasing them back to the available balance.","write_action":false,"price_micros":0,"input_schema":null},{"name":"run-bank-sync","description":"Run bank synchronization (GoCardless/SimpleFIN) to download latest transactions.","write_action":true,"price_micros":0,"input_schema":null},{"name":"set-budget-amount","description":"Set the budgeted amount for a category in a given month. Value must be in integer cents (e.g. 12030 = $120.30).","write_action":false,"price_micros":0,"input_schema":null},{"name":"set-budget-carryover","description":"Enable or disable carryover of unspent funds for a category into the next month.","write_action":false,"price_micros":0,"input_schema":null},{"name":"spending-by-category","description":"Get spending breakdown by category for a specified date range","write_action":false,"price_micros":0,"input_schema":null},{"name":"spending-by-payee","description":"Rank payees by how much money was spent with (or received from) each one. Returns JSON; amounts are integer cents.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update-category","description":"Update a category","write_action":true,"price_micros":0,"input_schema":null},{"name":"update-category-group","description":"Update a category group","write_action":true,"price_micros":0,"input_schema":null},{"name":"update-custom-report","description":"Update fields on a saved custom report, leaving unspecified fields unchanged","write_action":true,"price_micros":0,"input_schema":null},{"name":"update-dashboard-widget","description":"Update a dashboard widget's configuration, position, or size","write_action":true,"price_micros":0,"input_schema":null},{"name":"update-payee","description":"Update a payee","write_action":true,"price_micros":0,"input_schema":null},{"name":"update-rule","description":"Update a rule","write_action":true,"price_micros":0,"input_schema":null},{"name":"update-transaction","description":"Update an existing transaction. Can modify date, amount, payee, category, notes, cleared status, and","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-19T20:03:50.561Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:03:50.542Z","components":{"code":{"score":25,"max":25,"notes":["262 source files scanned","262 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"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-mcp","version":"1.14.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":7,"publishedAt":"2026-09-14T05:03:06.919Z","repositoryUrl":"git+https://github.com/s-stefanov/actual-mcp.git","weeklyDownloads":867},{"registryType":"npm","identifier":"actual-mcp","version":"1.14.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":7,"publishedAt":"2026-09-14T05:03:06.919Z","repositoryUrl":"git+https://github.com/s-stefanov/actual-mcp.git"}],"repo":{"found":true,"owner":"s-stefanov","repo":"actual-mcp","archived":false,"pushedAt":"2026-09-19T01:54:14Z","stars":234,"forks":85,"openIssues":43,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/35034980?v=4","ownerCreatedAt":"2018-01-02T14:31:23Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/35034980?v=4&s=128","source":"registry"},"presence":{"stars":234,"forks":85,"downloadsWeek":867,"license":"MIT","lastPushAt":"2026-09-19T01:54:14.000Z","score":55}}}},"grade_history":[],"reviews":[]}