Metadata-Version: 2.4
Name: flopsindex-mcp
Version: 0.9.0
Summary: MCP server for the FLOPS Compute Intelligence Platform — gives Claude / Cursor / Windsurf agents direct access to GPU compute price indices, methodology, and per-index verification.
Author-email: Ash Chary <ash@flopsindex.com>
License: Proprietary
Keywords: mcp,flops,gpu,compute,pricing,claude,agents
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: mcp>=1.0.0
Requires-Dist: httpx>=0.26.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"

# flopsindex-mcp

<!-- mcp-name: io.github.zeroatflops/flopsindex-mcp -->

[![PyPI version](https://img.shields.io/pypi/v/flopsindex-mcp.svg)](https://pypi.org/project/flopsindex-mcp/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flopsindex-mcp.svg)](https://pypi.org/project/flopsindex-mcp/)
[![PyPI Downloads](https://img.shields.io/pypi/dm/flopsindex-mcp.svg)](https://pypi.org/project/flopsindex-mcp/)
[![Live API](https://img.shields.io/website?label=app.flopsindex.com&url=https%3A%2F%2Fapp.flopsindex.com%2Fv2%2Fcatalog%2Fpublic)](https://app.flopsindex.com/v2/catalog/public)
[![Spec](https://img.shields.io/badge/JSON--LD-v0.1-blue)](https://schema.flopsindex.com/compute-index-spec/v0.1/)
[![Test matrix](https://img.shields.io/badge/test--matrix-post--R7.5-success)](https://github.com/zeroatflops/Flops_Unicron/blob/main/Flops_Unicron/docs/mcp/post-r7.5-test-matrix.md)
[![Docs](https://img.shields.io/badge/docs-docs.flopsindex.com-blue)](https://docs.flopsindex.com/)
[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-mcp--publisher%20ready-success)](https://registry.modelcontextprotocol.io/)

**See also** — full docs [docs.flopsindex.com/sdk/mcp](https://docs.flopsindex.com/sdk/mcp) · agent citation guide [docs.flopsindex.com/integrations/llm-agent-citation-guide](https://docs.flopsindex.com/integrations/llm-agent-citation-guide) · public read SDK [`flopsindex`](https://pypi.org/project/flopsindex/) · partner write SDK [`flopsindex-partner`](https://pypi.org/project/flopsindex-partner/) · spec [schema.flopsindex.com](https://schema.flopsindex.com/) · adopters [schema.flopsindex.com/adopters](https://schema.flopsindex.com/adopters)

Model Context Protocol server for the **FLOPS Compute Intelligence Platform**.

Gives AI agents (Claude Code, Cursor, Windsurf, ChatGPT desktop, any MCP host) direct access to live FLOPS GPU-compute price indices with verifiable provenance.

## Tools

| Tool | Description |
|---|---|
| `list_indices` | Enumerate all public FLOPS indices. Optional `family_filter` substring (e.g. `FLOPS-H100`). |
| `get_price` | Latest published price + tier + confidence for one index. |
| `get_index` | Resolve an index to its **source-opaque public payload** — the canonical citation shape (`index_id, value, unit, as_of, data_tier, confidence, methodology_url, verify_url, citation_url, permalink`). No provider/source identities by design. Prefer this when you intend to **cite** a value. |
| `get_timeseries` | Decimated history (≤200 points) for one index. Range: 24h / 7d / 30d / 90d / 1y. |
| `search_indices` | Free-text search across the public catalog. |
| `get_regional` | Per-region decomposition for one public spot index across the canonical 14-region taxonomy, each LIVE region carrying a dispersion band `spread_band {low, high, iqr}` (intra-region price **range**, not a source set). `index_id` is **UPPERCASE**. The band's sample-count `n` is paid-tier-only and absent from this auth-free call. |
| `get_regional_spread` | Catalog-wide regional spread — one row per SKU with ≥2 priced regions (`max_region` / `min_region` / `spread` / `spread_pct` + endpoint bands), sorted widest-first. The trader keystone. |
| `get_inference_qos` | Inference quality-of-service (IQOS) coverage — the quality companion to ITPI price. Per model: `score` (0–100), `ttft_ms`, `throughput_tps`, `p95_ms`, `errorrate_pct`, `uptime_pct`. Unmeasured models are listed under `stale` with a null score, **never** scored as 0/downtime (mig 053). |
| `verify` | Fetch the latest published value + audit receipt for a given `index_id`. |
| `list_methodologies` | List every published methodology version (FLCI / ITPI / FLOPS-*). |
| `get_methodology` | Fetch a single methodology document — markdown or frontmatter JSON. Citeable. |
| `compute_margin` | Hydrahost spark-spread: `margin = price − chip_power × PUE × $/kWh − rack_amortization`. |
| `recompute_audit` | Receipt for a published value — IOSCO Principle 9+17 substrate. Variance bands green / yellow / red. |
| `get_trading_terminal` | One-call market-data bundle for a single SKU: indicative quote + dispersion-band bid/ask **proxy**, live forward curve, regional basis ladder, tick tape, tier-honest market depth (count grade, never a source set), realized dispersion. **INDICATIVE only — `indicative.executable` is always `false`; FLOPS has no live execution.** Anonymous = ~1h-delayed + rounded + depth `n` omitted; a key unlocks real-time + full precision + the exact `n`. Source-opaque. |
| `get_trading_catalog` | Dropdown-ready `{slug, label, family}` list of the LIVE public-spot indices for a SKU picker — trimmed companion to `/v2/catalog/public` (no value/confidence/FLCI-teaser noise), sorted family-then-label. |

`get_forward_curve` and `get_settlement` are still tracked in the Track D roadmap (CLRI-FWD / CLRI-SETTLED families).

## Resources

Every public index is also exposed as an MCP **resource** so hosts can browse + read values without a tool call:

| URI | Returns |
|---|---|
| `flops://index/<INDEX_ID>` | The same **source-opaque C3 payload** as `get_index` (`value` + `verify_url`/`citation_url`/`permalink`, no provider identities), `mimeType: application/json`. |

`list_resources` enumerates one entry per public catalog index; `read_resource("flops://index/FLOPS-H100-OD")` resolves the live value. The payload is a whitelist projection of the published [§C3 contract](https://github.com/zeroatflops/Flops_Unicron/blob/main/Flops_Unicron/docs/architecture/r15-contracts-v1.0.md) — `providers` / `sources` / `num_sources` / `num_providers` / `computation_proof` are dropped by construction.

## Install

```bash
uv tool install flopsindex-mcp
# or
pip install flopsindex-mcp
```

## Wire into Claude Code

```bash
claude mcp add flopsindex -- flopsindex-mcp
```

## Wire into Cursor / Windsurf

Add to your MCP config (`~/.cursor/mcp.json` or equivalent):

```json
{
  "mcpServers": {
    "flopsindex": {
      "command": "flopsindex-mcp"
    }
  }
}
```

## Environment

| Var | Default | Purpose |
|---|---|---|
| `FLOPS_API_URL` | `https://app.flopsindex.com` | Override for staging / self-host |

## Example agent prompts

> "Use the flopsindex MCP server to list all H100 on-demand indices and report their latest values."

> "Verify FLOPS-B300-OD-T1 and cite the receipt."

## Status

**v0.9.0** — two source-opaque trading-terminal tools added — `get_trading_terminal` (one-call market-data bundle per SKU: indicative quote + dispersion-band bid/ask proxy, live forward curve, regional basis ladder, tick tape, tier-honest depth, realized dispersion — **indicative only, no live execution**) and `get_trading_catalog` (dropdown-ready `{slug,label,family}` list). 24 tools total. Both wrap A3's `/v1/trading/*` (R21) and pass payloads through the shared recursive `_strip_forbidden` C3 scrubber so a seller set never reaches an agent. R21 distribution round.

**v0.8.0** — three source-opaque tools added — `get_regional` (per-region decomposition + dispersion band), `get_regional_spread` (catalog-wide regional spread, the trader keystone), and `get_inference_qos` (inference price×quality coverage). 22 tools total. All three pass any payload through a recursive `_strip_forbidden` projection so a GPU-spot seller set never reaches an agent even if upstream shape drifts; inference provider/model are kept as the **published subject** of the IQOS index (distinct from opaque GPU-spot sellers). R19 distribution round.

**v0.7.0** — `get_index` tool + `flops://index/<id>` MCP **resource** added, both returning the source-opaque [§C3](https://github.com/zeroatflops/Flops_Unicron/blob/main/Flops_Unicron/docs/architecture/r15-contracts-v1.0.md) citation payload (value + verify/citation/permalink, **no** provider/source identities). `USER_AGENT` now derives from `__version__`. R15 Track-D launch round.

**v0.4.1** — `gpu_capex` tool added (per-SKU reference street price for a single GPU module — chip + carrier, quarterly-refreshed from GRVCI v0_benchmark + OEM channel reporting). 11 tools total. Backed by the public `/v1/refdata/gpu-capex` endpoint; no auth.

**v0.4.0** — `spread` tool added (time-aligned spread between two index legs with z-score / percentile-rank stats). 10 tools total. Registry listings expanded to 5 channels (added mcp.so + wong2/awesome-mcp-servers) in `LISTINGS.md`. PyPI publish still gated on operator.

**v0.3.0** — `list_methodologies` / `get_methodology` / `compute_margin` / `recompute_audit` added on top of the 5-tool v0.2.0 surface. Registry listings (smithery.ai, glama.ai, modelcontextprotocol/servers) tracked in `LISTINGS.md`. PyPI publish gated on operator (token in keyring).

**v0.1.0** — Published to PyPI 2026-05-13.

## License

Proprietary. © 2026 FLOPS Index.
