Skip to content
Conduit

mcp server

aggregate-finance

Aggregate: open-source, read-only finance MCP server. Connect your banks, cards, payments, books, payroll and cap table across all your companies, and ask any AI about them. It can't move money.

Izzy-Gottz/aggregate-financecommunitylistedunreviewed

Set up

Runs on your computer. Pick your agent and operating system.

Before you start

  • Node.js 20 or newer
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "aggregate-finance": {
      "command": "npx",
      "args": [
        "-y",
        "aggregate-finance"
      ],
      "env": {
        "AGFN_KEY": "<your AGFN_KEY>"
      }
    }
  }
}

same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12

Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs

README

synced Nov 2, 2026

Who it’s for

FoundersSeveral companies side by side, and what each one owes you
BusinessesBanks, cards, payments, invoices, bills and payroll in one ledger
InvestorsYour holdings, and the stakes you hold in companies
IndividualsJust your own accounts, cards and cash, in a private space

What you can ask

Once it’s connected, just ask:

“How much cash do we have across all our companies, and how many months of runway?”

“Which invoices are overdue, and who owes us the most?”

“How are my investments doing?”

“How much is in my personal accounts right now?”

“I paid a contractor $500 in cash for Harbor Coffee. Add it.”

“What does each company owe me personally?”

More in the prompt recipes.

Your AI does the thinking. Aggregate makes sure the numbers underneath are right: every payment counted once, balances checked against your bank, and every record traceable to where it came from.

Get started

Hosted (about 2 minutes)Self-host (about 10 minutes)
Where it runsapp.aggregate.financeYour machine or server, with Docker or Node
ConnectionsSet up for youBring your own provider keys, or upload statements
Backups and updatesDone for youYours
CostFree during early accessFree (AGPL-3.0)
StartSign up, then connect your AI belowRun it yourself

Connect your AI

One line for each AI:

AIHow
Claude Codeclaude mcp add --transport http agfn https://app.aggregate.finance/mcp
Cursor, VS Code, Windsurf, Claude Codenpx aggregate-finance setup (shows what it would change; add --yes to write it)
CursorOne click:
ClaudeSettings → Connectors → Add custom connector → paste the link below
ChatGPTAdd it as a connector and paste the link below

Or copy the link into any AI that supports MCP:

https://app.aggregate.finance/mcp

You sign in, then choose exactly what that AI can see in one plain sentence. Running your own server? Use https://<your-server>/mcp instead.

Agent skill. Teach your agent when to use these tools, the fixed definitions behind cash, burn and runway, and to stay read-only unless you ask (skills/aggregate/SKILL.md):

npx skills add Izzy-Gottz/aggregate-finance

Create a key in Connect your AI → Connect another AI → A bot or script. Keys look like agfn_live_…, are shown once and always expire. Send it as a header:

curl -H "Authorization: Bearer $AGFN_KEY" https://app.aggregate.finance/v1/overview

Or bridge it to a local MCP client over stdio:

AGFN_KEY=agfn_live_… npx aggregate-finance mcp --url https://app.aggregate.finance/mcp

The same tools are available as a REST API, described at /v1/openapi.json.

What it connects

Banks and cardsAny bank or card through Plaid or SimpleFIN Bridge, plus Mercury, Brex, Ramp and Wise directly
PaymentsStripe (multiple accounts), Square, Shopify, Paddle, App Store, Google Play · PayPal, Lemon Squeezy and Polar when you self-host (coming soon on hosted)
AccountingQuickBooks, Xero, BILL (bills and payables)
PayrollDeel, and payroll from Gusto, Justworks and others spotted in your bank data
Cap tableBuilt in. Imports Pulley’s cap-table export (Pulley shuts down Dec 8, 2026; the import stays for teams moving off it), Carta and Mantle OCX (.xlsx), CSV ledgers and Open Cap Table Format
InvestmentsWefunder portfolios (for investors)
Everything elseStatements (CSV, OFX, QFX, QBO), PDFs and photos of receipts, bills sent by email, or just tell your AI
Coming soonFinch and Rippling: built, and being tested with real accounts

Aggregate only ever reads from your providers and has no way to move money. On hosted, Stripe and Square access is read-only at the source too. QuickBooks, BILL, Lemon Squeezy and Expensify don't offer read-only access, so what they grant could do more than read; Aggregate only reads from all four. Every company you own lives side by side, plus a private Personal space.

[!NOTE] Aggregate is early. On hosted, Stripe has been on the Stripe App Marketplace since 2026-10-26 and Shopify on the Shopify App Store since 2026-10-22. Xero connects up to 5 organizations on hosted until Xero certifies the app. The other connectors are built to each provider’s documentation and are being verified with real accounts. Issues and fixes are very welcome.

How it compares

AggregateOne provider’s own MCP serverPersonal finance app with AI
Several sources in one place (banks, payments, accounting, payroll, cap table)✓One providerBanks and cards
Several companies side by side, plus personal✓One accountPersonal
One double-entry ledger, transfers and payouts counted once✓—Varies
Works with any AI that speaks MCP✓✓Usually their own AI
Open source, self-hostable✓ (AGPL-3.0)VariesRarely
Can move moneyNeverSome canVaries

