# quantdata

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/celineycn/quantdata-plugin  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/quantdata

## Description
Measured day-type, volume-wave, max pain and dealer gamma stats. No API key needed to start.

## Claude Desktop Quick Installation
Heuristic fallback — verify the package name and runner against the repository README before running it. Uses `npx` (confidence: low):

```json
"mcpServers": {
  "quantdata": {
    "command": "npx",
    "args": ["-y","quantdata"]
  }
}
```

## Documentation & README

# Quant Data — market-statistics skills for AI agents

Measured market statistics for index futures and equities, packaged so an AI agent can use
them and — more importantly — report them honestly. Installs natively into **Claude Code**
(plugin), **Codex CLI** (plugin marketplace) and **Gemini CLI** (extension), all from this
one repository.

| Skill | What the agent gains | Key needed |
|---|---|---|
| `quantdata-daily-bias` | Rolling Brooks price-action events with measured outcome rates, a calibrated day-type probability read for the US day session, a plain-arithmetic shape description of the bars already printed, and the measured verdicts on famous price-action claims | Free email key or paid key |
| `quantdata-weis-wave` | Volume-price wave structure and five Weis events, each with its measured win rate | Free email key or paid key |
| `quantdata-max-pain` | Options max pain, open-interest walls, put/call ratio, estimated dealer gamma exposure | Free email key or paid key; public pages need none |

The honest summary of what you get: measured edges of 52–56%, published together with the
places the models fail. There is a section below on exactly that, and it is not buried.

> **Which Quant Data this is.** This project is Quant Data at **quantdata.uk** (API host
> `api.quantdata.uk`, MCP endpoint `https://api.quantdata.uk/mcp`, registry name
> `uk.quantdata/quantdata`). It is not affiliated with quantdata.us, an unrelated product
> with a similar name and a different API. Keys are not interchangeable between the two.

---

## Install

### Claude Code

```bash
/plugin marketplace add celineycn/quantdata-plugin
/plugin install quantdata@quantdata
```

### Codex CLI

The same repository doubles as a Codex plugin marketplace:

```bash
codex plugin marketplace add celineycn/quantdata-plugin
codex plugin add quantdata@quantdata
```

### Any other MCP client (Claude Desktop, ChatGPT, Cursor, VS Code, Zed)

The same four endpoints are a **remote MCP server**, together with an access tool that can email
a free API key. Nothing to install — point the client at:

```
https://api.quantdata.uk/mcp
```

Streamable HTTP. With no key, one anonymous market-tool response is available per source per UTC
day as a first look. The agent can then call `quantdata_request_free_api_key` with an email
address; the free `qd_` key is sent only to that inbox, needs no login or card, and gives the
four market tools 10 shared successful calls per UTC day. A stdio bridge ships in
`quantdata/mcp/` for clients that can only launch a local command.

