# `io.github.DesMartin01/inferenceindexer-mcp` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/io.github.DesMartin01/inferenceindexer-mcp
- JSON: https://anlyon.dev/api/v1/servers/io.github.DesMartin01/inferenceindexer-mcp
- Version: 0.1.1 (active)
- Publisher: io.github.DesMartin01 (GitHub account)
- Runs: remote (streamable-http), local (pypi)
- Sign-in to list tools: none
- Repository: https://github.com/DesMartin01/inferenceindexer-mcp
- Metadata from the official MCP Registry, synced 2026-10-21T18:15:48.999Z

Title and description, as the publisher wrote them:

```untrusted-server-text
AI inference pricing for agents: live and historical model prices, provider comparison.
```

Scanned 2026-10-21T19:02:38.354Z over streamable-http.

**10 tools: 1 change things and 9 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 1 | ask |
| Only reads | read | 9 | allow |

## Findings

No check matched anything in these tool definitions.


## Changes things (1)

Creates or changes something that can be changed back. Claude Code: ask.

### `recommend_models`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
Recommend the best-value AI models for given constraints, ranked with receipts.

    The core answer endpoint: give it constraints and it returns the top models
    ranked by Cost/IQ (quality-adjusted price, lower is better), each with a
    plain-English 'why', a hot-swap endpoint_config (provider base_url + native
    model id, ready to call), as-of timestamps, and runner-ups.

    Args:
        budget_max_usd_per_m: Max blended price $/M (optional).
        context_min: Minimum context window in tokens (optional).
        modality: 'text' (default), 'vision', or 'any'.
        zdr: Require zero-data-retention providers (optional).
        eu_sovereign: Require EU-sovereign providers (optional).
        reasoning: Filter reasoning models (null = any, true/false).
        aa_min: Hard floor on the AA Intelligence Index score (quality gate).
        use_case: Task profile: support | volume | extraction | summarization | coding | research.
        prefer_callable: Demote models without a verified call recipe below callable ones.
        limit: Max recommendations (1-20, default 5).
    Returns: ranked recommendations with endpoint_config and ranking evidence.
    
```

## Only reads (9)

Looks things up and changes nothing. Claude Code: allow.

### `compare_providers`

- The name "compare_providers" says "compare": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Compare the price of one model across the providers that host it.

    Args:
        model_id: Canonical model id, e.g. 'meta/muse-spark-1.1'.
    Returns: per-provider endpoints with pricing, showing where direct
             provider prices diverge (e.g. from OpenRouter's negotiated rate).
    
```

### `explain_model`

- The name "explain_model" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get everything about one model in a single call: the full picture.

    Returns current pricing (input/output/blended, Cost/IQ, 24h/7d changes),
    a price-history summary with trend, all provider endpoints, the cheapest
    hand-verified endpoint with its native model id (for hot-swapping),
    privacy flags (ZDR/EU availability), and the AA intelligence score.
    Everything is as-of stamped.

    Args:
        model_id: Canonical model id, e.g. 'anthropic/claude-sonnet-5'.
        history_days: Price-history window (default 30, max 365).
    Returns: complete model profile with pricing, endpoints, privacy, quality.
    
```

### `get_composite_history`

- The name "get_composite_history" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get SIT-Composite index history / trend over time.

    Args:
        days: History window in days (1-90, default 30).
    Returns: historical composite index values.
    
```

### `get_composite_latest`

- The name "get_composite_latest" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get the current SIT-Composite index value + per-tier breakdown.

    The SIT-Composite is a usage-weighted mean of the top-50 models by token
    volume, reflecting what developers actually pay for inference.
    
```

### `get_model`

- The name "get_model" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get full detail + current pricing for one model by its id.

    Args:
        model_id: Canonical model id, e.g. 'openai/gpt-5.6' or 'anthropic/claude-sonnet-5'.
    Returns: pricing, tier, SIT score, quality-adjusted price (Cost/IQ).
    
```

### `get_model_history`

- The name "get_model_history" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get HISTORICAL price data / trends for one model.

    This is InferenceIndexer's differentiator: aggregators like OpenRouter
    expose only current price; this returns the price over time (input,
    output, blended $/M), enabling trend analysis.

    Args:
        model_id: Canonical model id, e.g. 'openai/gpt-5.6'.
        days: History window in days (1-365, default 30; plan-dependent).
    Returns: historical price series for the model.
    
```

### `get_provider`

- The name "get_provider" says "get": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Get detail for one provider: models, tier breakdown, price range.

    Args:
        provider_name: Provider name, e.g. 'DeepInfra', 'Novita', 'Venice'.
    Returns: provider detail with model list and pricing.
    
```

### `list_providers`

- The name "list_providers" says "list": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
List all inference providers with model counts and price stats.
```

### `search_models`

- The name "search_models" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
Search and list AI inference models with current pricing.

    Args:
        query: Text search on model id/name (optional).
        tier: Filter by tier: frontier | standard | budget | micro (optional).
        limit: Max results (1-100, default 25).
        sort: Sort key: blended | input | output | sit_score | sit_adjusted_price (default sit_adjusted_price).
    Returns: models with input/output/blended $/M pricing, provider, tier.
    
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `inferenceindexer`:

```json
{
  "permissions": {
    "allow": [
      "mcp__inferenceindexer__explain_model",
      "mcp__inferenceindexer__search_models",
      "mcp__inferenceindexer__get_model",
      "mcp__inferenceindexer__get_model_history",
      "mcp__inferenceindexer__list_providers",
      "mcp__inferenceindexer__get_provider",
      "mcp__inferenceindexer__get_composite_latest",
      "mcp__inferenceindexer__get_composite_history",
      "mcp__inferenceindexer__compare_providers"
    ],
    "ask": [
      "mcp__inferenceindexer__recommend_models"
    ],
    "deny": []
  }
}
```
