protogrid

Search / io.github.InferIndex/inferindex

InferIndex

R0· no sign-in

LLM API prices across 70+ providers: cheapest offer, comparisons, history and cost estimates.

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality83good
Trust93of 100
Uptime, 30 days93%
Latency p50442 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "inferindex": {
      "type": "http",
      "url": "https://mcp.inferindex.dev/mcp"
    }
  }
}
claude mcp add --transport http inferindex https://mcp.inferindex.dev/mcp
[mcp_servers.inferindex]
url = "https://mcp.inferindex.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "inferindex": {
      "type": "remote",
      "url": "https://mcp.inferindex.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "inferindex": {
      "type": "http",
      "url": "https://mcp.inferindex.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=inferindex&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmluZmVyaW5kZXguZGV2L21jcCJ9"
}
{
  "servers": {
    "inferindex": {
      "type": "http",
      "url": "https://mcp.inferindex.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "inferindex": {
      "httpUrl": "https://mcp.inferindex.dev/mcp"
    }
  }
}
extensions:
  "inferindex":
    enabled: true
    name: "inferindex"
    type: streamable_http
    uri: "https://mcp.inferindex.dev/mcp"
    timeout: 300

Quality 83 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations8 of 8 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,654 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes7 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

8 tools, about 3,654 tokens to load them all · tool set bba7a839aedc · tools last changed 2026-10-16 · checked 2026-10-19 16:53 UTC

Tool changes

  • compare_providerschangedinput schema
  • self_host_or_apiadded

    Is it cheaper to host an open-weights model yourself on rented GPUs, or to use the cheapest API offer? Returns a one-sentence verdict (headline) and the numbers behind it: the break-even volume in million tokens per day, the throughput the whole configuration must deliver for self-hosting to cost less (required_tokens_per_second: compare it with what your setup does), the break-even utilization when a throughput is known, the GPU configuration and its hourly price, and what the verdict rests on (confidence). Without a volume you still get the verdict and the break-even volume. It is an estimate: the throughput is a published measurement (measured), an estimate scaled from one (derived; estimated for a wide range), or a published minimum (lower_bound: a floor, valid for requests of up to 2,048 tokens in total, that can show self-hosting wins, never that the API is cheaper); or you give your own tokens_per_second. When no published figure decides, the headline gives the break-even volume and the required throughput, to compare with yours, rather than a yes or no, and may point out a dearer setup that published figures do decide (settled_alternative: for comparison, not a recommendation). headline_kind and headline_values give the headline as fields. It declines to give a number (status refused, with a reason) when it cannot do so reliably, for example a closed model, weights that do not fit the requested GPU, or a GPU nobody rents. Hardware rental only: the hourly price the provider publishes for the machine. It does not count the engineering to deploy and run the model, monitoring, redundancy, start-up time, or storage and network costs billed separately.

  • gpu_rentalsadded

    Rental offers for one GPU type: provider, price in USD per GPU per hour, number of GPUs in the published configuration, billing and region when published. One block per tier (guaranteed, community, spot), each with its own cheapest offer, also given per configuration (cheapest_by_gpu_count: the price per GPU of a single GPU and of a multi-GPU node are not comparable); tiers are never compared with each other. guaranteed: capacity the provider presents as not interrupted; community: third-party hosts; spot: interruptible capacity. Prices are as published by the provider, and dated. Get the GPU id from list_gpus.

  • list_gpusadded

    GPU types whose rental price InferIndex tracks (H100, A100, L40S…), with the lowest price per GPU per hour in USD for each tier (guaranteed, community, spot) and the number of GPUs of that configuration. Prices are per GPU per hour, as published by each provider, and dated. Tiers are different products and are never compared with each other.

  • estimate_costchangeddescription, input schema
    before

    Estimated cost of a workload on one model at each provider: cost per request, and per month if requests_per_day is given, taking the provider's tiered pricing and prompt-cache price into account. Offers sorted by estimated cost, cheapest first.

    after · 81% of words in common

    Estimated cost of a workload on one model at each provider: cost per request, and per month if requests_per_day is given, taking the provider's tiered pricing and prompt-cache price into account. Offers sorted by estimated cost, cheapest first: the cheapest in detail, then one short line per offer with its estimated cost.

  • compare_providerschangeddescription, input schema
    before

    Current offers for one model, one line per provider and source (direct or via an aggregator), cheapest first (10 by default), with price, context, quantization, published conditions (training on prompts, data regions, sign-up) and reliability from official status pages.

    after · 74% of words in common

    Current offers for one model, one line per provider and source (direct or via an aggregator), cheapest first (10 by default), with price, quantization, signals and training on prompts when published; the cheapest offer comes in detail. Pass detail: "full" for context, every published condition (data regions, sign-up) and reliability from official status pages on each offer.

  • cheapestchangeddescription, input schema
    before

    Cheapest current API offers for one model across direct providers and aggregators, in USD per 1M tokens (input, output, blended 3:1). Stale prices, and flex/batch tiers, are excluded by default. Optional filters (context, tools, JSON, vision, region, no training on prompts, open sign-up) and usage (tokens per request, requests per day) to get an estimated cost per request and per month. Returns the winner and the first offers.

    after · 73% of words in common

    Cheapest current API offers for one model across direct providers and aggregators, in USD per 1M tokens (input, output, blended 3:1). Stale prices, and flex/batch tiers, are excluded by default. Optional filters (context, tools, JSON, vision, region, no training on prompts, open sign-up) and usage (tokens per request, requests per day) to get an estimated cost per request and per month. Returns the winner in detail and one short line per following offer. A condition that is absent was not published by the provider, it never means "no"; a flag not listed in signals is false.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 93 / 100

