mcpbeat Sign in
answering

Neumann is answering right now. Last checked 9 min ago. It exposes 11 tools.

Monte Carlo ranges for uncertain plans: project cost, budget, timeline, capacity, NPV/IRR/payback.

The linked repository no longer exists on GitHub — it was deleted or made private.

Uptime history 4 days of history · worst day 99%
4 days agonow
100.0%
Uptime 24h
91 of 91 checks
11
Tools
read from the server
326 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 84

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 29 October 2026. No other catalogue keeps this.

31 Oct a tool changed version2 times that day
31 Oct a tool description was rewritten send_feedback
30 Oct 11 tools changed the parameters they ask for18 times that day buy_credits, check_account_and_credits, check_simulation_model and 8 more
30 Oct 8 tool descriptions were rewritten11 times that day buy_credits, check_account_and_credits, estimate_simulation_size_and_cost and 5 more
30 Oct a tool changed version10 times that day
29 Oct 12 tools appeared check_account_and_credits, check_simulation_model, convert_distribution_to_range and 9 more
29 Oct 10 tool descriptions were rewritten11 times that day buy_credits, estimate, feedback and 7 more
29 Oct 11 tools disappeared describe_distribution, estimate, feedback and 8 more
29 Oct 7 tools changed the parameters they ask for buy_credits, estimate, get_results and 4 more
29 Oct a tool changed version
and 21 more, back to 29 October 2026

Neumann missed one check this week

Everything else answered, so this is steady rather than shaky. We check every 15 minutes, which is how a one-off gets told apart from the start of a pattern, and how you hear about the next one within the hour instead of from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 9 min ago.

run in your terminal
claude mcp add neumann --transport http https://neumann.kromatic.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://neumann.kromatic.com/mcp
~/.codex/config.toml
[mcp_servers.neumann]
url = "https://neumann.kromatic.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "neumann": {
      "url": "https://neumann.kromatic.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "neumann": {
      "type": "http",
      "url": "https://neumann.kromatic.com/mcp"
    }
  }
}

Available tools 11

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

