# ModelCostComparison

> Find AI model pricing, estimate token costs and compare offers. No API key required.

- name: io.github.Lazige/modelcostcomparison
- version: 1.0.1
- connection class: unknown (unknown)
- trust: 70/100 flags: unreachable
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.Lazige%2Fmodelcostcomparison
- tools: https://api.protogrid.dev/v1/servers/io.github.Lazige%2Fmodelcostcomparison/tools

**Not classified yet.** The remote endpoints have not been probed successfully, or the listing has nothing to connect to.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "modelcostcomparison": {
      "type": "http",
      "url": "https://modelcostcomparison.com/api/v1/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 9
- freshness: 100
- provenance: 90
- drivers: +repository +namespace-matches-repo +website -unreachable(3 failures) +updated-18d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,978 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 9 tool changes in 30 days
- fail `stability.rug_pull`: 6 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 2,978 tokens to load them all
- tool set hash: bad7401e0d8bae34ff232d96fda92e93
- tools last changed: 2026-09-29T09:17:39.827Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.Lazige/modelcostcomparison.svg)](https://protogrid.dev/servers/io.github.Lazige/modelcostcomparison)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-09-29 `list_providers` changed (description, inputSchema) **meaning changed**
  - before: Summarize catalogue providers, distinct API model identities, tariff counts and current supported input/output rate ranges in USD per million tokens. Ranges are informational, not workload estimates or capability rankings.
  - after: Use to discover provider IDs and catalogue coverage before filtering model searches. Returns distinct API model counts, offer counts and current supported input/output rate ranges in USD per million tokens. The two rate minima may belong to different offers. For a workload estimate use find_cheapest_models or calculate_cost; ranges are not capability rankings.
- 2026-09-29 `find_cheapest_models` changed (description, inputSchema) **meaning changed**
  - before: Rank current reviewed offers by USD text-token subtotal for the supplied input/output/cache workload. Defaults to standard tariffs. Optional verified input-capacity filter is a pricing-scope limit, not full context size. No model-quality recommendation. Returns exclusion counts; discover exact IDs in results.
  - after: Use when you know your token workload but have not selected offers: rank eligible current reviewed offers by USD text-token subtotal and return their exact IDs. Defaults to standard tariffs. Cheapest means within the eligible catalogue and supplied filters, not best quality or the entire market. Equal token counts do not imply tokenizer equivalence. Excludes cache writes, storage, search, tool fees and taxes; reports exclusion counts. Optional capacity filtering uses reviewed pricing input limits, not full context windows.
- 2026-09-29 `compare_model_costs` changed (description, inputSchema) **meaning changed**
  - before: Compare 2–20 exact offers for identical text-token counts using one pricing snapshot. Returns supported results plus per-offer exclusions. Equal token counts are an assumption, not tokenizer equivalence.
  - after: Use when you already have 2–20 exact offer IDs and want their USD text-token subtotals for the same usage and pricing snapshot. Equal token counts are a comparison assumption, not equivalent tokenization of the same text. Returns supported results and per-offer exclusions. Excludes cache writes, storage, search, tool fees and taxes; does not rank quality. Use find_cheapest_models to search without a shortlist.
- 2026-09-29 `calculate_cost` changed (description, inputSchema) **meaning changed**
  - before: Estimate a USD text-token subtotal for one exact offer using current reviewed rates. Input includes cached input. Excludes cache writes, storage, tools and taxes. No model invocation.
  - after: Use when you have one exact offer ID and token usage and want its USD text-token subtotal. Discover the ID with list_models first. Total input includes cached input; do not add cached tokens twice. Excludes cache writes, storage, search, tool fees and taxes. Requires current reviewed, supported rates; does not invoke a model. Use compare_model_costs for several known offers.
- 2026-09-29 `get_model_pricing` changed (description, inputSchema) **meaning changed**
  - before: Read recorded USD text-token prices, tariff identity, provenance and freshness for an exact offer ID. Expired or unreviewed prices are informational only.
  - after: Use after list_models when you need the rates, tariff identity, sources and freshness of one exact offer, without calculating a workload. Supply the returned model_id. Prices are recorded USD text-token rates; expired or unreviewed rates are informational only. Use calculate_cost for a workload estimate.
- 2026-09-29 `list_models` changed (description, inputSchema) **meaning changed**
  - before: Find exact pricing offers and their IDs. Defaults to current reviewed prices; offers may still have unsupported billing modes. No model capability recommendation. Search accepts case, spacing and punctuation variants of recorded labels and API IDs. Multiple matching tariffs are returned as choices; costing still requires an exact ID.
  - after: Use first when you know a model name or provider but need exact pricing-offer IDs for pricing or calculations. Search recorded labels and API IDs; case, spacing and punctuation variants are accepted. Multiple tariffs are returned as separate choices. Defaults to current reviewed offers; check costing_supported before calculating. This discovers pricing offers, not model capability recommendations.
- 2026-09-27 `list_providers` added
  - Summarize catalogue providers, distinct API model identities, tariff counts and current supported input/output rate ranges in USD per million tokens. Ranges are informational, not workload estimates or capability rankings.
- 2026-09-27 `find_cheapest_models` added
  - Rank current reviewed offers by USD text-token subtotal for the supplied input/output/cache workload. Defaults to standard tariffs. Optional verified input-capacity filter is a pricing-scope limit, not full context size. No model-quality recommendation. Returns exclusion counts; discover exact IDs in results.
- 2026-09-27 `list_models` changed (description)
  - before: Find exact pricing offers and their IDs. Defaults to current reviewed prices; offers may still have unsupported billing modes. No model capability recommendation.
  - after: Find exact pricing offers and their IDs. Defaults to current reviewed prices; offers may still have unsupported billing modes. No model capability recommendation. Search accepts case, spacing and punctuation variants of recorded labels and API IDs. Multiple matching tariffs are returned as choices; costing still requires an exact ID.

Full history: https://api.protogrid.dev/v1/servers/io.github.Lazige%2Fmodelcostcomparison/changes

## Remotes

- https://modelcostcomparison.com/api/v1/mcp (streamable-http, auth none, reachable false, uptime30d 0.96666664)

## Packages

_none_

## Tools (6)

- `calculate_cost`: Use when you have one exact offer ID and token usage and want its USD text-token subtotal. Discover the ID with list_models first. Total input includes cached input; do not add cached tokens twice. Excludes cache writes, storage, search, tool fees and taxes. Requires current reviewed, supported rates; does not invoke a model. Use compare_model_costs for several known offers.
- `compare_model_costs`: Use when you already have 2–20 exact offer IDs and want their USD text-token subtotals for the same usage and pricing snapshot. Equal token counts are a comparison assumption, not equivalent tokenization of the same text. Returns supported results and per-offer exclusions. Excludes cache writes, storage, search, tool fees and taxes; does not rank quality. Use find_cheapest_models to search without a shortlist.
- `find_cheapest_models`: Use when you know your token workload but have not selected offers: rank eligible current reviewed offers by USD text-token subtotal and return their exact IDs. Defaults to standard tariffs. Cheapest means within the eligible catalogue and supplied filters, not best quality or the entire market. Equal token counts do not imply tokenizer equivalence. Excludes cache writes, storage, search, tool fees and taxes; reports exclusion counts. Optional capacity filtering uses reviewed pricing input limits, not full context windows.
- `get_model_pricing`: Use after list_models when you need the rates, tariff identity, sources and freshness of one exact offer, without calculating a workload. Supply the returned model_id. Prices are recorded USD text-token rates; expired or unreviewed rates are informational only. Use calculate_cost for a workload estimate.
- `list_models`: Use first when you know a model name or provider but need exact pricing-offer IDs for pricing or calculations. Search recorded labels and API IDs; case, spacing and punctuation variants are accepted. Multiple tariffs are returned as separate choices. Defaults to current reviewed offers; check costing_supported before calculating. This discovers pricing offers, not model capability recommendations.
- `list_providers`: Use to discover provider IDs and catalogue coverage before filtering model searches. Returns distinct API model counts, offer counts and current supported input/output rate ranges in USD per million tokens. The two rate minima may belong to different offers. For a workload estimate use find_cheapest_models or calculate_cost; ranges are not capability rankings.
