---
title: "Call Estimate Tool"
method: POST
path: "/mcp/tools/estimate"
tags: ["MCP"]
---

# Call Estimate Tool

`POST /mcp/tools/estimate`

## Request

- Base URL: `https://fermi.kromatic.com` (the document declares no server; this is the origin it was published from)
- URL: `https://fermi.kromatic.com/mcp/tools/estimate`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

## Headers

- `Idempotency-Key` string, nullable

## Request body

- EstimateRequest
  - `question` string, required
  - `requested_tier_id` integer, required
  - `unit` string, required
  - `target_horizon` string, required
  - `context` string, nullable
  - `coverage_probability` number
  - `source_inputs` EstimateSourceInput[]
    - `source_type` 'qualitative_text' | 'spreadsheet' | 'structured_file', required
    - `title` string, nullable
    - `content` string, nullable
    - `structured_data` union
      - object
      - object[]
    - `file_name` string, nullable
    - `media_type` string, nullable
    - `provenance` 'user' | 'agent' | 'file_upload'
  - `disclaimer_acknowledged` boolean, required
  - `provider` 'openai' | 'anthropic', nullable
  - `model` string, nullable
  - `callback_url` string, nullable

## Response `200`

Successful Response

- union
  - EstimateSuccessResponse
    - `estimate_id` string, required
    - `request_id` string, required
    - `tier_id` integer, required
    - `created_at` string, date-time, required
    - `estimation_interval` EstimateInterval, required
      - `low` number, required
      - `high` number, required
    - `coverage_probability` number, required
    - `distribution_family` 'normal' | 'log_normal' | 'uniform' | 'constant' | 'beta' | 'triangle' | 'gamma' | 'exponential' | 'poisson', required
    - `distribution_parameters` object, required
    - `point_estimate` number, required
    - `range_low` number, required
    - `range_high` number, required
    - `confidence_level` 'low' | 'medium' | 'high', required
    - `reasoning_summary` string, required
    - `assumptions` string[], required
    - `credits_charged` integer, required
    - `disclaimer` string, required
    - `provider` 'openai' | 'anthropic', required
    - `model` string, required
    - `decomposition_suggestions` DecompositionSuggestion[], nullable
      - `sub_question` string, required
      - `reasoning` string, required
    - `research_sources` ResearchSource[], nullable
      - `url` string, nullable
      - `title` string, nullable
      - `snippet` string, nullable
      - `relevance_note` string, nullable
    - `verification_summary` string, nullable
    - `verification_flags` string[], nullable
  - EstimatePendingResponse: Returned for async tier requests (202) and for pending poll responses.
    - `estimate_id` string, required
    - `request_id` string, required
    - `status` 'pending', required
    - `credits_charged` integer, required
    - `provider` 'openai' | 'anthropic', required
    - `model` string, required
    - `retry_after_seconds` integer, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/kromatic/apis/fermi.md) · [All operations](https://skmtc.dev/kromatic/apis/fermi/llms.txt) · [OpenAPI document](https://skmtc.dev/kromatic/apis/fermi/revisions/75a37f8067c2?raw)
