Skip to content

evan-moon/firma

v0.19.0 Breaking

This release includes 2 breaking changes for platform teams planning a safe upgrade.

Published 17d MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

claude cli finnhub local-first mcp personal-finance
+4 more
portfolio sqlite stock typescript

ReleasePort's take

Light signal
editorial:auto 9d

`get_brief` now delivers actionable guidance from the Advisor layer, and MCP has been streamlined from 48 to 37 intent‑shaped tools.

Why it matters: The new deterministic `get_brief` output improves decision‑making for developers and SREs; tool consolidation reduces operational overhead by eliminating 11 redundant utilities.

Summary

AI summary

Advisor layer adds actionable guidance to get_brief and consolidates 48 → 37 MCP tools.

Changes in this release

Feature Medium

`get_brief` now provides actionable, deterministic guidance via @firma/advisor engine.

`get_brief` now provides actionable, deterministic guidance via @firma/advisor engine.

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: high

Feature Medium

Advisor layer includes weekly stance (aggressive/mixed/defensive/contrarian-aggressive).

Advisor layer includes weekly stance (aggressive/mixed/defensive/contrarian-aggressive).

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: high

Feature Medium

Advisor layer provides ranked moves: deploy idle cash, raise contributions, derisk, extend runway, rebalance, tactical tilt.

Advisor layer provides ranked moves: deploy idle cash, raise contributions, derisk, extend runway, rebalance, tactical tilt.

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: high

Feature Medium

Advisor layer includes watchlist of new-ticker candidates from portfolio peers.

Advisor layer includes watchlist of new-ticker candidates from portfolio peers.

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: high

Feature Medium

Advisor layer flags stale data with last-synced dates for prices and FX.

Advisor layer flags stale data with last-synced dates for prices and FX.

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: high

Feature Medium

MCP surface consolidated: 48 tools reduced to 37 intent-shaped tools (report, sync, show_fx, show_macro).

MCP surface consolidated: 48 tools reduced to 37 intent-shaped tools (report, sync, show_fx, show_macro).

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: high

Feature Medium

Bulk `add_*` tools dropped; `add_txn`, `add_balance`, `add_flow` now accept arrays.

Bulk `add_*` tools dropped; `add_txn`, `add_balance`, `add_flow` now accept arrays.

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: high

Feature Medium

`get_brief` is the canonical entry point, with `show_*` as drill-downs.

`get_brief` is the canonical entry point, with `show_*` as drill-downs.

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: high

Feature Medium

`firma show txns` now displays market and asset type information.

`firma show txns` now displays market and asset type information.

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: low

Feature Medium

`firma mcp install` registers MCP server with Claude Code and Desktop.

`firma mcp install` registers MCP server with Claude Code and Desktop.

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: low

Bugfix Medium

Fixed data-loss bug where price sync without dividend data wiped known dividends.

Fixed data-loss bug where price sync without dividend data wiped known dividends.

Source: granite4.1:8b-q6_K@2026-05-21

Confidence: high

Full changelog

Highlights

Advisor layer — get_brief now advises, not just reports

A new @firma/advisor engine turns your portfolio, cash flow, and macro signals into actionable, deterministic guidance — surfaced identically through firma brief (CLI) and get_brief (MCP):

  • Stance — a weekly verdict (aggressive / mixed / defensive / contrarian-aggressive) at the intersection of the macro regime and your personal capacity (runway, goal pace, idle cash).
  • Moves — ranked recommendations: deploy idle cash, raise contributions, derisk, extend runway, rebalance, or play a tactical tilt. Each carries a quantified rationale and a drill_down pointer.
  • Watchlist — new-ticker candidates surfaced from peers of what you already hold.
  • Freshness — last-synced dates for prices and FX, so stale data is flagged before advice is built on it.

Risk recommendations are scenario-based (forced-seller risk, goal-feasibility breach), not a scalar verdict — so an aggressive investor isn't nagged for intentional concentration.

MCP surface consolidation — 48 → 37 tools

Redundant MCP tools merged into intent-shaped ones: report (with target), sync (with scope), show_fx, and show_macro (now folds in stress + regime). Bulk add_* tools dropped — add_txn / add_balance / add_flow accept arrays. get_brief is now the canonical entry point, with show_* tools as drill-downs.

Other changes

  • firma show txns now shows market and asset type.
  • firma mcp install registers the MCP server with Claude Code as well as Claude Desktop.
  • Fixed a data-loss bug where a price sync from a provider without dividend data wiped previously-known dividends.

Full Changelog: https://github.com/evan-moon/firma/compare/v0.18.16...v0.19.0

Breaking Changes

  • Removed bulk `add_*` tools (`add_txn`, `add_balance`, `add_flow`).
  • Dropped redundant MCP tools; `get_brief` is now the canonical entry point.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track evan-moon/firma

Get notified when new releases ship.

Sign up free

About evan-moon/firma

Local-first CLI asset tracker for overseas stock investors with Claude Desktop MCP integration. 13 tools for portfolio tracking, net worth snapshots, cash flow analysis, and market research (earnings, insider trades, SEC filings)

All releases →

Related context

Earlier breaking changes

  • v0.20.0 Brief no longer returns 'projected_net_worth' or 'on_track'.
  • v0.20.0 `simulate_goal_projection` renamed to `project_net_worth`.

Beta — feedback welcome: [email protected]