convert
convert_distribution_to_range
Turns a distribution's parameters into the low and high ends of the range that holds a chosen share of outcomes, by default the middle 90%. It also gives the mean, median, mode, standard deviation and any percentiles you ask for. If you give a threshold, it gives the chance of landing below and above it. Use this when you have distribution parameters, from a model or from fermi (a companion forecasting server from Kromatic, the company behind Neumann, whose estimates carry next_steps.simulate.root_node), and want to know what they mean in plain numbers. Its reverse is convert_range_to_distribution, and the range it returns can be passed straight back to it. Values that do not apply, such as a uniform distribution's mode, come back as null with a note explaining why. Cost: free; uses no credits and no free runs.
convert_range_to_distribution
Turns a low-to-high guess, such as "between 80 and 120, 90% sure", into the exact parameters a model input needs. A distribution is the shape of the uncertainty, for example normal (a bell curve), log_normal (skewed and never negative), triangle or uniform. The low and high values are the edges of the range you are that sure of, not hard limits. Use this when you have a rough estimate and need distribution parameters instead of guessing them. Its reverse is convert_distribution_to_range. It returns the distribution type and its parameters, ready to use as a model input's distribution_params. The distribution_type parameter explains which type fits which kind of quantity. Supported types: normal, log_normal, uniform, triangle, beta, gamma, exponential, binomial, discrete_normal, discrete_lognormal, discrete_gamma, constant and bernoulli. Not supported: poisson, categorical, dirichlet, multivariate_normal and constant_array. For beta, give low and high as fractions (2% is 0.02). Cost: free; uses no credits and no free runs.
simulation
check_simulation_model
Checks a model for mistakes before you run it and lists every problem it finds. It looks for loops with no delay, nodes that are not connected, unknown distributions, missing or invalid distribution parameters, and broken formulas. A loop, including an edge from a node to itself, is allowed and is not an error when at least one edge in it has delay 1 or more. Use this when you have built or edited a model and want to fix it without spending a run. To see what a run will cost, use estimate_simulation_size_and_cost instead. It returns is_valid and a list of issues. Each issue gives the rule broken, a severity (error, warning or info, where info is only a note), a message, and the node and edge ids involved. If an edge points at a node that does not exist, you get an error message instead of the list. Cost: free; uses no credits and no free runs. Without an account, a model over 1,000 trials or 20 nodes is rejected, also at no cost.
get_simulation_results
Checks on, and reads, a run you started with run_monte_carlo_simulation, rank_inputs_by_impact or summarize_outcome_scenarios, using its run_id. Use this when a run tool returned status running or queued: it waits up to 30 seconds for the run to finish, then returns its status and percent done, or the finished result, so call it again until status is completed. Use it also to get specific numbers from a finished simulation without running it again (a finished run keeps every node's and edge's statistics for every period): pass nodes (node, edge or metric ids), periods, percentiles such as 0.05 or 0.95, a threshold to get the chance a value is at least or at most some number, or histogram for the distribution's shape. Without those it returns the summary (or the ranking, or the scenarios). A failed run returns its error and is not charged. Only the caller who started the run can read it. Runs started without an account can be read for 24 hours, and only from the same connection, since a caller without an account is recognized by network address and client. Cost: free; uses no credits and no free runs.
account
check_account_and_credits
Shows who Neumann thinks you are and what you can still do: your credit balance if you have an account, or your free runs left today and when they reset if you do not. Use this when you need to know, before or after a run, whether a call will use credits or a free run, how much is left, or whether you are signed in. A bearer credential that is not recognized returns an unauthorized error. It returns whether you are anonymous or an account, your account id and status, credit balance, free runs left today with the reset time and the no-account size limits, the price of one credit in US dollars, and your last 10 credit transactions. To get an account and API key, call POST https://neumann.kromatic.com/api/v1/accounts; setup docs are at https://kromatic.com/mcp/neumann. Cost: free; uses no credits and no free runs.
buy
buy_credits
Buys Neumann credits by charging the payment card already saved on your account. Credits pay for simulations run with an account. Use this when an account is low on credits and the user has agreed to the purchase. If no card is saved yet, it buys nothing and charges nothing. Instead it returns payment_status checkout_required and a checkout_url: the user opens that link in a browser to save a card, then you call this tool again. It returns the credits bought, the new balance, the payment status and, when a card is needed, the checkout_url. Requires an account: send your API key as an Authorization: Bearer header, or sign in with billing permission (the neumann:billing scope). Cost: charges your saved card for each credit, currently $0.50 per credit (check_account_and_credits shows the live price); needs an account.
estimate
estimate_simulation_size_and_cost
Predicts how large a run of a model will be and how many credits it will cost, without running it. Use this before running a large or unfamiliar model, or to check that an account can afford it. It does not look for mistakes; use check_simulation_model for that. It returns the number of trials, time periods, nodes and edges, the estimated peak memory in MB, a complexity score, the size tier (small or large), the credit cost for an account, and a rough run time in seconds for run_monte_carlo_simulation and for rank_inputs_by_impact (which runs the model many times). Runs over about 40 seconds continue in the background and are collected with get_simulation_results. A run is small when trials × nodes × time periods is at most 100,000, and large otherwise. Accounts have no fixed trial or node limit. That cost is what run_monte_carlo_simulation, summarize_outcome_scenarios and rank_inputs_by_impact each charge for this model. A model with mistakes returns an error instead of an estimate. Cost: free; uses no credits and no free runs. Without an account, a model over 1,000 trials or 20 nodes is rejected, also at no cost.
monte
run_monte_carlo_simulation
Runs a Monte Carlo simulation of a model and returns the full range of possible outcomes, not one guessed number. A model is a set of uncertain inputs, the formulas that combine them, and the links between them. The simulation draws random values for every input many times; each draw is a trial, and one call is one run. Use this when you need to know how likely different outcomes are for a plan built on uncertain inputs: a project's total cost or budget (for example from low / most likely / high estimates per line item), a schedule or delivery date, capacity, revenue, or an investment's NPV, IRR or payback. It returns a summary: for each output node (the nodes nothing else depends on, or the ones you list in run_params.output_request.nodes) the mean, the 10th, 50th and 90th percentiles (the value that share of trials fall below), the minimum and maximum in the last time period, and the same per period; plus any metrics you asked for, such as NPV, IRR, payback or the chance of beating a target or budget; and a run_id. Pass that run_id to get_simulation_results for other nodes, periods or percentiles. A run that takes longer than about 40 seconds keeps running in the background: you get status running and a run_id, and get_simulation_results gives you progress and then the result. Cost: without an account, 1 of your 3 free runs per UTC day (models up to 1,000 trials and 20 nodes); with an account, 1 credit for a small run or 5 for a large one, currently $0.50 per credit. A model that is invalid or over the no-account limits is rejected before running and costs nothing. If it fails mid-run: anonymous, the free run is used; account, not charged.
rank
rank_inputs_by_impact
Ranks a model's uncertain inputs by how much each one moves a chosen outcome, and returns the data for a tornado chart. A tornado chart is a bar chart with one horizontal bar per input, sorted with the biggest swing at the top. This is a one-at-a-time (OAT) sensitivity analysis. Every input is held at its median while one input at a time is set to low, middle and high values from its own distribution (by default its 5th, 50th and 95th percentiles). The tool records how the outcome's average changes. Use this when you need to know which assumption matters most, so you know what to research or de-risk first. It returns one entry per input, ranked so rank 1 has the biggest impact. Each entry lists the input values tried, the outcome at each, and an elasticity score. Elasticity means how strongly the outcome reacts: roughly, how many percent the outcome moves when the input moves 1 percent. It returns numbers, not an image. Inputs whose distribution produces a list of values are skipped. It always returns a run_id. It runs the model once per input per value tried, so on a big model it can take minutes: if it is not done in about 40 seconds you get status running, and get_simulation_results gives you progress and then the ranking. Cost: without an account, 1 of your 3 free runs per UTC day for each call, even though the analysis runs the model many times (models up to 1,000 trials and 20 nodes); with an account, 1 credit for a small model or 5 for a large one, currently $0.50 per credit. A model that is invalid or over the no-account limits is rejected before running and costs nothing. If it fails mid-run: anonymous, the free run is used; account, already charged, because this tool charges when the analysis starts.
send
send_feedback
Sends a short report about Neumann 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 Neumann tool returned an error (send it right away), behaved unexpectedly or gave a result that looks wrong; - the user needs something no Neumann tool can do, or an option that is missing; - a description, output or error message was confusing; - a session in which you used Neumann is ending: send one short report even if everything worked. Knowing which tools did the job for which kind of task is useful data, not noise. Do not send one after a routine successful call mid-session. Put several points in one report: a signed-in account may send 5 per hour and 20 per day, and callers without an account share 60 per hour and 300 per day. 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 (inputs or results), secrets or keys, or the conversation transcript; describe the task 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. If you are signed in, your account id is included. No account is needed. It returns status "sent". Cost: free; uses no credits and no free runs.
summarize
summarize_outcome_scenarios
Runs a model once and reports one outcome's worst, median and best values. By default, worst is the lowest value in any trial, median is the middle value, and best is the highest value. Worst always means lowest, so for a cost the worst case is the cheapest one. You can ask for other percentiles instead, such as the 10th and 90th. Use this when you want a short worst, typical and best case story rather than the full distribution. For the full distribution, use run_monte_carlo_simulation. To find which input matters most, use rank_inputs_by_impact. It returns each scenario's outcome value and every input's own value at the same percentile. Those input values are an estimate, not the exact inputs of that trial. It also returns a run_id; a long run comes back as status running, and get_simulation_results gives you progress and then the result. Cost: without an account, 1 of your 3 free runs per UTC day (models up to 1,000 trials and 20 nodes); with an account, 1 credit for a small run or 5 for a large one, currently $0.50 per credit. A model that is invalid or over the no-account limits is rejected before running and costs nothing. If it fails mid-run: anonymous, the free run is used; account, not charged.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