provenance90
liveness97
freshness85
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-93% ~updated-31d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.inferindex.dev/mcp streamable-httpnoneyes93%442 ms2025-11-252026-10-19

Tools (8)

cheapestread-onlyCheapest current API offers for one model across direct providers and aggregators, in USD per 1M tokens (input, output, blended 3:1). Stale prices, and flex/batch tiers, are excluded by default. Optional filters (context, tools, JSON, vision, region, no training on prompts, open sign-up) and usage (tokens per request, requests per day) to get an estimated cost per request and per month. Returns the winner in detail and one short line per following offer. A condition that is absent was not published by the provider, it never means "no"; a flag not listed in signals is false.
compare_providersread-onlyCurrent offers for one model, one line per provider and source (direct or via an aggregator), cheapest first (10 by default), with price, quantization, signals and training on prompts when published; the cheapest offer comes in detail. Pass detail: "full" for context, every published condition (data regions, sign-up) and reliability from official status pages on each offer.
estimate_costread-onlyEstimated cost of a workload on one model at each provider: cost per request, and per month if requests_per_day is given, taking the provider's tiered pricing and prompt-cache price into account. Offers sorted by estimated cost, cheapest first: the cheapest in detail, then one short line per offer with its estimated cost.
gpu_rentalsread-onlyRental offers for one GPU type: provider, price in USD per GPU per hour, number of GPUs in the published configuration, billing and region when published. One block per tier (guaranteed, community, spot), each with its own cheapest offer, also given per configuration (cheapest_by_gpu_count: the price per GPU of a single GPU and of a multi-GPU node are not comparable); tiers are never compared with each other. guaranteed: capacity the provider presents as not interrupted; community: third-party hosts; spot: interruptible capacity. Prices are as published by the provider, and dated. Get the GPU id from list_gpus.
list_gpusread-onlyGPU types whose rental price InferIndex tracks (H100, A100, L40S…), with the lowest price per GPU per hour in USD for each tier (guaranteed, community, spot) and the number of GPUs of that configuration. Prices are per GPU per hour, as published by each provider, and dated. Tiers are different products and are never compared with each other.
price_historyread-onlyPrice history of one model: every offer tracked by InferIndex (daily or weekly min/max/last price in USD, or raw price changes), plus the official price of the model's lab over time. Give either days, or from/to (YYYY-MM-DD), or at (a date) for the prices in effect that day.
search_modelsread-onlyFind the exact id of an LLM tracked by InferIndex from a name or partial name (e.g. 'deepseek', 'qwen3 max', 'claude opus'). Returns matching model ids and names, best match first.
self_host_or_apiread-onlyIs it cheaper to host an open-weights model yourself on rented GPUs, or to use the cheapest API offer? Returns a one-sentence verdict (headline) and the numbers behind it: the break-even volume in million tokens per day, the throughput the whole configuration must deliver for self-hosting to cost less (required_tokens_per_second: compare it with what your setup does), the break-even utilization when a throughput is known, the GPU configuration and its hourly price, and what the verdict rests on (confidence). Without a volume you still get the verdict and the break-even volume. It is an estimate: the throughput is a published measurement (measured), an estimate scaled from one (derived; estimated for a wide range), or a published minimum (lower_bound: a floor, valid for requests of up to 2,048 tokens in total, that can show self-hosting wins, never that the API is cheaper); or you give your own tokens_per_second. When no published figure decides, the headline gives the break-even volume and the required throughput, to compare with yours, rather than a yes or no, and may point out a dearer setup that published figures do decide (settled_alternative: for comparison, not a recommendation). headline_kind and headline_values give the headline as fields. It declines to give a number (status refused, with a reason) when it cannot do so reliably, for example a closed model, weights that do not fit the requested GPU, or a GPU nobody rents. Hardware rental only: the hourly price the provider publishes for the machine. It does not count the engineering to deploy and run the model, monitoring, redundancy, start-up time, or storage and network costs billed separately.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.InferIndex/inferindex",
  "title": "InferIndex",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.inferindex.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/InferIndex/inferindex-docs",
    "source": "github"
  },
  "websiteUrl": "https://api.inferindex.dev",
  "description": "LLM API prices across 70+ providers: cheapest offer, comparisons, history and cost estimates."
}