Why Firma?

A local-first financial toolkit for developers who invest in stocks — queryable by Claude, stored privately on your machine.

You probably have a vague sense of your financial situation, but not a precise one. Your brokerage shows your portfolio. Your bank shows your balance. Your income and expenses are scattered across statements. None of them talk to each other, and none of them let you ask real questions.

Existing finance apps are built around dashboards and categories — useful if your life fits their model. But if you invest internationally, deal with multiple currencies, or just want to ask "am I actually building wealth?" rather than stare at pie charts, they fall short.

Spreadsheets work until you stop updating them. And when was the last time your spreadsheet told you something you didn't already know?

db

Local SQLite database

All your data lives in ~/.firma/firma.db on your machine. Nothing is sent to any server. Prices come from Finnhub using your own API key.

AI

Claude Desktop as your financial interface

Run firma mcp install once. After that, Claude can read and write all your financial data via 13 MCP tools — answering questions, logging trades, and building visualizations, all from a conversation.

$_

CLI for power users

Every operation is also available as a CLI command. Sync prices, view reports, pull research data — scriptable, composable, no UI required.

P&L

Portfolio

Holdings with average cost basis, current market value, and unrealized P&L. Full transaction history with running avg cost. Prices synced from Finnhub.

NW

Net worth over time

Monthly balance sheet snapshots: assets by category, liabilities, net worth with month-over-month delta. Multi-currency conversion built in.

%

Cash flow

Income vs. expenses by month, savings rate trend, breakdown by category (salary, rent, utilities, etc.).

SEC

Research

Earnings calendar, insider buy/sell transactions, SEC quarterly financials, and news — for any ticker, not just your holdings.

Developers who invest in stocks and use Claude Desktop. You should be comfortable with a terminal. Setup takes about 5 minutes, and if you have existing trade history somewhere — a spreadsheet, a CSV export, even scattered notes — you can import all of it by just handing the file to Claude.

Get started →Importing existing data →
MIT License