MCP connector
What every card is held to
The limits Spera checks its chat cards against — how much of your assistant's reading a card may take, how tall it may be, the widths it must fit, where its numbers come from, and what it never does.
Updated 2026-10-18·Rev. 2026.06
A card sits inside someone else's conversation, so it has to earn its space: small enough that your assistant still has room to think, short enough to read without scrolling, and plain about where its numbers came from. These are the limits Spera holds every card to, and how each one is checked.
The limits
| What | Limit | Why |
|---|---|---|
| Card size | 3,072 bytes for every result | Small enough for every app to carry with each result |
| Text version | 1,536 bytes for every result | Apps that do not draw cards show this instead; it is held to half the card |
| Reading cost | About 1,250 tokens at most | What the assistant spends to read the card and its text version, so the conversation keeps its room |
| Height | 590 px at most, at 680 px wide | Seen whole as it arrives, without scrolling inside the chat |
| Widths | 680, 400, 360, 320 px, light and dark | From a desktop chat panel down to a small phone, nothing runs past the edge |
Size is enforced on every card Spera sends: when a result has more to show than fits, the card drops detail in a fixed order — monthly returns first, then market phases, then half its chart points, then its evidence — rather than spill over. The answer and the trust rung always stay. The reading cost and the height are checked across Spera's sample cards, one for each kind of card and state, and a change that pushes any of them past its limit fails. Opening something on a card, such as a period's trades, can make it taller; the height limit is for the card as it arrives.
Where the numbers come from
Every figure on a card comes from Spera's engine, from the run the card names. The assistant writes none of them, and the same result always draws the same card. The source line under the trust rung says which engine, how many candles, which revision, and which run.
What a card never does
- It loads nothing from the internet. No fonts, images, scripts, or tracking. Everything it shows arrived with the result. The one thing it reads on its own is a selected period's trades from the run it is showing, through your assistant app, with the access you already approved.
- It never turns text into code. Strategy names and messages are shown as plain text, never as page content that could run.
- It never acts for you. A card cannot start a backtest, change a strategy, or trade. Its buttons put a question into the chat or open Spera; everything else still goes through the conversation.
How it is checked
Two checks run against the sample cards. The first builds each one from a recorded result and measures its size and reading cost against a recorded baseline, so a card that quietly grows is caught too. The second loads the real card, unchanged, inside a simulated chat app at every width above in light and dark, and fails on an error, any network request, anything drawn past the edge, a card over the height limit, or a control that does not respond — pointing, dragging a period, the lenses, the evidence, the buttons, and reading a period's trades.
What you see in a real app: What you see in chat.