io. github. Kromatic-Innovation/ fermi
by Kromatic-Innovation · remote · no sign-in to list tools · v1.0.0 · published by GitHub user Kromatic-Innovation
Calibrated probability distributions from natural-language questions via REST and MCP.
3 tools: 1 do something that can't be undone, 1 change things and 1 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things1Claude Code: ask: see these tools
- Only reads1Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport sse fermi https://fermi.krobar.ai/mcp/sse/Findings
Matches of fixed checks, with the text they matched.
- Infoestimate
The description is 2,261 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...credits, unknown provider, missing disclaimer acknowledgement)."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
3 tools
Can't be undone 1Claude Code: ask
buy_creditsPurchase credits using a saved payment method (off-session).No findings
Why it is in this group
- The description's first verb is "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Purchase credits using a saved payment method (off-session). Requires a prior Stripe Checkout session to have saved a card. Credits are $0.50 each. Use GET /api/v1/billing/pricing to confirm the current price. Args: credits: Number of credits to purchase (minimum 1). api_key: Your Fermi API key from POST /api/v1/accounts. Required. Returns: Dict with credits_purchased, new_balance, and payment_status. Raises: ToolError: if authentication fails, no payment method is on file, or the card is declined.
Changes things 1Claude Code: ask
feedbackSubmit feedback, a feature request, or a bug report to the Fermi team.No findings
Why it is in this group
- The description's first verb is "submit": a word for a change.
Description, as the server wrote it Submit feedback, a feature request, or a bug report to the Fermi team. An email is sent to the team and a copy is sent to the address you provide. Args: feedback_type: One of "feedback", "feature_request", or "bug". message: Your feedback or request (10-5000 characters). Be specific. sender_email: Your email address. A confirmation copy is sent here. sender_name: Your name (optional). api_key: Your Fermi API key (optional). If provided, your account ID is attached to the message for context. Returns: Confirmation with status "sent". Raises: ToolError: if validation fails or email delivery fails.
Only reads 1Claude Code: allow
estimateReturn a calibrated probability distribution for a natural-language question.1 finding
Why it is in this group
- The description's first verb is "return": a word for reading.
Findings
- Info
The description is 2,261 characters long, over the 2,000 this check looks for.
What this check looks forMatched text
description ends: "...credits, unknown provider, missing disclaimer acknowledgement)."
Description, as the server wrote it Return a calibrated probability distribution for a natural-language question. Args: question: The natural-language question (e.g. "What will the price of Bitcoin be in 6 months?"). unit: The unit the answer should be expressed in (e.g. "USD", "people", "meters"). target_horizon: When the estimate applies (e.g. "6 months", "2030", "current"). disclaimer_acknowledged: Must be true. Confirms you understand estimates are probabilistic decision-support only, not financial/medical/legal advice. requested_tier_id: Tier (1=fast sync, 2=grounded sync, 3=deep research async). Default 1. context: Optional extra context to condition the estimate. coverage_probability: Width of the confidence interval (0, 1). Default 0.9 (90% CI). source_inputs: Optional list of structured inputs (files, tables) for the model to consider. Each item needs source_type ("qualitative_text", "spreadsheet", or "structured_file") and either content (text) or structured_data (dict/list). callback_url: Optional webhook URL. When set, the completed or failed result is POSTed here with an HMAC signature, so you don't need to poll for async tiers. api_key: Your Fermi API key from POST /api/v1/accounts. Omit to use the anonymous tier. provider: Optional LLM provider selector ("openai" or "anthropic"). When omitted the server uses its configured default. Tier 1 supports both providers; tiers 2-3 currently accept "openai" only. model: Optional model id for the selected provider. Must match the model configured for (tier_id, provider); omit to accept the default. Returns: EstimateSuccessResponse as a dict: estimation_interval, distribution_family, distribution_parameters, point_estimate, reasoning_summary, assumptions, credits_charged, disclaimer, provider, and model. Raises: ToolError: if the estimate service rejects the request (bad tier, out of credits, unknown provider, missing disclaimer acknowledgement).
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport sse fermi https://fermi.krobar.ai/mcp/sse/Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__fermi__estimate"
],
"ask": [
"mcp__fermi__feedback",
"mcp__fermi__buy_credits"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as fermi. Review it before you use it.
