Markets render faster than models can read them.
Maatsii is a vision-first technical analysis system: TA delivered as annotated chart images an AI reads directly, not OHLC tables. 200 live charts, tick to weekly, redrawn every 3 seconds. No key. No rate limit on the frame URLs.
200 charts25 groups64 setups3 s refresh0 keys
Connect
One URL. Any MCP client.
The connector is a remote MCP server at mcp.maatsii.com/mcp: streamable HTTP, no authentication, 10 tools. It works in any MCP client, including Claude Code, Claude Desktop, ChatGPT, Cursor and Hermes.
$ claude mcp add --transport http maatsii https://mcp.maatsii.com/mcp Added HTTP MCP server maatsii
claude_desktop_config.json (or the Hermes mcp-remote wrapper)
{
"mcpServers": {
"maatsii": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.maatsii.com/mcp"]
}
}
}ChatGPT: Settings → Connectors → add the URL, authentication none. Cursor: mcp.json
{
"mcpServers": {
"maatsii": { "url": "https://mcp.maatsii.com/mcp" }
}
}Health, from any shell
$ curl -s https://mcp.maatsii.com/healthz {"ok":true,"version":"1.5.1","auth":"none","charts":200, "setups":{"total":64,"fan":45,"tick":19}}
Then ask: Read NQ on the 15-minute and tell me where the fan sits.
Live charts, by URL
Two hundred frames. One URL each.
Every frame is a public JPEG, c1 through c200, redrawn every 3 seconds with the fan, the rails and the price box on it. Four rules, then it works from anything that can fetch a URL.
| ?raw=1 | Always. Without it you get the HTML dashboard, not pixels. |
| cb= | A fresh, unique value on every request. LLMs and CDNs cache aggressively. |
| timestamp | Trust the time printed on the frame, not the response headers. |
| c1 … c200 | Canonical ids only. Never a ticker in the URL; the map below resolves it. |
$ curl -o nq.jpg "https://api.maatsii.com/c1.jpg?raw=1&cb=$(date +%s)" 200 · image/jpeg · cache-control: no-store · x-frame-timestamp on every frame
Build a URL
The map · 25 groups · 200 charts
03YM6100T · 1000T · 1M · 15M · 1H · 4HYM1!
04RTY & Index Spreads10100T · 1000T · 1M · 5M · 15M · 1H · 4HRTY1! · RTY1!/ES1 · YM1!/ES1 · ES1!/YM1
07FI Long-Term715M · 1H · 4H · 1DZB1! · UB1!
08Yield Curve & Credit205M · 10M · 15M · 1H · 4H · 1DTIP/US10Y · TLT/LQD · TIP/DXY · TNX
09Dollar & DXY1315M · 30M · 1H · 4H · 1DDXY · DX1! · DXY/ES1 · DXY/NQ1
10FX EUR & GBP95M · 15M · 1H · 1D6E1 · 6B1 · EURUSD · GBPUSD
11FX JPY & Other91000T · 5M · 15M · 1HUSDJPY · 6J1 · 6A1 · AUDUSD
12FX Crosses55M · 1H6S1! · USDCAD · USDCHF · AUDJPY
13Crypto BTC81000T · 1M · 5M · 1H · 4H · 1DBTCUSD · BTC.D · BTC.D/TOTAL
14Crypto ETH81000T · 1M · 5M · 15M · 1H · 4H · 1DETHUSD · ETHBTC
15Crypto Market & Alts45M · 4H · 1DTOTAL2 · SOL/BTC · TOTAL3/TOTAL2 · TOTAL2/TOTAL
17Energy111M · 15M · 30M · 1H · 4H · 6H · 1DCL1! · BRN1!/CL1! · RB1!/CL1 · HO1!/CL1!
18Metals & Agriculture71H · 1DGC1!/SI1! · HG1!/GC1! · ZS1!/ZC1! · ZW1!/ZC1!
19ETFs & Rotation115M · 30M · 1HSPYG/SPYV · XLC/XLK/XLV · RSP/SPY/IWM · SPY/IWM
20Semiconductors63M · 5M · 15M · 30M · 1HSOXX/SMH · NVDA/NQ1 · NVDA/ES1 · SMCI/NVDA/TSM
21Mega-Cap Tech101HXLK · NVDA · AAPL · AMZN
22High-Beta & Speculative105M · 1HSPY/SMH · PLTR · MSTR · SOFI
23Volatility95M · 15M · 1H · 4H · 1DMOVE · VIX · VIX/VIX3M · VIX9D/VIX
24Market Breadth41H · 4HGS/JPM/XLF · SPLV/SPHB · XLF/XLK · SPY/XLE
Machine-readable surfaces
Your agent can integrate Maatsii without you reading this page.
Setups
Sixty-four. Counts, not names.
64 active linear-regression setups run against the live catalog: 45 fan, 19 tick. Every one is drawn on the frame your model reads.
| Fan | 45 |
| Tick | 19 |
| Active | 64 |
We publish the counts. We do not publish the rulebook.
How it works
Render. Read. Reason.
- Render
- Two hundred charts redraw every three seconds with the fan, the rails and a price box on every frame.
- Read
- Your AI fetches the JPEG, through the connector or the URL, and reads the annotations directly.
- Reason
- It answers in the chart’s own terms: the rails, and agreement across timeframes.
FAQ
Straight answers.
Do I need a key?
No. The connector runs with authentication off and every frame URL is public.
Is there a rate limit?
Not on the frame URLs c1 to c200. Measured 2026-09-02: about 6,000 frames in ten minutes, zero refusals. Use a fresh cb value each time. The legacy /api paths carry a Cloudflare guard.
Is this a signals product?
No. Maatsii renders and annotates charts. It places no trades, sends no alerts and makes no performance claims.
Can I see the setups?
You can see the counts, and every setup is drawn on the frames your model reads. The names and the rules are not published.
Which markets and timeframes?
200 charts across 25 groups: index futures, rates, credit, FX, crypto, energy, metals, ETFs, single names and volatility, from tick charts through weekly. The map is on this page and in llms.txt.
What does the AI actually receive?
A JPEG and the tool result that describes it. Prices are read from the box printed on the frame.