mothermachine

Browse / Invoicing and finance

Fungible

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

AdaptableOperable ProductCLI Hybrid TypeScript MCP server License: MIT

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.

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

Last activity Sep 3, 2026. Fit: adaptable 2, operable 3.

Editions

Free · Free open source

  • Clonegit clone https://github.com/tomfunk/fungible
  • Installbrew tap tomfunk/fungible && brew install fungible
  • DownloadDownload

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only11 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 need
Plaid developer account (sandbox is enough to try; production for real banks)Anthropic or OpenAI (optional assistant)

Source

Operable: what an agent can drive

Interface

OfficialMCP serverpublished by the builderlocal

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
github.com/tomfunk/fungible/blob/main/docs/integrations.md
Tools
spending_summary list_transactions edit_transaction add_rule sync get_balances get_financial_health get_trends generate_canvas

Reach

Partial coverage. 8 of 11 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Sync transactions from PlaidReachabletool sync
Import CSV statementsNot reachableno import tool in docs/integrations.md; CSV import is a TUI flow
Categorize and rename with rulesReachabletools add_rule, add_name_rule, edit_transaction
Search transactionsReachabletool list_transactions
Tags and tag summariesReachabletools tag_transaction, tag_summary, list_tags
Net worth historyReachabletools get_balances, get_net_worth_history
Financial health (runway, FIRE)Reachabletool get_financial_health
Trends and delta modeReachabletools get_trends, get_drift
Manual assetsUndeterminedREADME feature; no dedicated tool listed
Dedup review of CSV vs PlaidNot reachableTUI-only screen; no tool
Canvas visualizationsReachabletools 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)
Built
Unknown (recorded, never ranked)

Model stack

Providers
AnthropicOpenAI
Models
none
Keys you need
ANTHROPIC_API_KEY OPENAI_API_KEY
Prompts live in
none

Evidence and confidence

FieldWhere it was seenConfidence
formFactorterminal UI in TypeScript; a separate Electron GUI shares the data (README)90%
executionModeldeterministic finance tools; optional AI assistant with model keys in .env.example85%
operabilitymcp/server.ts in repo, documented in docs/integrations.md by the Builder95%
effort.env.example and README Storage/Running sections name the variables85%
editionsMIT, free; no paid edition95%
activeGitHub pushedAt 2026-09-03–
reach90%

Open questions

  • Whether manual assets are editable through any tool

Sources