Details: [`quantdata/mcp/README.md`](https://github.com/celineycn/quantdata-plugin/blob/HEAD/quantdata/mcp/README.md).

### Gemini CLI

The repository is also a Gemini CLI extension. `GEMINI.md` carries the three skill bodies
merged into one context file:

```bash
gemini extensions install https://github.com/celineycn/quantdata-plugin
```

### Then

Start a new session. You do not invoke a skill by name — just ask:

> Did ES=F just break out of its range, and how often did breakouts like this fail?

> Is the pullback in ES=F happening on low volume?

> Where is max pain for TSLA this Friday?

> Which way is dealer gamma leaning on NVDA?

To check it loaded, ask: *"Which Quant Data skills do you have?"*

### Without the plugin system

A skill is just a folder with a `SKILL.md` in it, so you can also copy them by hand:

```bash
mkdir -p ~/.claude/skills
cp -R quantdata/skills/* ~/.claude/skills/
```

Or project-scoped, committed alongside your code, in `.claude/skills/`.

---

## Start free — no login or card

One anonymous API or MCP call can return a complete first-look response per source per UTC day.
For continued evaluation, request a free `qd_` key by email:

```bash
curl -s -X POST https://api.quantdata.uk/v1/access/free-key \
  -H 'Content-Type: application/json' \
  -d '{"email":"you@example.com","marketing_opt_in":false,"source":"agent"}'
```

An MCP-connected agent can call `quantdata_request_free_api_key` instead. The raw key is never
returned by the POST or MCP result; it is delivered only to the email address. The free key
covers all four endpoints, sharing 10 successful calls per UTC day, and needs no account,
password or card.

`marketing_opt_in` is optional and defaults to `false`. It is separate from key delivery. An
agent must set it to `true` only after the owner of that email address explicitly asks for
occasional product updates. Even then, the request records a pending preference, not an active
subscription. The recipient must reply `SUBSCRIBE` to the key-delivery email to confirm it; no
marketing updates are sent before that confirmation.

The permanently free surface is the Max Pain and GEX pages. No key, no account, no card:

```
https://quantdata.uk/max-pain/nvda
https://quantdata.uk/gex/nvda
```

Max pain (the option strike at which option buyers lose the most in aggregate at expiration),
put/call ratio and open interest by expiration, one page per covered US stock or ETF — and a
separate GEX page per ticker with net gamma exposure and the zero gamma (flip) level. The site
is rebuilt nightly from the latest upstream settlement available, and every page states the
open-interest settlement date it uses. Lowercase tickers.
`https://quantdata.uk/max-pain` and `https://quantdata.uk/gex` are the coverage lists.

To check the research before paying for it, read
**<https://quantdata.uk/methodology>** — an ordinary web page, free, no key. It publishes the
fact-check of the trading literature's famous probability claims against 3,946 S&P 500 futures
trading days (2010–2026). The claim that one of the session's extremes forms within the first
90 minutes is usually taught as 90%; the measured figure is 81.2%. The pattern holds across
every claim tested — directionally right, inflated by roughly 7–10 percentage points.

Start there. If the numbers are not the size you expected from an honest test, do not buy.

---

## The four API endpoints

The free email key covers every endpoint below, with 10 successful calls per UTC day shared
across them. When that daily allowance is reached, the API returns `429` with the reset time and
a checkout action to hand to a person. The paid plan removes the evaluation limit for ongoing,
batch or unattended use.

One plan: **$149/month, first 3 days free.** Checkout is self-serve at
<https://quantdata.uk/pricing>, and a card is collected up front. Checkout with the same email
used for the free key upgrades that key in place, so an agent does not need a new secret. Cancel
any time in the Stripe customer portal (<https://billing.stripe.com/p/login/3cIfZhgcHfOb5IE7PD9Ve00>),
signing in with the checkout email.

| Endpoint | Returns |
|---|---|
| `GET /v1/brooks/{symbol}` | Rolling Brooks price-action events, each with its measured outcome rate; range breakouts carry a calibrated per-event estimate. Every read also carries `day_type` — the calibrated five-class day-type distribution, US day session only — and `shape`, arithmetic over the bars already printed, in every window |
| `GET /v1/weis/{symbol}` | Volume waves and five named volume-price events with measured win rates |
| `GET /v1/maxpain/{symbol}` | Max pain per expiration, from open interest alone — pure arithmetic, no pricing model |
| `GET /v1/gamma/{symbol}` | Estimated dealer gamma exposure: net GEX, the zero gamma (flip) level, the heaviest strikes |

One key covers all four. The two options endpoints are deliberately separate because the two
figures are not equally reliable: max pain is arithmetic anyone can reproduce from the same
chain, gamma is a Black-Scholes estimate built on an unobservable dealer-positioning
convention. The skills quote the first as a figure and the second as an estimate.

The fact-check verdicts live on <https://quantdata.uk/methodology> as a static table — a web
page to read, free and needing no key, not an endpoint to call.

Keys bought under the older two-product pricing keep working at their original price.

**An AI agent can request the free key, but it cannot buy the paid plan for you.** Card
authentication (3-D Secure) requires the cardholder, so after the free allowance is reached the
skills hand the checkout link to a person and stop.

### Set your key

Copy the `qd_` key from its delivery email into a secret store. Never paste a key into
`SKILL.md` — those files are meant to be copied, committed and shared.

```bash
# ~/.zshrc (macOS default) or ~/.bashrc
export QUANTDATA_API_KEY="qd_your_key_here"
```

Then open a new terminal, or run `source ~/.zshrc`. Check it:

```bash
curl -s -H "X-API-Key: $QUANTDATA_API_KEY" https://api.quantdata.uk/v1/brooks/SPY
```

For an agent with no shell, the key goes wherever that tool stores secrets — an Actions
authentication field, a credential entry, a `.env` loaded by your runtime. Same rule: a secret
store, not a shared file.

---

## Using these on platforms with no plugin system

Nothing here is specific to any one agent. A `SKILL.md` body is instructions plus an HTTP
contract, so it works anywhere you can set a system prompt and send a request with a custom
header. (Claude Code, Codex and Gemini CLI install natively — see Install above.)

1. Open the `SKILL.md` you want, under `quantdata/skills/`.
2. Copy everything **below** the closing `---` of the YAML header.
3. Paste it into your agent's system prompt, custom instructions or persona field.
4. Replace the `$QUANTDATA_API_KEY` references with whatever your platform calls its secret.

Known to work this way: ChatGPT Custom GPTs (paste into Instructions, and add
`api.quantdata.uk` as an Action with an `X-API-Key` header), Cursor and Windsurf rules files,
Cline, GitHub Copilot instructions, n8n and Dify agent nodes, CrewAI and AutoGen
agent backstories, LangChain system messages, and anything built directly on the OpenAI or
Anthropic SDKs.

If your tool can send one HTTP request with one custom header, it is supported. There is no
SDK, no OAuth flow and no callback URL.

---

## What every one of these skills enforces

These rules are written into each `SKILL.md` and they are the reason the plugin exists:

- **Never present output as a buy or sell recommendation.** The API returns detected events
  and historical frequencies. It does not know your position, account or risk. Turning
  "historically 62.6% of these breakouts failed within 10 bars" into "fade the breakout" is
  the agent inventing advice.
- **Always carry the disclaimer.** Every response has a `disclaimer` field; it travels with the
  numbers.
- **Never claim precision the numbers do not have.** The honest win rates are 52–56%. An agent
  that rounds that into "strong signal" has broken the product.
- **Name the baseline.** A 51.8% event win rate is meaningless until you also say the
  any-wave-flip baseline is 49.3%. The day-type read's 66% top-1 accuracy travels the same
  way — always next to the 37% majority-class baseline.
- **Keep a measurement apart from a prediction.** The `day_type` block predicts how an
  unfinished session could resolve and has published accuracy; the `shape` block measures bars
  that already printed and has none, because nothing is being predicted. A skill that labels a
  shape description a "trend day", or hangs the day-type accuracy on it, has broken the
  product just as surely as inventing a number.
- **Flag out-of-distribution use.** The reference rates and models were measured on S&P 500
  E-mini futures. A read on a single stock, on gold, or on crypto is descriptive, not
  validated.
- **At a free-key limit, relay `message_for_your_human` and hand checkout to the person.**
  Respect `quota_resets_at`; never loop, and never substitute a different data source and
  present the result as Quant Data output.

## Where this does not work

Publishing this is the point, not a disclaimer:

- **Crypto and gold have a consistent anti-signature.** Of eight pre-registered Bitcoin
  signals, zero confirmed, and `no_supply` reversed direction outright.
- **Chart patterns did not survive testing.** Over 121,000 pattern detections produced an AUC
  of 0.54 — near a coin flip.
- **The Asian session did not transfer.** The pre-registered test of day-type gating on the
  Asian session returned NO_GO.

---

Educational analytics and developer tooling. Not investment advice, not a recommendation to
buy or sell, not a price forecast. Trading involves risk of loss; past performance does not
guarantee future results. Independent research — not affiliated with or endorsed by Al Brooks,
David Weis, or any exchange or broker.

Docs: <https://quantdata.uk/skills> · Questions: quantdata@quantdata.uk

