{"name":"io.github.evan-moon/firma","slug":"evan-moon-firma","title":null,"description":"Local-first portfolio tracker for overseas investors. Claude reads and writes your finances via MCP.","url":"https://mcp.market/server/evan-moon-firma","rating":null,"grade":"C","score":55,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":42,"last_push_at":null,"license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/evan-moon/firma","website":null,"version":"0.4.2","remotes":[],"packages":[{"registryType":"npm","identifier":"firma-app","version":"0.4.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"Finnhub API key for stock price sync and market data. Get a free key at finnhub.io. Alternatively set via: firma config set finnhub-key <key>","format":"string","isSecret":true,"name":"FINNHUB_API_KEY"}]}],"tools":[{"name":"add_balance","description":"Upsert a balance sheet entry for a period \\u2014 also used to edit an existing entry (same composite key overwrites). sub_type: cash|investment|other (assets) or short_term|long_term (liabilities)","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_flow","description":"Upsert a cash flow entry for a period \\u2014 also used to edit an existing entry (same composite key overwrites). sub_type for income: salary|business|dividends|interest|income_other. For expense: personal|insurance|phone|utilities|rent|maintenance|loan_repayment|expense_other","write_action":false,"price_micros":0,"input_schema":null},{"name":"add_txn","description":"Record a stock transaction (buy, sell, deposit, dividend, tax)","write_action":false,"price_micros":0,"input_schema":null},{"name":"delete_balance","description":"Delete balance entries for a period. If category is provided, only that single entry is removed; otherwise all entries for the period are deleted.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_flow","description":"Delete flow entries for a period. If category is provided, only that single entry is removed; otherwise all entries for the period are deleted.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_txn","description":"Delete a transaction by id","write_action":true,"price_micros":0,"input_schema":null},{"name":"edit_txn","description":"Update fields of an existing transaction by id. Only provided fields are changed.","write_action":true,"price_micros":0,"input_schema":null},{"name":"report_settle","description":"Read-only summary for a period: balance sheet + cash flow entries with computed totals (net_worth, net_flow). Use this to review month-end settlement results after entries are recorded via add_balance / add_flow. Defaults to the current month.","write_action":false,"price_micros":0,"input_schema":null},{"name":"show_balance","description":"Get balance sheet entries (assets and liabilities). Optionally filter by period (YYYY-MM)","write_action":false,"price_micros":0,"input_schema":null},{"name":"show_earnings","description":"Fetch earnings calendar. Without a ticker, returns upcoming earnings for all held tickers. With a ticker, returns history + upcoming.","write_action":false,"price_micros":0,"input_schema":null},{"name":"show_financials","description":"Fetch SEC-reported financials for a ticker. Returns key income statement, cash flow, and balance sheet metrics extracted from XBRL filings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"show_flow","description":"Get cash flow entries (income and expenses). Optionally filter by period (YYYY-MM)","write_action":false,"price_micros":0,"input_schema":null},{"name":"show_insider","description":"Fetch recent insider buy/sell transactions for a ticker from Finnhub. transactionCode: P=buy, S=sell, A=award, G=gift, M=exercise","write_action":false,"price_micros":0,"input_schema":null},{"name":"show_news","description":"Fetch recent company news for a ticker from Finnhub","write_action":false,"price_micros":0,"input_schema":null},{"name":"show_portfolio","description":"Get current stock holdings with average cost and cached prices","write_action":false,"price_micros":0,"input_schema":null},{"name":"show_prices","description":"Get cached stock prices for all synced tickers","write_action":false,"price_micros":0,"input_schema":null},{"name":"show_txns","description":"List transactions, optionally filtered by ticker symbol","write_action":false,"price_micros":0,"input_schema":null},{"name":"sync_prices","description":"Fetch latest stock prices from Finnhub and update local cache. Requires finnhub_api_key in ~/.firma/config.json","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":55,"grade":"C","scanned_at":"2026-09-27T21:51:54.601Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:51:54.527Z","components":{"code":{"score":25,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"firma-app","version":"0.4.2","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":5,"publishedAt":"2026-04-25T18:05:57.222Z","repositoryUrl":"git+https://github.com/evan-moon/firma.git","weeklyDownloads":42}],"repo":{"found":false,"owner":"evan-moon","repo":"firma","error":"repo not found"},"icon":{"url":null,"source":"none"},"presence":{"stars":null,"forks":null,"downloadsWeek":42,"license":"MIT","lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}