Repository navigation
v3.1.0 — personal data behind a local switch, faster analytics, paired with Planner 0.5.1
Personal client data
anonymousis the default: pseudonyms only, every persistent client write refused.- New
client_data_mode_set/client_data_mode_getswitch and report the mode. The
policy lives next to the database (<database>.mcp-access.json), is re-read on every
call, is shared by concurrent connections and survives a restart. It stores no client
data. personal_dataenables client create/update/delete, residency notes, plan versions,
meetings and bounded history. Planner owns every read, write and deletion: MCP imports
no database driver, executes no SQL and runs no cascade of its own.- Refusals come back as one fixed localized caption in all five languages — no values,
paths, table names or schema text. - Forecasts and reports stay anonymous; export still requires an unchanged, signed
privacy proof. HTTP exposes no client or local report tools.
Speed
The server adds no new cache; the heavy calls are okama calculations, and new installs
resolve okama 4.0.1. Measured on a Ryzen 7 8845H, median of five repetitions, fresh
portfolio per repetition:
| Path | Workload | okama 4.0.0 | okama 4.0.1 |
|---|---|---|---|
PortfolioDCF.wealth_index() (get_dcf_wealth_index) |
30/70 SPY/AGG, monthly indexed withdrawals, 256 months | 54.7 ms | 6.8 ms |
AssetList.get_rolling_cagr() |
3 assets, 60-month window, 182 points | 37.9 ms | 2.3 ms |
Run ranges do not overlap. The forecast path behind monte_carlo_forecast
(30 years, 8,192 scenarios) shows overlapping ranges (0.59–1.10 s versus 0.66–0.88 s),
so no improvement is claimed there. Ratios are workload-specific.
Local models
- The interface defects reported with a local model were fixed in 3.0.0: complete nested
input schemas, namespace capability descriptions, actionable RATE/INFL/RATIO
corrections, exact-match ranking and pagination. - 3.1.0 adds a personal-data refusal that is one short localized sentence instead of a
generic error, and an access mode the model can read (client_data_mode_get) instead
of guessing from failed calls. - No model-specific improvement is claimed: the replay with the reporter's model is still
open in #17 because the runtime and a reproducible task are missing.
Changed
- Requires
okama-planner[reports]>=0.5.1,<0.6.0; the development source override is
gone, so MCP and its CI resolve the published companion. - 52 tools in a standard install; local stdio with client tools and Excel export exposes 70.
- Build migrated from Poetry to uv/hatchling. Install commands are unchanged.
- The legacy
--allow-personal-dataflag now only initializes an absent policy; it cannot
override a mode saved through MCP.
Fixed
- Personal-data refusals no longer collapse into the generic invalid-input caption.
Upgrade
uvx --refresh --from okama-mcp==3.1.0 okama-mcp stdio
# or
pip install -U okama-mcp okamaRestart the MCP client so it reloads the tool schemas. Databases without a saved policy
start anonymous. Full notes: docs/releases/3.1.0.md.