We also measured it. On our benchmark (100 questions about one made-up company, one model), answers through Aggregate were 100/100 correct. The same model reading tidy exported files with Python got 98/100 and cost less ($0.17 against $0.41). Read the caveats there before quoting it: a two-question gap is within run-to-run noise, Aggregate's tools were tuned on these same questions, and real exports are messier than the ones tested.

Safety

Money is the one place an AI can’t be sloppy, so control is the core of the product, not an add-on.

  • Your AI can never move money. No payments, no bills paid, no invoices or emails sent. Ever.
  • Each AI gets its own permission, written as a sentence you can read: which companies, which kinds of data, read only or read and add, and when it expires. Checked on every single request.
  • Everything is logged and undoable. Every question an AI asks and every record it adds, labeled with who added it. Undo for 30 days, or turn on review so AI changes wait for you. Pause or revoke any AI in one click.
  • Your secrets stay encrypted. Provider tokens are encrypted with a key kept outside the database (KMS and 1Password supported). Bank logins go through Plaid and are never seen by Aggregate.
  • Built for prompt injection. Text from documents and memos is treated as untrusted, and a red-team suite of injection attacks runs on every change.
  • Passkeys (or a code sent by email) are required again before connecting accounts or giving an AI more access.

Read the threat model and security policy.

Run it yourself

Everything is open source, including every hosted feature. Self-hosting needs Node 22.18+ or Docker.

git clone https://github.com/Izzy-Gottz/aggregate-finance && cd aggregate-finance
(umask 077; printf 'AUTH_SECRET=%s\nAGFN_MASTER_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -base64 32)" > .env)
docker compose up -d         # http://localhost:8787
npm install
npm run -s keygen > .env     # -s keeps npm's own output out of the file
npm run build -w @agfn/web
npm start                    # http://localhost:8787

Copy .env somewhere safe, off this machine. Its AGFN_MASTER_KEY encrypts your stored bank tokens and your backups; without it neither can be read. Without email set up, sign-in links print to the server console (docker compose logs agfn). Each connector turns on when its keys are in .env (see .env.example). Postgres or SQLite, Fly.io and Railway configs included. Full guide: self-hosting.

Prefer not to run servers? Hosted Aggregate is the same code, with banking connections, backups and updates handled for you.

Read

ToolWhat it does
get_overviewCash and key numbers for every company
list_accountsAccounts and balances
search_transactionsSearch transactions
query_transactionsAdd up transactions by month, category, vendor, company and more
search_invoicesSearch invoices and bills
query_invoicesAdd up invoices and bills, including how overdue they are
get_reportsProfit and loss, balance sheet, cash flow
get_metricOne defined metric, with how it was worked out
get_mrr_movementsRecurring revenue by month: new, expansion, churn
list_upcomingMoney expected in and out
list_recurringSubscriptions and recurring bills, with price changes
get_liabilitiesCredit cards and loans: rates, minimums, due dates
get_holdingsInvestment positions and their value
get_owner_balanceWhat each company owes you, or you owe it
get_counterpartyOne customer or vendor
get_cap_tableCap table
get_payrollPayroll
list_buckets, get_bucketMoney set aside, like rent or taxes
list_documents, get_documentReceipts, bills and statements
get_coverageWhich months of each account are complete, missing or off
list_review_itemsThings waiting for a look
get_activityWho did what, and when
get_recordAny record by id
whoamiWhat this AI is allowed to see
refresh_balanceAsk the bank for balances right now

Add (only with permission to add)

ToolWhat it does
add_entryCash, an expense, owner money or a transfer
add_invoiceAn invoice or bill
record_paymentApply a payment to invoices or bills
pin_balanceA balance from a statement, checked against the records
create_bucket, update_bucketSet money aside
create_ruleTeach it how to handle something next time
update_record, void_recordFix or void a record
record_equity_eventShares, options, SAFEs and rounds
resolve_review_itemSettle something waiting for review
close_period, reopen_periodClose the books through a date, or reopen them
PathWhat
apps/serverHTTP server: sign-in, OAuth for AI clients, connectors, documents, MCP, web app
apps/webThe interface (Preact)
packages/coreDouble-entry ledger, matching, rules, buckets, metrics, reports
packages/mcpMCP server and REST API: tools, permissions, write pipeline, activity log
packages/connectors/*One package per provider, plus the SDK and registry
packages/invoicesInvoices, bills, payments, payroll
packages/equityCap table and rounds
packages/cliThe agfn command line
packages/auth, db, security, sync, files, contractsFoundation

If Aggregate is useful to you, a star helps other people find it.

Contributing

Bug reports, new connectors and fixes are welcome. Start with CONTRIBUTING.md. Security issues go to SECURITY.md, never public issues.

License

AGPL-3.0-only (GNU Affero General Public License v3.0 only; no additional terms). Free to use, change and self-host. If you run a modified version as a service for others, share your changes under the same license.

↑↓ navigate openesc close