Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.Kromatic-Innovation/fermi

REMOTE · FERMI.KROMATIC.COM

Calibrated probability ranges for forecasting questions, with the assumptions behind them.

+5 this week 64 Trust /100

Last scanned (15 minutes ago)

Scores higher than 45% of remote servers

Reachable. Last reached 5 Nov 2026.

Category AI and Machine Learning

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability74
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3641 tokens (~455/item across 8 items; 6 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability check failed: schema churn in the 8 days we've observed: 3 tool removals, 0 breaking changes, 0 auth/transport breaks, 5 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 31 Oct 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “send_feedback” rewrote its description, which is the text the model reads security
    • Schema quality: 387 → 455 ▼ functional
    • “send_feedback” added an optional parameter “what_happened” cosmetic
    • “send_feedback” added an optional parameter “user_goal” cosmetic
    • “send_feedback” added an optional parameter “tool_name” cosmetic
    • “send_feedback” added an optional parameter “suggestion” cosmetic
    • “send_feedback” added an optional parameter “impact” cosmetic
    • “send_feedback” added an optional parameter “expected” cosmetic
    • “send_feedback” added an optional parameter “estimate_id” cosmetic
    • “send_feedback” added an optional parameter “error_text” cosmetic
    • “send_feedback” reworded the description of “sender_name” cosmetic
    • “send_feedback” reworded the description of “sender_email” cosmetic
    • “send_feedback” reworded the description of “feedback_type” cosmetic
    • “send_feedback” reworded the description of “message” cosmetic
    • “send_feedback” made “sender_email” optional cosmetic
    • “send_feedback” made “feedback_type” optional cosmetic
  • 30 Oct 26 +5
    • Stability: 0.03 → fail ▼ security
    • Tool “whoami” was removed ▼ security
    • Tool “get_estimate” was removed ▼ security
    • Tool “feedback” was removed ▼ security
    • Tool “estimate” was removed ▼ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “buy_credits” rewrote its description, which is the text the model reads security
    • Tool coverage: 0% → 100% ▲ functional
    • Schema quality: 437 → 387 ▲ functional
    • First check of Schema quality: 100 functional
    • Destructive annotations: pass → 100 functional
    • New prompt “estimate_then_simulate” functional
    • New resource “tiers” functional
    • New resource “neumann-bridge” functional
    • New tool “send_feedback” functional
    • New tool “list_my_estimates” functional
    • New tool “get_estimate_result” functional
    • New tool “estimate_quantity_or_probability” functional
    • New tool “check_account_and_credits” functional
    • “buy_credits” reworded the description of “credits” cosmetic
    • “buy_credits” reworded the description of “api_key” cosmetic
    • “buy_credits” made “api_key” optional cosmetic
    • Tool “buy_credits” changed its title: Buy Fermi credits → Buy Fermi credits with your saved card cosmetic
  • 29 Oct 26 0
    • Tool “buy_credits” rewrote its description, which is the text the model reads security
    • Tool “estimate” rewrote its description, which is the text the model reads security
    • Tool “feedback” rewrote its description, which is the text the model reads security
    • Tool “get_estimate” rewrote its description, which is the text the model reads security
    • Schema quality: 371 → 437 ▼ functional
    • Stability: unverified → 0.03 ▲ functional
    • Schema quality: good → excellent functional
    • New tool “whoami” functional
    • Tool “buy_credits” changed its title: Buy credits → Buy Fermi credits cosmetic
    • Tool “estimate” changed its title: Estimate → Create new estimate cosmetic
    • Tool “feedback” changed its title: Send feedback → Send feedback to the Fermi team cosmetic
    • Tool “get_estimate” changed its title: Get estimate → Read estimate cosmetic
  • 28 Oct 26 59

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://fermi.kromatic.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=fermi.kromatic.com CN=YE1,O=Let's Encrypt,C=US 12 Sept 2026 11 Dec 2026 ECDSA 256 ECDSA-SHA384 696951e1d89fe20de86eccc2160ee23243a
SANs: fermi.kromatic.com
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of fermi.kromatic.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
kromatic.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://fermi.kromatic.com/mcp Verified 200
http (plaintext) http://fermi.kromatic.com/mcp HTTPS enforced 301 https://fermi.kromatic.com/mcp
MCP tools · 6 exposed · ~3,146 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
buy_credits ~252

Buys Fermi credits by charging the card saved on your account, and returns the new balance. Use this when the user explicitly asks to buy or top up Fermi credits. Returns credits_purchased, new_balance and payment_status. If no card is saved yet, nothing is charged: it returns a checkout_url for the user to save a card in a browser, then call this again. Credits pay for estimates on an account (see estimate_quantity_or_probability for tier costs). To see the balance first, use check_account_and_credits. To get an account, call POST https://fermi.kromatic.com/api/v1/accounts (it returns an api_key once; a new account starts with 3 credits), or sign in through your connector. If you cannot make HTTP requests, ask the user to do one of these. Cost: real money -- charges the saved card $0.50 per credit. Needs an account.

NameTypeReqDescription
api_key––Your Fermi API key. Omit it if your connector is signed in with permission to buy credits.
creditsintegeryesHow many credits to buy, at least 1. Each is charged at the price in this tool's cost line.
NameTypeReqDescription
billingobject–Who this call was billed to and what is left. Present on every Fermi result.
checkout_urlstring–No card saved: open this in a browser to save one, then call buy_credits again.
credits_addedinteger–0 when a checkout_url is returned instead.
credits_purchasedinteger–Credits bought by this call.
new_balanceinteger–Credit balance after it.
payment_statusstring–Card payment status.

No examples provided.

check_account_and_credits ~215

Reports who you are to Fermi and what you can spend: whether you are using Fermi without an account or with one, your credit balance or free estimates left today, and what each tier costs. Use this before a paid estimate to check the price or balance, after one to see what is left, or when the user asks about credits, free estimates or pricing. Returns billing (principal "anonymous" or "account", how you authenticated, credit_balance, anonymous_estimates_remaining_today and anonymous_quota_resets_at), tiers (credit_cost, delivery "sync" or "async" and whether it is available without an account, per tier), price_per_credit_usd, and recent_transactions (the account's last 10 credit movements; null without an account). Cost: free. Checking never spends credits and never uses up a free estimate.

NameTypeReqDescription
api_key––Your Fermi API key. Omit it to ask about your connector's signed-in account, or about your free allowance without an account.
NameTypeReqDescription
billingobject–Who this call was billed to and what is left. Present on every Fermi result.
price_per_credit_usdnumber–What one credit costs to buy, in US dollars.
recent_transactionsarray|null–The account's last 10 credit movements (entry_type, amount, request_id, created_at); null without an account.
tiersarray–Each tier's price and availability.

No examples provided.

estimate_quantity_or_probability ~1,420

Estimates an uncertain number, or the probability that an event happens by a date, from a question in plain language, and returns a calibrated range and probability distribution. Use this when the user asks how much, how many, how big or how long something is or will be (market size, cost, count, price, duration), or asks a yes/no question about the future: "will X happen by <date>?", "what are the odds / chances / likelihood of X?". For a yes/no question, set unit to "probability (0-1)": point_estimate is then Fermi's best probability that the event happens (0.15 means 15%), and estimation_interval is how far that probability could plausibly be off (e.g. 0.05 to 0.35); the beta distribution describes the same uncertainty. There is no separate yes/no verdict. Returns point_estimate, estimation_interval (low/high: the range that should contain the true value, or for a yes/no question the true probability, with probability coverage_probability, default 90%), the fitted distribution (distribution_family and distribution_parameters), reasoning_summary, assumptions, estimate_id, and next_steps.simulate. To combine several estimates into a model with a time axis and get percentiles, NPV or payback out, feed them into neumann (https://neumann.kromatic.com) as simulation root nodes -- every successful estimate carries a next_steps.simulate block with the arguments already prepared. (neumann is Kromatic's companion Monte Carlo simulation server; fermi itself does not simulate.) The neumann URLs above are production. A non-production fermi still emits next_steps.simulate against its own configured neumann base URL, so read that block rather than these links whenever you are not on the production host. Tiers: 1 = fast, answers in the same call, no web search, and the only tier available without an account. 2 = grounded, answers in the same call, searches the web. 3 = deep research, runs in the background: the call returns status "pending" and an estimate_id; read the resul…

NameTypeReqDescription
api_key––Your Fermi API key. Omit it if your connector is already signed in, or to use Fermi without an account. Get one with POST https://fermi.kromatic.com/api/v1/accounts (returned once).
callback_url––Optional URL that receives the finished or failed result as a signed POST, so a server need not keep asking. Chat clients usually cannot receive it: read the result with get_estimate_result instead.
context––Anything the estimate should take into account. For a question about the future always include today's date ("Today is 2026-10-30."), plus recent facts or news, and the user's own numbers or definiti…
coverage_probabilitynumber–How likely the returned interval is to contain the true value, strictly between 0 and 1. Default 0.9, a 90% interval. Use 0.95 for a "95% interval", 0.8 for an "80% range".
disclaimer_acknowledgedbooleanyesMust be true. Confirms the result is a probabilistic estimate for decision support, not financial, medical or legal advice. A call with false is refused.
model––Optional model id for that provider. It must be the model configured for that tier and provider, so normally omit it.
provider––Optional AI provider for the estimate, "openai" or "anthropic". Omit to use the default. Tiers 2 and 3 accept only "openai".
questionstringyesThe question in plain language, one quantity or one event per call. Quantity: "How many hotel rooms will Lisbon have in 2030?". Yes/no event: "Will any EU country make a four-day work week law before…
requested_tier_idinteger–1 = fast: answers in the same call, no web search; the only tier without an account. 2 = grounded: answers in the same call, searches the web; account only. 3 = deep research: runs in the background…
source_inputs––Optional documents or data for the estimate to use. Each item has source_type ("qualitative_text", "spreadsheet" or "structured_file") and either content (text) or structured_data (an object, or a li…
target_horizonstringyesWhen the answer applies. Prefer an absolute date or year: "by 2027-06-30", "2030", "end of 2028", or "current" for a value today. Turn relative phrases like "in the next 12 months" into a date, becau…
unitstringyesUnit of the answer, e.g. "USD", "people", "hotel rooms", "days". For a yes/no event question use "probability (0-1)": the answer is then a probability between 0 and 1 (0.15 = 15%).
NameTypeReqDescription
assumptionsarray–The assumptions the estimate rests on.
billingobject–Who this call was billed to and what is left. Present on every Fermi result.
confidence_levelstring–Set only from coverage_probability: "high" for 0.95 or more, "medium" for 0.9 up to 0.95, "low" below 0.9. It is not a judgement of the estimate's quality.
coverage_probabilitynumber–Chance the interval contains the true value (0.9 = 90%).
created_atstring–When it was made (ISO 8601).
credits_chargedinteger–Credits this estimate cost (0 without an account).
credits_refundedinteger|null–When failed: credits given back.
decomposition_suggestionsarray|null–Sub-questions (sub_question, reasoning) worth estimating separately to sharpen this one. Each would be a new estimate call at the usual cost.
disclaimerstring–Not financial advice notice.
distribution_familystring–Shape of the fitted probability distribution: normal, log_normal (positive and right-skewed), uniform, constant, beta (values between 0 and 1, used for probabilities and rates), triangle, gamma, expo…
distribution_parametersobject–Parameters of that distribution by name, e.g. alpha and beta for beta, mu and sigma for log_normal.
error_detailstring|null–When failed: what went wrong.
estimate_idstring–Id of this estimate, for get_estimate_result and list_my_estimates.
estimation_intervalobject–The range that should contain the true value with probability coverage_probability. For a probability question, both ends are probabilities between 0 and 1.
modelstring–Model that produced it.
next_stepsobject|null–Ready-made input for neumann, Kromatic's Monte Carlo simulation server. simulate.root_node (distribution_type and distribution_params) can be added to a neumann model as one uncertain input; when the…
point_estimatenumber–The single best value. For a yes/no question asked with unit "probability (0-1)", this is the probability that the event happens (0.15 = 15%).
providerstring–AI provider that produced it.
range_highnumber–Same as estimation_interval.high.
range_lownumber–Same as estimation_interval.low.
reasoning_summarystring–How the estimate was reached, in a few sentences.
request_idstring–Id of this request, for support.
research_sourcesarray|null–Tiers 2 and 3: web sources used (url, title, snippet, relevance_note).
retry_after_secondsinteger|null–When pending: seconds to wait before reading it again.
statusstring–Only on results that are not finished yet or that come from get_estimate_result: "pending" (tier 3 still running), "completed" or "failed".
tier_idinteger–The tier that produced it (1, 2 or 3).
verification_flagsarray|null–Tier 3: issues the second check raised.
verification_summarystring|null–Tier 3: what a second check found.

No examples provided.

get_estimate_result ~265

Reads one estimate you already requested, by its estimate_id. Use this when a tier-3 (deep research) estimate came back with status "pending" and you want to know whether it is finished, or to show an earlier estimate again. Tier-3 results are only delivered this way (or to a callback_url, which chat clients usually cannot receive). Returns status: "pending" (with retry_after_seconds: how long to wait before asking again), "completed" (with the same fields a finished estimate returns), or "failed" (with error_detail; any credits taken are refunded). You can only read estimates made with the same credentials. Without an account you are recognised by IP address and browser or client, so a different network or client may not find the estimate. To find an id you lost, use list_my_estimates. Not for: making a new estimate. Cost: free. Reading a result never spends anything.

NameTypeReqDescription
api_key––The same api_key used when the estimate was requested (omit it if none was used, or if your connector is signed in). Estimates are visible only to the credentials that made them.
estimate_idstringyesThe estimate_id returned by estimate_quantity_or_probability or listed by list_my_estimates.
NameTypeReqDescription
assumptionsarray|null–The assumptions the estimate rests on.
billingobject–Who this call was billed to and what is left. Present on every Fermi result.
confidence_levelstring|null–Set only from coverage_probability: "high" for 0.95 or more, "medium" for 0.9 up to 0.95, "low" below 0.9. It is not a judgement of the estimate's quality.
coverage_probabilitynumber|null–Chance the interval contains the true value (0.9 = 90%).
created_atstring|null–When it was made (ISO 8601).
credits_chargedinteger|null–Credits this estimate cost (0 without an account).
credits_refundedinteger|null–When failed: credits given back.
decomposition_suggestionsarray|null–Sub-questions (sub_question, reasoning) worth estimating separately to sharpen this one. Each would be a new estimate call at the usual cost.
disclaimerstring|null–Not financial advice notice.
distribution_familystring|null–Shape of the fitted probability distribution: normal, log_normal (positive and right-skewed), uniform, constant, beta (values between 0 and 1, used for probabilities and rates), triangle, gamma, expo…
distribution_parametersobject|null–Parameters of that distribution by name, e.g. alpha and beta for beta, mu and sigma for log_normal.
error_detailstring|null–When failed: what went wrong.
estimate_idstring|null–Id of this estimate, for get_estimate_result and list_my_estimates.
estimation_intervalobject|null–The range that should contain the true value with probability coverage_probability. For a probability question, both ends are probabilities between 0 and 1.
modelstring|null–Model that produced it.
next_stepsobject|null–Ready-made input for neumann, Kromatic's Monte Carlo simulation server. simulate.root_node (distribution_type and distribution_params) can be added to a neumann model as one uncertain input; when the…
point_estimatenumber|null–The single best value. For a yes/no question asked with unit "probability (0-1)", this is the probability that the event happens (0.15 = 15%).
providerstring|null–AI provider that produced it.
range_highnumber|null–Same as estimation_interval.high.
range_lownumber|null–Same as estimation_interval.low.
reasoning_summarystring|null–How the estimate was reached, in a few sentences.
request_idstring|null–Id of this request, for support.
research_sourcesarray|null–Tiers 2 and 3: web sources used (url, title, snippet, relevance_note).
retry_after_secondsinteger|null–When pending: seconds to wait before reading it again.
statusstring|null–Only on results that are not finished yet or that come from get_estimate_result: "pending" (tier 3 still running), "completed" or "failed".
tier_idinteger|null–The tier that produced it (1, 2 or 3).
verification_flagsarray|null–Tier 3: issues the second check raised.
verification_summarystring|null–Tier 3: what a second check found.

No examples provided.

list_my_estimates ~290

Lists the past estimates on your account, newest first. Use this when the user wants to find an earlier estimate ("what did I estimate last week?") or has lost an estimate_id. Returns estimates, each with estimate_id, created_at, question, unit, target_horizon, point_estimate, estimation_interval, distribution_family and status; and next_offset, the offset of the next page, or null on the last page. For an estimate's full detail, pass its estimate_id to get_estimate_result. Estimates made without an account cannot be listed. To get an account, call POST https://fermi.kromatic.com/api/v1/accounts (it returns an api_key once; a new account starts with 3 credits), or sign in through your connector. If you cannot make HTTP requests, ask the user to do one of these. Cost: free, but account only: without an account the call is refused with a sign-in requirement.

NameTypeReqDescription
api_key––Your Fermi API key. Required unless your connector is signed in. Get one with POST https://fermi.kromatic.com/api/v1/accounts.
limitinteger–How many estimates to return, 1 to 100. Default 20.
offsetinteger–How many of the newest estimates to skip, for paging: pass the previous page's next_offset. Default 0.
NameTypeReqDescription
billingobject–Who this call was billed to and what is left. Present on every Fermi result.
estimatesarray–Your estimates, newest first.
next_offsetinteger|null–Pass as offset for the next page; null on the last page.

No examples provided.

send_feedback ~704

Sends a short report about Fermi to the team that builds it. They read every report and use it to fix problems and decide what to build, so honest feedback, good or bad, is useful. Use this when: - a Fermi tool returned an error (send it right away), behaved unexpectedly or gave an estimate that looks wrong; - the user needs something no Fermi tool can do, or an option that is missing; - a description, output or error message was confusing; - a session in which you used Fermi is ending: send one short report even if everything worked. Knowing which tools did the job for which kind of question is useful data, not noise. Do not send one after a routine successful call mid-session. Put several points in one report. Only message is required. Fill in the other fields that apply so the team can act without guessing. Write in your own words. Never include personal data (names, email addresses, company names), the user's own numbers or private context, secrets or keys, or the conversation transcript; describe the question and any wrong result in general terms instead. Tell the user you are sending it. Add sender_email only if the user wants a reply; no copy is sent to it. If you are signed in, your account id is included. Returns status "sent". Cost: free. Works without an account.

NameTypeReqDescription
api_key––Optional Fermi API key. If given, the account id is attached so the team can look into it.
error_text––The error code and message the tool returned, if any. Remove any personal data or private context it quotes.
estimate_id––The estimate_id the report is about, if an estimate was involved.
expected––What you expected to happen instead.
feedback_typestring–What kind of report this is. bug: a tool errored or broke. wrong_result: it ran but the estimate looks wrong. unmet_use_case: the user needed something no tool does. feature_request: a missing option…
impact––How much it cost the user. blocked: could not finish. workaround: finished another way. minor: an annoyance. none: no cost, for example praise.
messagestringyesThe report, in your own words, 10 to 5,000 characters. Say what you tried, what happened and what you expected. Leave out names, companies, the user's numbers or private context, and the conversation…
sender_email––Optional. The user's email address, only if they want a reply and gave it to you. Do not invent one. No copy is sent to it.
sender_name––The user's name. Optional; only with sender_email.
suggestion––What would have helped: a fix, a new feature or clearer wording.
tool_name––The Fermi tool the report is about, for example estimate_quantity_or_probability.
user_goal––What the user was trying to do, as a general task in a few words, for example "forecast a market size". No names, company names or figures.
what_happened––What actually happened, in general terms, without the user's numbers.
NameTypeReqDescription
billingobject–Who this call was billed to and what is left. Present on every Fermi result.
messagestring–Confirmation text, including whether the team can reply.
statusstring–"sent".

No examples provided.

Install

How do I install the io.github.Kromatic-Innovation/fermi MCP server?

io.github.Kromatic-Innovation/fermi is a hosted endpoint at https://fermi.kromatic.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · fermi.kromatic.com

# add to Claude Code
claude mcp add --transport http kromatic-innovation-fermi 'https://fermi.kromatic.com/mcp'
Common questions

What is the io.github.Kromatic-Innovation/fermi MCP server?

io.github.Kromatic-Innovation/fermi is an MCP server listed in the public MCP registry as io.github.Kromatic-Innovation/fermi. Calibrated probability ranges for forecasting questions, with the assumptions behind them. This page covers its hosted endpoint (https://fermi.kromatic.com/mcp).

Is the io.github.Kromatic-Innovation/fermi MCP server safe to use?

io.github.Kromatic-Innovation/fermi scores 64 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.Kromatic-Innovation/fermi MCP server expose?

io.github.Kromatic-Innovation/fermi exposes 6 tools: estimate_quantity_or_probability, get_estimate_result, list_my_estimates, send_feedback, buy_credits, check_account_and_credits. Their descriptions and schemas cost roughly 3,146 tokens of context every time the server is loaded.

Does the io.github.Kromatic-Innovation/fermi MCP server require authentication?

No. We connected to io.github.Kromatic-Innovation/fermi without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the io.github.Kromatic-Innovation/fermi MCP server still maintained?

io.github.Kromatic-Innovation/fermi is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.