actual-mcp

MCPattested
v1.13.0Stefan StefanovMITUpdated todaynpmGitHub

Actual Budget MCP server exposing API functionality

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
193Downloads/wk
228GitHub stars
83Forks
todayLast update
Needs 1 credential before it runs
  • ACTUAL_PASSWORDAPI keyrequired

    Actual Budget server password

  • ACTUAL_BUDGET_ENCRYPTION_PASSWORDAPI keyoptional

    E2E encryption password, if enabled

Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.

Package
AuthorStefan Stefanov
LicenseMIT
Version1.13.0
Sourcenpm+mcp-registry
Trust Status
A
85/100Trusted
Listed in Forge index+10/10
Identity verified · attested build+20/20
Ed25519 publish signature+0/5
Included automatically when the publisher runs `forge publish`
Domain verification+0/5
Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+5/5
npm maintainer match+0/5
Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
CVE scan · clean+30/30
Static analysis · clean+20/20
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain
Provenance✓ Sigstore-verified · fa16d6f
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface40 tools · 8 privileged
Security scan✓ Cleanv1.13.0 · todayHow well does this scan work?
EvalsNone
IndexedSep 12, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

40 tools · 8 privileged
Statically extracted from the published packagev1.13.0 · 8h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

balance-historyGet account balance history over time

Get account balance history over time

No input schema was published for this tool.

budget-vs-actualCompare budgeted amounts against actual spending per category, for recent months. Returns JSON; amounts are integer cents.

Compare budgeted amounts against actual spending per category, for recent months. Returns JSON; amounts are integer cents.

No input schema was published for this tool.

get-budget-monthRetrieve budget data for a specific month, including budgeted amounts, spending, and balances per category.

Retrieve budget data for a specific month, including budgeted amounts, spending, and balances per category.

No input schema was published for this tool.

get-budget-monthsRetrieve a list of all available budget months in YYYY-MM format.

Retrieve a list of all available budget months in YYYY-MM format.

No input schema was published for this tool.

hold-budget-for-next-monthReserve budget funds from the current month to be used in the following month. Value must be in integer cents.

Reserve budget funds from the current month to be used in the following month. Value must be in integer cents.

No input schema was published for this tool.

reset-budget-holdClear any held budget amounts for a specified month, releasing them back to the available balance.

Clear any held budget amounts for a specified month, releasing them back to the available balance.

No input schema was published for this tool.

set-budget-amountSet the budgeted amount for a category in a given month. Value must be in integer cents (e.g. 12030 = $120.30).

Set the budgeted amount for a category in a given month. Value must be in integer cents (e.g. 12030 = $120.30).

No input schema was published for this tool.

set-budget-carryoverEnable or disable carryover of unspent funds for a category into the next month.

Enable or disable carryover of unspent funds for a category into the next month.

No input schema was published for this tool.

cash-flowReport income, expenses, and net cash flow per month or week. Returns JSON; amounts are integer cents.

Report income, expenses, and net cash flow per month or week. Returns JSON; amounts are integer cents.

No input schema was published for this tool.

create-category-groupCreate a new category group

Create a new category group

No input schema was published for this tool.

create-categoryCreate a new category

Create a new category

No input schema was published for this tool.

delete-category-groupprivilegedDelete a category group

Delete a category group

No input schema was published for this tool.

delete-categoryprivilegedDelete a category

Delete a category

No input schema was published for this tool.

get-grouped-categoriesRetrieve a list of all category groups with their id, name, type and category list.

Retrieve a list of all category groups with their id, name, type and category list.

No input schema was published for this tool.

update-category-groupUpdate a category group

Update a category group

No input schema was published for this tool.

update-categoryUpdate a category

Update a category

No input schema was published for this tool.

category-trendsShow how spending in each category changes month over month, with trend direction. Returns JSON; amounts are integer cents.

Show how spending in each category changes month over month, with trend direction. Returns JSON; amounts are integer cents.

