MCP Server

Krosos

com.krosos/krosos
Data & Analytics Finance & Investing Public & reachable MCP 2026-07-28

What this MCP does

Maintains a personal financial ledger with holdings, net worth, prices, transactions, trades, balance adjustments, tax estimates, projections, and linked-account synchronization.

get_dashboard
Net worth, balance sheet and current holdings, in the ledger's base currency.
Input schema
{'type': 'object', 'required': [], 'properties': {}}
get_net_worth_history
Historical net-worth snapshots (one point per day where recorded).
Input schema
{'type': 'object', 'required': [], 'properties': {}}
get_prices
Current price per ticker with its source, quote currency and recent change, plus any manual overrides.
Input schema
{'type': 'object', 'required': [], 'properties': {}}
get_projection_config
The forecast/FIRE plan's assumptions (salary, expenses, inflation, retirement dates, tax mode). The projection itself is computed client-side.
Input schema
{'type': 'object', 'required': [], 'properties': {}}
get_reference_data
Valid accounts, providers, tickers, asset classes and categories. Read this before writing: trades and adjustments must use these values unless allow_new_values is set.
Input schema
{'type': 'object', 'required': [], 'properties': {}}
get_tax_report
Capital-gains / income tax estimate for a year: gains, losses, exemption (including any carried-forward amount), taxable base and estimated tax.
Input schema
{'type': 'object', 'required': [], 'properties': {'year': {'type': 'string', 'description': 'Defaults to the current year'}, 'account': {'type': 'string', 'description': 'One portfolio; absent sums every configured one'}}}
list_connections
Linked exchange, bank and wallet connections, each with its sync mode (balance updates, or transactions staged for review) and when it last synced.
Input schema
{'type': 'object', 'required': [], 'properties': {}}
list_transactions
Transaction history as a human-friendly list, newest first.
Input schema
{'type': 'object', 'required': [], 'properties': {}}
log_trade
Log a trade (buy / sell / swap), expressed as from-asset to to-asset. Same body and validation as POST /api/transactions.
Input schema
{'type': 'object', 'required': ['tx_date', 'from_account', 'from_provider', 'from_ticker', 'from_asset', 'from_amount', 'to_account', 'to_provider', 'to_ticker', 'to_asset', 'to_amount', 'overall_eur_value'], 'properties': {'to_risk': {'type': 'integer', 'maximum': 4, 'minimum': 0}, 'tx_date': {'type': 'string', 'format': 'date', 'example': '2026-06-17', 'description': "Today or tomorrow at the latest (the user's own calendar day); later dates are rejected"}, 'to_asset': {'type': 'string'}, 'from_risk': {'type': 'integer', 'maximum': 4, 'minimum': 0}, 'to_amount': {'type': 'number', 'example': 8.5}, 'to_ticker': {'type': 'string'}, 'from_asset': {'type': 'string'}, 'to_account': {'type': 'string'}, 'description': {'type': 'string'}, 'from_amount': {'type': 'number', 'example': 1000}, 'from_ticker': {'type': 'string'}, 'to_category': {'type': 'string'}, 'to_provider': {'type': 'string'}, 'from_account': {'type': 'string'}, 'from_category': {'type': 'string'}, 'from_provider': {'type': 'string'}, 'to_description': {'type': 'string'}, 'allow_new_values': {'type': 'boolean', 'description': 'Create accounts/providers/tickers not yet in reference-data. Default false.'}, 'from_description': {'type': 'string'}, 'overall_eur_value': {'type': 'number', 'example': 1000, 'description': "The trade's total value in the ledger's base currency (the field name is historical: EUR was the only base)"}}}
record_balance_adjustment
Record a signed quantity change on one holding (a balance update that is not a trade). Same body and validation as POST /api/position-adjustments.
Input schema
{'type': 'object', 'required': ['tx_date', 'account', 'provider', 'ticker', 'asset', 'quantity_delta'], 'properties': {'asset': {'type': 'string'}, 'ticker': {'type': 'string'}, 'account': {'type': 'string'}, 'tx_date': {'type': 'string', 'format': 'date', 'description': "Today or tomorrow at the latest (the user's own calendar day); later dates are rejected"}, 'provider': {'type': 'string'}, 'quantity_delta': {'type': 'number', 'description': 'Signed quantity change (non-zero)'}, 'allow_new_values': {'type': 'boolean'}}}
refresh_prices
Fetch fresh market prices now. With no ticker this refreshes every priced holding; with one it refreshes just that ticker.
Input schema
{'type': 'object', 'required': [], 'properties': {'symbol': {'type': 'string', 'description': 'Provider symbol when it differs from the ticker'}, 'ticker': {'type': 'string', 'description': 'Omit to refresh every ticker'}}}
sync_connections
Sync every linked connection in one pass: push the latest balance into each linked holding, and stage new transactions into the review queue. Reports what was written, what was staged and any per-provider errors.
Input schema
{'type': 'object', 'required': [], 'properties': {}}
Added
record_balance_adjustment
Sept. 17, 2026, 12:35 p.m.
Added
log_trade
Sept. 17, 2026, 12:35 p.m.
Added
sync_connections
Sept. 17, 2026, 12:35 p.m.
Added
list_connections
Sept. 17, 2026, 12:35 p.m.
Added
refresh_prices
Sept. 17, 2026, 12:35 p.m.
Added
get_prices
Sept. 17, 2026, 12:35 p.m.
Added
get_projection_config
Sept. 17, 2026, 12:35 p.m.
Added
get_tax_report
Sept. 17, 2026, 12:35 p.m.
Added
get_reference_data
Sept. 17, 2026, 12:35 p.m.
Added
list_transactions
Sept. 17, 2026, 12:35 p.m.
Added
get_net_worth_history
Sept. 17, 2026, 12:35 p.m.
Added
get_dashboard
Sept. 17, 2026, 12:35 p.m.