Fermi: calibrated probability estimates in your AI chat

Fermi turns a plain-language question into a calibrated probability distribution — an interval, a point estimate, and the reasoning behind it. It's built for founders and operators sizing an unknown number, right inside the AI chat assistant they already use.

Free anonymous tier: 3 estimates per UTC day, no sign-up needed — or create an account for 3 free credits.

Connects at https://fermi.kromatic.com/mcp. Questions? [email protected]. Privacy · Terms

  1. Pick your assistant below and open its MCP connector settings. No sign-up needed to start.
  2. Add the server URL: https://fermi.kromatic.com/mcp
  3. Ask your first question — try the prompt below.
  1. Open Claude.ai and go to Customize → Connectors, then choose "+ Add" → "Add custom connector".
  2. Name it "Fermi" and paste this server URL: https://fermi.kromatic.com/mcp
  3. Click Add, then turn it on in any chat from "+" → Connectors. On Team or Enterprise, an Owner adds it first under Organization settings → Connectors.
https://fermi.kromatic.com/mcp
Please add an MCP server named "fermi" at https://fermi.kromatic.com/mcp using the streamable HTTP transport, then confirm it's connected.
What is the probability a seed-stage B2B SaaS startup reaches $1M ARR within 24 months? Give me a 90% interval.
Related pages:
  • The Kromatic MCP estate — every public Kromatic MCP server
  • Neumann — the companion Monte Carlo simulation server, with its own separate authentication

Fermi serves its own machine-readable discovery documents — server.json, /.well-known/mcp.json, llms.txt and agents.md — from https://fermi.kromatic.com. They are the canonical source for machine clients; this page is the human-readable version.

What Fermi is for

Fermi turns a natural-language question into a quantitative estimate with an explicit uncertainty range, so an agent can reason about a number instead of inventing one. Use it when you need a defensible order-of-magnitude answer — market sizes, adoption rates, cost or duration ranges — together with the assumptions that produced it.

Fermi estimates a distribution, not a fact. It is not a lookup service for values that can simply be measured, and it does not replace your own judgement about whether the framing of a question is sound. Every estimate is returned with a disclaimer, and you must acknowledge it on the request.

MCP endpoint

MCP-native clients connect to the Streamable HTTP transport at:

https://fermi.kromatic.com/mcp

Two other transports are available for clients that need them: a Server-Sent Events transport at https://fermi.kromatic.com/mcp/sse/ (messages are posted to https://fermi.kromatic.com/mcp/sse/messages/), and a plain HTTP mirror of the tool surface at https://fermi.kromatic.com/mcp/tools for listing and https://fermi.kromatic.com/mcp/tools/estimate_quantity_or_probability for calling. Prefer Streamable HTTP unless your client only speaks SSE.

Authentication — accounts and API keys

Fermi authenticates with an account API key. Create an account with a single unauthenticated POST — no body, no browser, no human approval:

curl -X POST https://fermi.kromatic.com/api/v1/accounts

The 201 response carries account_id, api_key and created_at. The key is shown once — Fermi stores only a hash of it — so save it when you receive it.

Pass the API key in the right place. An account API key goes in the X-API-Key header on REST calls, or as the api_key argument on an MCP tool call. Do not put a raw API key in Authorization: Bearer — that header is reserved for opaque tokens, and a raw key sent there is rejected with a 401.

Opaque bearer tokens

The Streamable HTTP transport also accepts opaque bearer tokens prefixed fmi_oat_ (access) or fmi_pat_ (personal access), minted by POST /api/v1/tokens and shown in plaintext exactly once. Token minting is gated, so ask us via the contact form if your integration needs one; the API-key path above is the supported route for most agents.

Anonymous access

Sending no credentials at all is allowed for a small trial allowance, rate-limited per client — see the free tier above. It exists so you can try one call before signing up, not as a way to run an integration — create an account for anything beyond a first look.

Available tools

ToolDescription
estimate_quantity_or_probabilityReturn a calibrated probability distribution for a natural-language question — a quantity (“how many”, “how much”) or the probability of a yes/no event (set unit to "probability (0-1)"). The model is not told today's date, so pass it in context. Takes the question, the unit the answer should be expressed in, a target_horizon, and disclaimer_acknowledged: true; optionally a requested_tier_id, free-text context, a coverage_probability (default 0.9) and source_inputs.
get_estimate_resultFetch a previous estimate by its estimate_id, for example to poll a slow tier-3 result. Free.
list_my_estimatesList your past estimates, newest first, to recover an estimate_id. Needs an account.
check_account_and_creditsCheck your account, credits and how many free anonymous estimates are left today.
send_feedbackSend feedback, a feature request or a bug report to the Fermi team. Takes a feedback_type, a message and a sender_email.
buy_creditsBuy additional credits off-session with a payment method already saved on the account. Takes the number of credits and your api_key.

The live tool descriptors, including the full argument schemas, are served by Fermi itself at https://fermi.kromatic.com/mcp/tools. Treat that endpoint as authoritative if it ever disagrees with this table.

Worked example

The same estimate over the REST surface, which is the easiest way to see the response shape before wiring up an MCP client:

curl -X POST https://fermi.kromatic.com/api/v1/estimates \
  -H "X-API-Key: <your api_key>" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "question": "What will the price of Bitcoin be in 6 months?",
    "context": "Today is 2026-10-30.",
    "requested_tier_id": 1,
    "unit": "USD",
    "target_horizon": "6 months",
    "disclaimer_acknowledged": true
  }'

The response carries the estimation_interval (its low and high) at the requested coverage_probability, a point_estimate, the distribution_family and its distribution_parameters, a reasoning_summary, the list of assumptions, and the credits_charged for the call.

Idempotency-Key is required on POST /api/v1/estimates. Reusing the same key returns the original estimate instead of spending credits twice on a retry.

Connecting an MCP client

Any MCP client that can reach a Streamable HTTP transport works: point it at https://fermi.kromatic.com/mcp and pass your key as the api_key argument on each tool call. On the SSE transport there are no per-call headers at all, so the api_key argument is the only way to authenticate there.

Credits and access

Fermi is a paid, per-credit product. A new account starts with a small grant of free credits so you can try it immediately, and each estimate spends credits according to the tier you request — a deeper tier costs more than a quick one. A Kromatic membership does not include Fermi access or a discount; the two are priced separately.

The current price per credit is published by the service itself at https://fermi.kromatic.com/api/v1/billing/pricing, so it is always the live number rather than a figure copied onto this page. Once your starter credits run out you can buy more against a saved payment method, or reach us through the contact form to talk about a higher-volume arrangement.

Availability

Fermi runs warm: at least one machine stays up, so requests are served without a cold start. An estimate_quantity_or_probability call still takes as long as the underlying model needs to reason — expect seconds, not milliseconds, and set your client timeout accordingly.

Powered bylogo
Copyright © 2026 Kromatic