Aggregate

finance.aggregatePublished by aggregate.financeOfficial publisherv0.1.3Updated Nov 3, 2026

Finance MCP server for your banks, cards, books and payroll. Records money, never moves it.

VerifiedStreamable HTTPWeb executableFinanceData & AnalyticsBusiness & Commerce

Overview

Aggregate's hosted MCP server (app.aggregate.finance), published by aggregate.finance; OAuth sign-in required; Streamable HTTP.

No AI overview yet: these facts come from the registry entry and the server itself.

Publisher
aggregate.finance
Endpoint
app.aggregate.finance
Last checked

Installation

In SourceWeft

  1. Open Aggregate in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/finance.aggregate%2Faggregate/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "aggregate": {
      "type": "http",
      "url": "https://app.aggregate.finance/mcp"
    }
  }
}

README

[Aggregate]

Ask your AI about your finances.

Aggregate is a read-only finance MCP server: an open-source double-entry ledger that connects your banks, cards, payment apps, books and payroll to your AI.
Every account, company and holding, in one link for Claude, ChatGPT or your own agents.
Reconciled to the cent, and your AI can never move money.

Website · Get started · Self-host · Safety · Docs

[License: AGPL-3.0] [MCP: remote and local] [Self-host with Docker] [OpenSSF Scorecard] [skills.sh]

English · 简体中文 · 日本語 · 한국어 · Español · Português (Brasil) · Deutsch · Français


[Claude Code asked “How much cash do we have?” calls Aggregate’s get_overview tool and answers with the cash in each company and in total.]

Does Aggregate see my bank password?No. You sign in to your bank through Plaid, and to each app on its own page. Aggregate gets a token, encrypted with a key kept outside the database, and only ever uses it to read.
Does my data train AI models?No. Aggregate never uses your data to train models and doesn’t let anyone else. What your AI reads is covered by your AI provider’s own policy.
Can it move money?Never. There’s no tool and no connection that can pay, transfer, pay a bill or send anything.
How does it count cash, burn and runway?The same way every time. Aggregate computes each figure from one written definition, not your AI, and says “unknown” instead of guessing.
What doesn’t it do yet?Crypto, banks outside the US (upload statements instead), cash sales in Square, and more. Each is on Known limits, with what happens instead.

[Banks, payment apps, accounting, invoices, payroll, cap table and receipts all flow into Aggregate, which serves them to Claude, ChatGPT, Cursor and your own agents through one link.]


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.

[The Aggregate workspace: cash in each company, connections, and the link for your AI.]

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: [Add to Cursor]
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):

sh
npx skills add Izzy-Gottz/aggregate-finance
Bots and scripts that can’t sign in

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:

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

Or bridge it to a local MCP client over stdio:

sh
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.

[Each AI’s permission written as one sentence, with a full activity log, undo, pause and revoke.]

  • 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.

sh
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
Without Docker
sh
npm installnpm run -s keygen > .env     # -s keeps npm's own output out of the filenpm run build -w @agfn/webnpm 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.

All 40 tools your AI gets

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
How the code is organized
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.

Source: README.md at commit 9b791f1

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

3
  1. v0.1.3LatestNov 3, 2026
  2. v0.1.1Nov 1, 2026
  3. v0.1.0Oct 12, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Aggregate integrations