flopsindex-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@flopsindex-mcpshow me the current H100 on-demand price"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
flopsindex
Reference rates for compute economics — public price indices for GPU rentals (spot, on-demand, DePIN). Every published value carries a verify URL your code can check against the public index.
Try it in one line
# MCP server (Claude Code, Cursor, Windsurf, ChatGPT desktop, ...)
pip install flopsindex-mcp && claude mcp add flopsindex -- flopsindex-mcp
# Python REST SDK
pip install flopsindex
# TypeScript / JavaScript SDK
npm i @flopsindex/sdk
# Or skip install — hit the hosted MCP gateway
# https://app.flopsindex.com/mcp (anonymous, zero-config)Or to your agent: "Get me the current FLOPS price for an H100 on-demand and show me the verify URL."
Related MCP server: atom-mcp-server
What's distinctive
Source-opaque by contract. Every public payload returns a value plus citation and verify URLs — nothing about how the value was produced.
One surface, two access modes.
Anonymous → delayed public price for the published FLOPS index family (
FLOPS-{model}-{OD|SPOT|DEPIN}), delayed onto a ~6h grid (as_of snaps to 00/06/12/18 UTC). Indicative reference — not for settlement. The citation surface, designed for LLM/agent discovery and academic reference. The family spans many accelerator models (NVIDIA data-center and workstation GPUs plus AMD Instinct), not just H100 — enumerate the live set via/v2/catalog/public; it grows as coverage crosses the ≥3-source floor.Keyed (
X-FLOPS-Api-Key) → the same five tools at full precision.
A partner tier with higher fidelity and expanded coverage is available — contact team@flopsindex.com.
Features
Five key-free tools —
list_indices,search_indices,get_price,get_index,verify. No API key, no signup, no configuration.Every value carries a verify URL — check any published number against the index from your own code.
verifyreturns whether a cited value matches.Spot, on-demand and DePIN reference prices per chip and market type.
Three vendors — NVIDIA data-center and workstation GPUs, AMD MI300X, and Intel Gaudi 2. Enumerate the live set via
/v2/catalog/public.Source-opaque by contract — the value plus citation and verify links, never the inputs behind it.
Delayed onto a ~6h grid (00/06/12/18 UTC), 2dp values, banded 24h change, label confidence. Indicative reference — not for settlement.
Zero install or local — hosted MCP gateway at
https://app.flopsindex.com/mcp, oruvx flopsindex-mcp.SDKs included — Python (
flopsindex), TypeScript (@flopsindex/sdk), and LangChain / LlamaIndex (langchain-flopsindex).
What's in this repo
Path | What |
The | |
The | |
The | |
| |
OpenAPI 3 description of the public surface. | |
Extended public-surface reference for LLM/agent discovery — source-opaque, 6 endpoints, 14-field envelope. Mirror of the hosted |
Verify a value yourself
curl -s https://app.flopsindex.com/v1/price/FLOPS-H100-OD | jq
# value: 2.95 (USD/GPU-hr, 2dp)
# unit: USD/GPU-hr
# as_of: 2026-07-13T12:00:00Z (delayed to a ~6h grid: 00/06/12/18 UTC)
# data_tier: LIVE
# confidence: HIGH (HIGH | MED, label only)
# change_24h: FLAT (banded: UP | FLAT | DOWN)
# disclaimer: indicative reference; not for settlement
# methodology_url: /i/FLOPS-H100-OD/methodology
# verify_url: /v1/verify?...
# citation_url: /cite?...
# permalink: /i/FLOPS-H100-OD
# ... source-opaque public payload only.The same value is reachable via the SDK and via the MCP get_index tool — every path returns the same source-opaque payload.
Public surface
Endpoint | What |
Hosted MCP gateway — same 5 public tools, no install | |
Public catalog — every live index id (spot, on-demand and DePIN) | |
Agent2Agent (A2A) discovery card | |
LLM-discovery manifest | |
Deeper agent-context blob | |
Citation guide for AI answer engines | |
Permalink page with schema.org JSON-LD | |
Public methodology page (linked from | |
| Verify a published value against the index |
License
Apache License 2.0 — see LICENSE and NOTICE.
Apache 2.0 governs the source code in this repository (SDKs, MCP server, schema, examples). The underlying price data, the FLOPS trademark, and the hosted index methodology are the proprietary work of FLOPS Index; use of the published APIs is governed by the terms at flopsindex.com.
Contributing
Bug reports + small fixes welcome via Issues / PRs.
Contributions are welcome. Use only the public index identifiers from
/v2/catalog/public.For partner-tier access, contact team@flopsindex.com.
Status
Package | Channel |
| |
| |
|
Public surface, gateway, and catalog: app.flopsindex.com.
Available Tools
5 toolsget_indexA
Resolve a FLOPS index to its source-opaque PUBLIC payload (the public citation contract). Returns {index_id, value, unit, as_of, data_tier, confidence, verify_url, citation_url, permalink}. Prefer this when you intend to CITE the value. Also exposed as the MCP resource flops://index/.
| Name | Required | Description | Default |
|---|---|---|---|
| index_id | Yes | FLOPS index id / slug, e.g. 'FLOPS-H100-OD' or 'FLOPS-A100-SPOT'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses that the payload is 'PUBLIC' and 'source-opaque,' describes the exact return shape, and introduces the resource alias. While it doesn't discuss auth or rate limits, the non-mutating 'Resolve' semantics and public framing provide strong behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three dense sentences with no filler: it states the core action, lists the return fields, gives a usage preference, and mentions the MCP resource alias. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description is remarkably complete. It covers the return format, the intended use case, the public nature of the payload, and even the resource URI equivalent. No critical operational context appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers the single parameter fully with description and an example, so schema coverage is 100%. The description does not add parameter-level detail, which is acceptable because the schema handles it; the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Resolve') and clearly identifies the resource ('a FLOPS index to its source-opaque PUBLIC payload'), explicitly framing it as the 'public citation contract.' This distinguishes it from siblings like get_price and verify by focusing on the citation-oriented payload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance: 'Prefer this when you intend to CITE the value.' It does not explicitly name alternative tools or provide when-not-to-use conditions, but it establishes a clear use case in context of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_priceA
Fetch the current published value for a FLOPS compute price index. Returns the published envelope as-is: {index_id, value, unit, as_of, delayed, data_tier, confidence, change_24h, disclaimer, methodology_url, verify_url, citation_url, permalink, upgrade} -- the 14-field envelope. Values are delayed and indicative. Use get_index for the reduced, citation-only payload.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | FLOPS index slug, e.g. FLOPS-H100-OD or FLOPS-A100-SPOT. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses important behavioral traits: values are 'delayed and indicative' and the envelope is returned 'as-is.' This goes beyond a simple fetch description, though it does not cover error handling or rate limits. The key user-relevant caveats are addressed, so it earns a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each with a distinct purpose: stating the action, enumerating the return envelope, and pointing to the alternative. No filler or redundancy; information is front-loaded and efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description explicitly lists the 14 fields returned, which fully covers the return structure. It also adds context about data freshness (delayed, indicative) and directs to get_index for a lighter payload. For a simple one-parameter fetch tool, this is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% coverage of the single 'slug' parameter with a clear description and examples. The description does not add additional parameter semantics beyond what the schema offers. Per the rubric, baseline 3 is appropriate when schema coverage is high and the description adds little.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Fetch the current published value for a FLOPS compute price index' with a specific verb and resource. It distinguishes itself from the sibling get_index by clarifying that get_price returns the full envelope while get_index returns a reduced, citation-only payload. This makes the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly directs the user to an alternative: 'Use get_index for the reduced, citation-only payload.' This establishes when to use get_price (when the full 14-field envelope is needed) versus get_index, providing clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_indicesA
List all public FLOPS compute-price indices. Returns {count, indices[]} where each row is {index_id, family, value, unit, as_of, confidence, change_24h, delayed}. Use this to discover available indices before calling get_index or verify. No auth required.
| Name | Required | Description | Default |
|---|---|---|---|
| family_filter | No | Optional family prefix to filter by (e.g. 'FLOPS-H100'). Case-sensitive substring match. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on the full transparency burden. It discloses the return shape ({count, indices[]} with field details) and auth status ('No auth required'). It does not mention edge cases or rate limits, but for a read-only list operation the disclosure is solid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, then return format, usage guidance, and auth note. No wasted words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with one optional parameter and no output schema, the description is complete. It explains the return structure, usage context, and authentication, which is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the one parameter; the schema already fully describes family_filter. The description does not add extra semantic meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'List all public FLOPS compute-price indices.' It clearly distinguishes this list-all tool from siblings like get_index or search_indices by stating its role as a discovery mechanism.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is given: 'Use this to discover available indices before calling get_index or verify.' This names specific alternatives and provides ordering context, making it clear when to pick this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_indicesA
Resolve a free-text query to canonical FLOPS index slugs. Use when you don't know the exact slug — e.g. 'H100 spot' returns matching catalog entries.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Free-text query (e.g. 'H100 on-demand'). | |
| limit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It states that the tool 'returns matching catalog entries', which indicates a read-only search behavior. However, it does not disclose potential error behavior, rate limits, or what happens on zero matches, so it provides only basic behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and the example is illustrative without being verbose. Every sentence adds value, with no fluff or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (2 params, no output schema), and the description covers the main purpose and usage context. However, it does not specify the exact return format (list of slugs vs. full entries) or how the limit parameter affects results, which are important for an agent to use it correctly without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (q is described, limit is not). The description adds an example for q but entirely omits any explanation of 'limit', leaving its meaning and impact unexplained. With only partial coverage, the description should compensate but does not, leaving a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Resolve' with a clear resource ('free-text query' to 'canonical FLOPS index slugs'), and distinguishes itself from siblings like get_index and list_indices by focusing on free-text search. The example 'H100 spot' clarifies the intended use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use when you don't know the exact slug', which gives clear context for when to invoke this tool over alternatives. However, it does not name alternatives directly or provide explicit when-not-to-use guidance, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifyA
Check a FLOPS index value against the published index. Pass value with a number you are about to cite (or already hold) and the response tells you whether it is right: verified true/false, expected (what you submitted), actual_value (what FLOPS publishes) and delta_pct. Omit value to simply look up the current published value — then verified is null, which means 'not checked', NOT 'correct'. Note: without an API key you are checked against the public value, which is rounded to 2 decimals and delayed onto a 6-hour grid, so a full-precision real-time number will not match anonymously.
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Optional. The number you want checked, e.g. 2.14. Omit it to do a plain lookup. | |
| index_id | Yes | FLOPS index identifier (e.g. 'FLOPS-H100-OD', 'FLOPS-A100-SPOT'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It discloses the exact response fields (`verified`, `expected`, `actual_value`, `delta_pct`), the meaning of `verified: null` ('not checked', NOT 'correct'), and the rounding/delay behavior of anonymous access. This goes far beyond a simple action statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact yet comprehensive. It front-loads the core action, then logically covers parameter behavior, response fields, and important caveats. Every sentence adds value; there is no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's inherent complexity (subtle null meaning, anonymous data rounding/delay, multiple response fields) and the absence of an output schema, the description provides a complete picture. It even includes an example value format and explains the delta percentage. No critical behavioral aspect is left unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaningful semantics: it explains the optional `value`'s purpose ('a number you are about to cite'), the consequence of omitting it, and the resulting `verified` null behavior. This enhances the schema's minimal 'Optional. The number you want checked.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Check a FLOPS index value against the published index.' It clearly distinguishes the verification use case from a plain lookup, and its mention of omitting `value` to do a lookup differentiates it from sibling tools like get_index. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear conditional guidance: use `value` when about to cite a number, omit it for a plain lookup. It explains the anonymous public-value caveat. It does not explicitly name sibling alternatives (e.g., 'use get_index for lookup'), but the context is sufficient for an agent to decide when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v0.12.5- First observed
get_index - First observed
get_price - First observed
list_indices - First observed
search_indices - First observed
verify
TDQS
Most tools are clearly distinct: list_indices and search_indices serve discovery, verify checks a submitted value, and get_price/get_index fetch values. The only potential confusion is between get_price and get_index, but their descriptions clearly differentiate (full envelope vs. citation payload), so agents can pick correctly.
Names follow a consistent verb_noun pattern: list_indices, search_indices, get_price, get_index. The outlier is 'verify', a bare verb lacking an explicit object, but it's still readable and fits the action-oriented style. Overall the pattern is predictable with one minor deviation.
Five tools is a well-scoped number for a FLOPS index service. Each tool serves a distinct purpose (list, search, verify, fetch full, fetch citation), leaving no redundant or missing core operations. The count is appropriate for the domain.
The set covers the full lifecycle of working with FLOPS indices: discovering available indices (list_indices, search_indices), retrieving current values (get_price, get_index), and verifying cited values (verify). No obvious gaps exist; the read-only nature of the service means no update/delete is expected. The inclusion of a citation-specific payload further completes the workflow.
Maintenance
Related MCP Connectors
LLM and GPU rental prices: model price lookup, GPU listings, cheapest-GPU search, price history
Live GPU rental market: 2,500+ offers across a dozen provider feeds. History, watches, limit orders.
Live GPU spot market: 1,700+ offers, 10 provider feeds. History, watches, limit orders, no fee
On-demand GPU nodes for agents: create nodes, run commands, and submit jobs, billed by the minute.
Related MCP Servers
- FlicenseAqualityNot gradedmaintenanceCompute price oracle for AI agents. Compare inference pricing across OpenAI, Anthropic, and DePIN providers like Hyperbolic. Get routing recommendations that save up to 80% on compute costs.5-
- AlicenseAqualityCmaintenanceGlobal price benchmarking for AI inference across 2,600+ SKUs from 47 vendors. Query live pricing, market indexes, and model specs via 8 tools. Free tier available.8103MIT
- AlicenseAqualityAmaintenanceProvides real-time AI compute pricing and cost analysis across LLM providers, enabling session cost tracking, model price comparisons, and historical data queries.2174MIT
- AlicenseAqualityBmaintenanceExposes InferenceIndexer's live and historical inference pricing as MCP tools, enabling search of models, providers, price comparisons, and SIT index trends.8MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zeroatflops/flopsindex'
If you have feedback or need assistance with the MCP directory API, please join our Discord server