describe_distribution
removed 30 Oct 2026
estimate
removed 30 Oct 2026
feedback
removed 30 Oct 2026
get_results
removed 30 Oct 2026
oat_sensitivity
removed 30 Oct 2026
run_simulation
removed 30 Oct 2026
scenario_analysis
removed 30 Oct 2026
share_result
removed 30 Oct 2026
solve_distribution_parameters
removed 30 Oct 2026
validate_graph
removed 30 Oct 2026
whoami
removed 30 Oct 2026

Endpoints

URLTransportStateLatencyChecked
https://neumann.kromatic.com/mcp streamable-http answering 302 ms 9 min ago

Alternatives to Neumann

same job, measured the same way
Planomy Planner
by demorphed6-lgtm

Retirement planning on your own machine: projections, Monte Carlo, scenarios, budgets, plan edits.

local only
Family Trip Budget
by endlesstravelplans

Family trip cost estimates with a sourced, dated range for every line, from Endless Travel Plans.

1 tools answering
Teamhood
by teamhood

Teamhood project management for matrix organizations: items, dependencies, time, capacity and teams.

answering
Omneum
by cole-h06

Text-blind context control plane for AI agents. Select high-utility context under token budgets.

local only
The2410 Projects
by the2410

Plan custom software with The2410: fit check, budget, timeline, inquiry and consultation booking.

9 tools answering
Epoch
by kyanitelabs

Epoch time estimation MCP server for PERT, COCOMO, Monte Carlo, calibration, cost, and risk.

407 installs/wk local only
Visualping
by webmonitoring

Visualping: monitor web pages for changes, review change timelines, and get alerts.

answering
Pathline Project Planner
by theluckystrike

Project planning tool for critical path calculations.

1 tools answering

Neumann — questions

Answers built from our own checks of this server.

What can Neumann do?
It exposes 11 tools, read directly from the server on our last check. Among them: buy_credits, check_account_and_credits, check_simulation_model, convert_distribution_to_range, convert_range_to_distribution, estimate_simulation_size_and_cost and 5 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Neumann mostly used for?
Its tools cluster around simulation and convert. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Neumann working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 326 ms. The bar chart above shows every period we have measured.
Did Neumann ever remove tools?
Yes. describe_distribution, estimate, feedback, get_results and 7 more are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
Is Neumann still maintained?
The linked repository no longer exists on GitHub — it was deleted or made private. We show this because it changes what you can expect: an unmaintained server may keep answering for months and then stop without warning.
How do I connect Neumann?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Neumann need an API key?
No. Neumann completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 11 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Neumann?
It answers our handshake in 326 ms on average, which is faster than 43% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.