Folionomiq
Measures a stock/ETF portfolio from its price history, in plain sentences.
What it can do
- Measure Portfolio: The complete measurement of one portfolio in a single call: how many independent bets it holds, which holding carries risk out of line with its money, the companies owned through it
- Compare Portfolios: Two to eight separate portfolios (not a change to one) measured over one shared window of price history: growth, volatility, worst fall, and how each moved against the others. For
- Test A Change: Any change to one portfolio, measured before it is made: the current and the proposed holdings side by side on the same price history (structure, risk, worst falls, and what the change
What data it sees
Do you need an account
No: the server works without sign-in
Measures a stock/ETF portfolio from its price history, in plain sentences.
- How many real bets the holdings add up to (correlation, not ticker count)
- Look-through: what you own through your funds, with the share of money we can see
- Past crises in money: what this mix did in 2008, 2020, 2022
- Before/after of a proposed change, and side-by-side comparison of up to 8 portfolios
Descriptive only: no advice, no forecasts, no scores. No account, no auth, portfolios are not stored. Every result carries its method, data window and source.
How to connect
How to connect Folionomiq to Claude
The server address to paste into Claude settings:
https://folionomiq--dzainea.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Folionomiq to ChatGPT
The server address to paste into ChatGPT settings:
https://folionomiq--dzainea.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Folionomiq to Cursor
The server address to paste into Cursor settings:
https://folionomiq--dzainea.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (22)
Raw names from tools/list. Only developers need these.
| measure_portfolio | The complete measurement of one portfolio in a single call: how many independent bets it holds, which holding carries risk out of line with its money, the companies owned through its funds (with how much of the money that view covers), what past crises did to it in money and how long it took to come back, and the numbered report. Each part is also available on its own, faster: portfolio_structure, look_through, past_crises, portfolio_report. Descriptive: no forecast, no advice. |
| compare_portfolios | Two to eight separate portfolios (not a change to one) measured over one shared window of price history: growth, volatility, worst fall, and how each moved against the others. For a before-and-after of one portfolio, test_a_change. Says what each was; does not say which to hold. |
| test_a_change | Any change to one portfolio, measured before it is made: the current and the proposed holdings side by side on the same price history (structure, risk, worst falls, and what the change adds or removes). For a single new holding, check_before_you_buy says more; for one holding at every weight, sweep_holding. The 'after' figures are counterfactual. Never says whether to make the change. |
| search_symbols | Finds the ticker when the holder gives a name, part of a ticker or an ISIN (for example 'Vanguard total world' gives VT), with the exchange it trades on. Useful before a measurement whenever a ticker is not certain. Listings nobody here has checked are marked unchecked. |
| validate_symbols | Checks a list of tickers before a measurement: which have usable price history, which do not, and the closest listing where a symbol is ambiguous. |
| portfolio_structure | Only the structure of one portfolio: how many independent bets its holdings add up to (from how their prices moved, not how many tickers there are), and each holding's share of the risk beside its share of the money, over the full record and over recent years. |
| look_through | Only the companies owned through the funds of one portfolio, added up across funds: the largest names and their share of the whole portfolio, names reached through more than one fund, sectors, and how much of the money this view covers. Figures are minimums: funds publish their largest holdings. |
| past_crises | Only past crises for one portfolio: 2008, 2020, 2022 and others inside its price history, with the fall, the worst day and the days it took to come back, in money when amounts are given. Crises before a holding existed are named as not tested. Measured, not forecast. |
| portfolio_report | Only the written report on one portfolio: every figure numbered F1, F2... beside the method and window behind it, so each can be quoted by its number. The same report measure_portfolio includes, without the other sections. |
| factor_exposure | How one portfolio's daily moves line up with four common patterns (the market, small versus large companies, value versus growth, momentum), which of those sensitivities are distinguishable from zero, and how much of the movement the patterns explain. |
| currency_effect | For a portfolio held in one currency but priced partly in others: how much of it is outside the base currency, and what exchange-rate moves added to its growth, volatility and worst fall compared with the same holdings currency-hedged. Needs base set to the holder's currency to mean anything. |
| health_axes | One portfolio answered along three separate questions (what is its risk built from, how did it behave when markets broke, what did it pay for the risk taken), each with its own reading and figures. For whether anything is off in how it is built, rather than what it is. Readings, not a grade: no overall score is returned. |
| sweep_holding | One holding already in the portfolio, measured at every weight from none to all (the rest of the money redistributed in proportion): volatility, its share of the risk and the independent bets at each point, and whether most of the change comes from the first slice. For how much of it is enough to change anything. Counterfactual; never says what weight to hold. |
| reverse_stress | Starts from a loss the holder names (as a fraction: 0.25 is a quarter) and reports the least extreme combination of market moves that would produce it on this portfolio, beside the worst each of those moves actually did in the record. No probability is computed. |
| return_history | What one portfolio returned over its record: growth per year (and after inflation), best and worst months and years, the range of any 12 months in a row, monthly returns by year, and how far the weights drift between rebalances. Past record, not a forecast. |
| plain_findings | Three or four plain-language sentences about one portfolio (what its risk is built from and its worst historical fall), each with the window it rests on. The shortest and fastest answer, with no tables and no numbered report; every figure is in measure_portfolio. |
| last_price | The latest daily close for each ticker, in the base currency and in its own, with the date, for turning a number of shares into an amount. A single figure per ticker; no price history is returned. |
| asset_info | One fund or share on its own, no portfolio needed: name, type, exchange, yearly cost when published, its measured return, volatility and worst fall, and for a fund its largest holdings and sectors. |
| simulate_paths | Simulated, not a forecast: 4,000 paths resampled from one portfolio's own price history, with optional monthly additions; where the middle path and the outer tenths end after the years asked, in money and in today's money, and the share of paths ending below what was put in. It assumes the future pays what the record paid, and it is refused when the record is too short or too extreme for the years asked. |
| walk_forward | Whether re-optimising an allocation would have helped: refit on the years before each date, hold it on prices it had not seen, repeat, and compare that record with the portfolio actually held and with equal weight. Says whether refitting bought anything measurable. Returns the record, never an allocation to hold. |
| check_before_you_buy | Before adding one new holding, with a given amount, to an existing portfolio: how much of it is already owned through the current funds (from the fund's SEC filing when there is one), whether it adds an independent bet, and what past crises would have done with it included. For any other change (removing, reweighting, several at once), test_a_change. Counterfactual; never says whether to buy. |
| living_off_it | For someone living off a portfolio: replays a yearly withdrawal, raised with real inflation, from every start month the portfolio's own history allows; how many starts lasted the full span, how many ran out and when, the lowest point from the worst start, and the highest yearly rate that ran out from no start in the record. Replayed, not simulated; a count of starts, never a probability; a span the record is too short for is said, not invented. |