{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_rz647u99afzp","handle":"neumann","url":"https://wellknown.network/agents/neumann","links":{"self":"https://wellknown.network/agents/neumann/record.json","html":"https://wellknown.network/agents/neumann","markdown":"https://wellknown.network/agents/neumann/record.md","api":"https://wellknown.network/api/v1/agents/neumann","status":"https://wellknown.network/api/v1/agents/neumann/status","claim":"https://wellknown.network/agents/neumann/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/neumann/claim.json","badge":"https://wellknown.network/agents/neumann/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/neumann/history","tools":"https://wellknown.network/api/v1/agents/neumann/tools"},"ard":{"identifier":"urn:air:neumann.kromatic.com:server:neumann","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"neumann","summary":"Turns a guessed number into a sampled distribution — percentiles, NPV/IRR/payback, sensitivity.","description":"Turns a guessed number into a sampled distribution — percentiles, NPV/IRR/payback, sensitivity.","publisher":{"name":"Kromatic-Innovation","url":null},"homepage":null,"repository":"https://github.com/Kromatic-Innovation/neumann","version":"0.1.5","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://neumann.kromatic.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-28T14:57:23.931618Z","publishedAt":"2026-10-28T14:57:23.931618Z","registryName":"io.github.Kromatic-Innovation/neumann"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":1,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":0.977,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.525,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.51,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":0.51,"provenance":"derived"}],"categories":["analytics","commerce","content","documents"],"language":"pt"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-30T03:24:23.275Z","lastProbedAt":"2026-10-30T03:24:23.275Z","statusComputedAt":"2026-10-30T03:26:39.751Z","reliability30d":{"probes":3,"successRate":1,"p50Ms":129,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":3,"ok":3,"authBoundaryOk":0,"serviceOk":3,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-30T03:24:23.275Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":106,"error":null,"detail":{"tools":[{"name":"run_monte_carlo_simulation","description":"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 form"},{"name":"rank_inputs_by_impact","description":"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 "},{"name":"summarize_outcome_scenarios","description":"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 b"},{"name":"check_simulation_model","description":"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 distribu"},{"name":"estimate_simulation_size_and_cost","description":"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 ch"},{"name":"convert_range_to_distribution","description":"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"},{"name":"convert_distribution_to_range","description":"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 me"},{"name":"get_simulation_results","description":"Gets the saved status and summary of a simulation you already ran, using its run_id. Use this when you need an earlier result again, for example in a later turn"},{"name":"check_account_and_credits","description":"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 "},{"name":"send_feedback","description":"Emails your feedback, feature request or bug report to the Neumann team, with a copy to the email address you give. Use this when something in Neumann is wrong,"},{"name":"buy_credits","description":"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 lo"}],"toolCount":11,"toolsHash":"b3604dacb65c0a95b3b8c8c6692c17b36d63be7e25496f63835b5db48f0490a5","serverName":"neumann","capabilities":["experimental","tools"],"serverVersion":"0.2.10","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T20:26:34.040Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":192,"error":null,"detail":{"tools":[{"name":"run_simulation","description":"Runs a Monte Carlo simulation over a graph of probabilistic root and calculated nodes, returning the full output distribution instead of one guessed number. Use"},{"name":"oat_sensitivity","description":"Runs a one-at-a-time tornado sensitivity analysis: sweeps each root node over a set of quantiles (others held at baseline) and measures how the target node resp"},{"name":"scenario_analysis","description":"Runs a simulation once and summarises a target node's worst/median/best outcomes (any percentiles), each paired with a best-effort driving input per root node. "},{"name":"validate_graph","description":"Checks a graph for structural problems (cycles, dangling edges, unknown distributions, missing refs) before you run it, returning a list of issues by rule and s"},{"name":"estimate","description":"Pre-flight-sizes a graph without running it: estimated peak memory, engine complexity, which tier (small/large) it would run as, and the credit cost. Use this w"},{"name":"solve_distribution_parameters","description":"Converts a human-style estimate (a min/max range at a stated confidence, or a most-likely value) into the distribution_params a root node needs. Use this when y"},{"name":"describe_distribution","description":"Converts distribution_params back into plain numbers: mean, median, std, mode, requested quantiles, a central interval, and (with a threshold) the probability a"},{"name":"get_results","description":"Fetches the status and, once available, the summarised result for a previously-submitted run by its run_id. Results are readable only by the caller who created "},{"name":"feedback","description":"Sends feedback, a feature request, or a bug report straight to the Neumann team, CC'ing your sender_email so you keep a copy. Use this when something about the "},{"name":"buy_credits","description":"Purchases credits using a payment method already saved from a prior Stripe Checkout session. Use this when an authenticated account is running low on credits an"},{"name":"share_result","description":"Creates (or fetches the existing) public share link for a PERSISTED run from the stored-graph flow, renderable as HTML/JSON/SVG. Use this when you want to hand "},{"name":"whoami","description":"Reports who you are to Neumann and what you may still do: anonymous or an account, the account id and credit balance, or the free anonymous runs left in the cur"}],"toolCount":12,"toolsHash":"072bc37f8b480ed034a5683b0034ef3395d78648c62fe353ab9153799142250d","serverName":"neumann","capabilities":["experimental","tools"],"serverVersion":"0.2.6","protocolVersion":"2025-06-18"}},{"at":"2026-10-29T12:25:00.616Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":111,"error":null,"detail":{"tools":[{"name":"run_simulation","description":"Runs a Monte Carlo simulation over a graph of probabilistic root and calculated nodes, returning the full output distribution instead of one guessed number. Use"},{"name":"oat_sensitivity","description":"Runs a one-at-a-time tornado sensitivity analysis: sweeps each root node over a set of quantiles (others held at baseline) and measures how the target node resp"},{"name":"scenario_analysis","description":"Runs a simulation once and summarises a target node's worst/median/best outcomes (any percentiles), each paired with a best-effort driving input per root node. "},{"name":"validate_graph","description":"Checks a graph for structural problems (cycles, dangling edges, unknown distributions, missing refs) before you run it, returning a list of issues by rule and s"},{"name":"estimate","description":"Pre-flight-sizes a graph without running it: estimated peak memory, engine complexity, which tier (small/large) it would run as, and the credit cost. Use this w"},{"name":"solve_distribution_parameters","description":"Converts a human-style estimate (a min/max range at a stated confidence, or a most-likely value) into the distribution_params a root node needs. Use this when y"},{"name":"describe_distribution","description":"Converts distribution_params back into plain numbers: mean, median, std, mode, requested quantiles, a central interval, and (with a threshold) the probability a"},{"name":"get_results","description":"Fetches the status and, once available, the summarised result for a previously-submitted run by its run_id. Results are readable only by the caller who created "},{"name":"feedback","description":"Sends feedback, a feature request, or a bug report straight to the Neumann team, CC'ing your sender_email so you keep a copy. Use this when something about the "},{"name":"buy_credits","description":"Purchases credits using a payment method already saved from a prior Stripe Checkout session. Use this when an authenticated account is running low on credits an"},{"name":"share_result","description":"Creates (or fetches the existing) public share link for a PERSISTED run from the stored-graph flow, renderable as HTML/JSON/SVG. Use this when you want to hand "},{"name":"whoami","description":"Reports who you are to Neumann and what you may still do: anonymous or an account, the account id and credit balance, or the free anonymous runs left in the cur"}],"toolCount":12,"toolsHash":"072bc37f8b480ed034a5683b0034ef3395d78648c62fe353ab9153799142250d","serverName":"neumann","capabilities":["experimental","tools"],"serverVersion":"0.2.6","protocolVersion":"2025-06-18"}}],"tools":[{"name":"run_monte_carlo_simulation","description":"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 form"},{"name":"rank_inputs_by_impact","description":"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 "},{"name":"summarize_outcome_scenarios","description":"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 b"},{"name":"check_simulation_model","description":"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 distribu"},{"name":"estimate_simulation_size_and_cost","description":"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 ch"},{"name":"convert_range_to_distribution","description":"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"},{"name":"convert_distribution_to_range","description":"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 me"},{"name":"get_simulation_results","description":"Gets the saved status and summary of a simulation you already ran, using its run_id. Use this when you need an earlier result again, for example in a later turn"},{"name":"check_account_and_credits","description":"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 "},{"name":"send_feedback","description":"Emails your feedback, feature request or bug report to the Neumann team, with a copy to the email address you give. Use this when something in Neumann is wrong,"},{"name":"buy_credits","description":"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 lo"}],"package":null,"toolSurface":{"id":"ts_dt7a2ubp2j85","endpointId":"ep_cwgutafpuf8d","hash":"b3604dacb65c0a95b3b8c8c6692c17b36d63be7e25496f63835b5db48f0490a5","toolCount":11,"serverName":"neumann","serverVersion":"0.2.10","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-30T03:24:23.279Z","lastSeenAt":"2026-10-30T03:24:23.279Z","observations":1,"toolNames":["run_monte_carlo_simulation","rank_inputs_by_impact","summarize_outcome_scenarios","check_simulation_model","estimate_simulation_size_and_cost","convert_range_to_distribution","convert_distribution_to_range","get_simulation_results","check_account_and_credits","send_feedback","buy_credits"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_cwgutafpuf8d","url":"https://neumann.kromatic.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-29T20:26:34.051Z","auth":{"observedAt":"2026-10-29T20:26:34.528Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-29T20:26:34.548Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"neumann.kromatic.com","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-12T12:36:53.000Z","validTo":"2026-12-11T12:36:52.000Z","daysToExpiry":42,"sanCount":1,"fingerprint256":"5F:93:D1:ED:F9:10:FA:B3:5E:CD:9D:BA:67:F2:0E:55:F2:6F:EE:56:16:ED:EF:97:16:ED:65:B5:7E:20:95:8B"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.Kromatic-Innovation/neumann","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.Kromatic-Innovation%2Fneumann","firstSeenAt":"2026-10-29T11:19:39.910Z","fetchedAt":"2026-10-29T11:19:39.910Z","normalizedAt":"2026-10-29T11:19:39.910Z"}]},"firstSeenAt":"2026-10-29T11:19:39.910Z","updatedAt":"2026-10-30T03:27:34.637Z"}