# Fungible

Keyboard-first personal finance TUI with Plaid sync and a built-in MCP server and HTTP API.

Fungible pulls bank transactions through Plaid or CSV into a local SQLite store and shows spending, trends, net worth and financial health in a terminal UI (a desktop GUI shares the data). The same 30-odd tools are exposed as an MCP server (stdio or HTTP) and a REST API, so Claude can categorize, tag, sync and report. MIT.

Alternative to: YNAB, Monarch Money, Copilot Money

- Capabilities: adaptable, operable
- Vertical: invoicing-finance
- Shape: product
- Form factor: cli
- Execution model: hybrid
- Provenance: unknown (recorded, never ranked)
- Repo: https://github.com/tomfunk/fungible (MIT), 108 stars, last commit 2026-09-03
- Last activity: 2026-09-03
- Page: apps/tomfunk--fungible.html
- JSON: apps/tomfunk--fungible.json

## Use it when

- I live in the terminal and want Claude to tidy my transactions and answer 'how much did I spend on travel'
- I want a local finance dataset my agent can query without a cloud budgeting service

## Gotchas

- The desktop GUI does not start the MCP or API servers; use stdio MCP with the GUI
- Installers are un-notarized: Gatekeeper and SmartScreen warnings on first launch
- Deleting ~/.fungible/key means re-linking every bank

## Editions

- Free: Free, open source
  - source: https://github.com/tomfunk/fungible
  - installable: brew tap tomfunk/fungible && brew install fungible
  - binary: https://github.com/tomfunk/fungible/releases/latest

## Adaptable: make it yours

Effort: config-only (11 things to edit)

Run fungible --setup, then keep Plaid keys, optional model keys, API key and ports in ~/.fungible/.env. Rules and tags are data. Nothing else to change without editing the TypeScript.

- Env vars: PLAID_CLIENT_ID, PLAID_SECRET, PLAID_ENV, ANTHROPIC_API_KEY, OPENAI_API_KEY, FUNGIBLE_API_KEY, FUNGIBLE_API_PORT, FUNGIBLE_MCP_PORT, FUNGIBLE_DATA_DIR, FUNGIBLE_BACKUP_DAYS
- Config files: ~/.fungible/.env
- Prompt files: none
- Accounts you'll need: Plaid developer account (sandbox is enough to try; production for real banks); Anthropic or OpenAI (optional assistant)

## Operable: what an agent can drive

Operability: official. Interface: mcp at https://github.com/tomfunk/fungible/blob/main/docs/integrations.md (published by the builder, local).

### Reach (partial coverage)

- Sync transactions from Plaid: reachable. tool sync
- Import CSV statements: not reachable. no import tool in docs/integrations.md; CSV import is a TUI flow
- Categorize and rename with rules: reachable. tools add_rule, add_name_rule, edit_transaction
- Search transactions: reachable. tool list_transactions
- Tags and tag summaries: reachable. tools tag_transaction, tag_summary, list_tags
- Net worth history: reachable. tools get_balances, get_net_worth_history
- Financial health (runway, FIRE): reachable. tool get_financial_health
- Trends and delta mode: reachable. tools get_trends, get_drift
- Manual assets: undetermined. README feature; no dedicated tool listed
- Dedup review of CSV vs Plaid: not reachable. TUI-only screen; no tool
- Canvas visualizations: reachable. tools generate_canvas, show_canvas, list_canvases

## Code stack

- Languages: TypeScript
- Frameworks: Ink (TUI), Electron (GUI)
- Package manager: npm
- Database: SQLite
- Hosting target: local machine (Homebrew, installers)

## Model stack

- Providers: Anthropic, OpenAI
- Models: none
- Keys you need (names only): ANTHROPIC_API_KEY, OPENAI_API_KEY
- Prompts live in: none
- Tools: spending_summary, list_transactions, edit_transaction, add_rule, sync, get_balances, get_financial_health, get_trends, generate_canvas

## Evidence and confidence

- formFactor: terminal UI in TypeScript; a separate Electron GUI shares the data (README) (confidence 0.9)
- executionModel: deterministic finance tools; optional AI assistant with model keys in .env.example (confidence 0.85)
- operability: mcp/server.ts in repo, documented in docs/integrations.md by the Builder (confidence 0.95)
- effort: .env.example and README Storage/Running sections name the variables (confidence 0.85)
- editions: MIT, free; no paid edition (confidence 0.95)
- active: GitHub pushedAt 2026-09-03
- reach:  (confidence 0.9)

## Open questions

- Whether manual assets are editable through any tool

## Sources

- https://github.com/tomfunk/fungible (sourcing:invoicing-finance:github)
- https://github.com/tomfunk/fungible/blob/main/docs/integrations.md (analysis:invoicing-finance)
