We are currently in Staging

Fermi MCP Server

Fermi is Kromatic’s estimation MCP server. Ask it a quantitative question in plain language and it returns a calibrated probability distribution — an interval, a point estimate, the distribution family and its parameters, and the reasoning and assumptions behind them.

Getting started is one HTTP call: POST /api/v1/accounts returns an API key, which you pass as an X-API-Key header (REST) or as an api_key tool argument (MCP). Then point an MCP client at the Streamable HTTP transport at https://fermi.kromatic.com/mcp.

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 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. 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
estimateReturn a calibrated probability distribution for a natural-language question. 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.
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?",
    "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 call still takes as long as the underlying model needs to reason — expect seconds, not milliseconds, and set your client timeout accordingly.

Questions? Reach out via our contact form.

Contact our experts

Kromatic has 56 partners in 16 countries waiting to talk with you.
poster
* Required Fields
Already have an account?
*
*
*
*
*
*
Powered bylogo
Copyright © 2026 Kromatic
We are currently in Staging