No input schema was published for this tool.

create-transactionCreate a new transaction. Use this to add transactions to accounts. Supports transfers between accounts by

Create a new transaction. Use this to add transactions to accounts. Supports transfers between accounts by

No input schema was published for this tool.

create-custom-reportCreate a saved custom report, selectable as a widget in the Reports section

Create a saved custom report, selectable as a widget in the Reports section

No input schema was published for this tool.

delete-custom-reportprivilegedDelete a saved custom report

Delete a saved custom report

No input schema was published for this tool.

get-custom-reportsRetrieve every saved custom report from the budget's Reports section

Retrieve every saved custom report from the budget's Reports section

No input schema was published for this tool.

update-custom-reportUpdate fields on a saved custom report, leaving unspecified fields unchanged

Update fields on a saved custom report, leaving unspecified fields unchanged

No input schema was published for this tool.

add-dashboard-widgetAdd a widget to a dashboard page in the Reports section

Add a widget to a dashboard page in the Reports section

No input schema was published for this tool.

create-dashboard-pageCreate a new, empty dashboard page in the Reports section

Create a new, empty dashboard page in the Reports section

No input schema was published for this tool.

delete-dashboard-pageprivilegedDelete a dashboard page along with every widget on it

Delete a dashboard page along with every widget on it

No input schema was published for this tool.

get-dashboardsRetrieve every dashboard page and the widgets laid out on it. These are the dashboards under the Reports section of the sidebar.

Retrieve every dashboard page and the widgets laid out on it. These are the dashboards under the Reports section of the sidebar.

No input schema was published for this tool.

organize-dashboardReposition and resize several dashboard widgets at once, to rearrange a dashboard layout in the Reports section

Reposition and resize several dashboard widgets at once, to rearrange a dashboard layout in the Reports section

No input schema was published for this tool.

remove-dashboard-widgetprivilegedRemove a widget from its dashboard page

Remove a widget from its dashboard page

No input schema was published for this tool.

rename-dashboard-pageprivilegedRename an existing dashboard page

Rename an existing dashboard page

No input schema was published for this tool.

update-dashboard-widgetUpdate a dashboard widget's configuration, position, or size

Update a dashboard widget's configuration, position, or size

No input schema was published for this tool.

delete-transactionprivilegedDelete a transaction by its ID. This action is permanent and cannot be undone.

Delete a transaction by its ID. This action is permanent and cannot be undone.

No input schema was published for this tool.

get-accountsRetrieve a list of all accounts with their current balance and ID.

Retrieve a list of all accounts with their current balance and ID.

No input schema was published for this tool.

get-transactionsGet transactions for an account with optional filtering

Get transactions for an account with optional filtering

No input schema was published for this tool.

import-transactionsImport a list of transactions into an account using reconciliation logic.

Import a list of transactions into an account using reconciliation logic.

No input schema was published for this tool.

monthly-summaryGet monthly income, expenses, and savings

Get monthly income, expenses, and savings

No input schema was published for this tool.

net-worthTrack assets, liabilities, and net worth across all accounts over time. Returns JSON; amounts are integer cents.

Track assets, liabilities, and net worth across all accounts over time. Returns JSON; amounts are integer cents.

No input schema was published for this tool.

create-payeeCreate a new payee

Create a new payee

No input schema was published for this tool.

delete-payeeprivilegedDelete a payee

Delete a payee

No input schema was published for this tool.

get-payeesRetrieve a list of all payees with their id, name, categoryId and transferAccountId.

Retrieve a list of all payees with their id, name, categoryId and transferAccountId.

No input schema was published for this tool.

update-payeeUpdate a payee

Update a payee

No input schema was published for this tool.

40 of 40 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Actual Budget MCP server exposing API functionality

Keywords
mcpactual-budgetbudgetingaimodel-context-protocolactual
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-12 — observed resolution, not a publisher declaration.

60 packages resolved · 7 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

87 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+75 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies, optionalDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.