Deterministic what-if & scenario simulation for AI agents: projections, sensitivity & break-even.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A transparent, 100% deterministic Model Context Protocol (MCP) server that gives LLM agents a reliable what-if / scenario simulation engine.
Agents are good at describing a plan but unreliable at projecting it: they drift on multi-period arithmetic, mishandle compounding, and can't show their work. ScenarioSim offloads the simulation to an exact, explainable engine. You provide assumptions (growth rates, churn, pricing, costs, starting metrics, a time horizon); it returns projected outcomes over time, key metrics, the exact assumptions used, plus sensitivity analysis and break-even solving β each with a plain-language explanation.
Every number flows through decimal.js at
40-digit precision (never floats), so identical inputs always produce
byte-identical output. The server is stateless β no database, no sessions,
no clocks or randomness in the result.
This is the third product in a suite built to the same engineering standard as PrecisionCalc MCP (deterministic high-precision finance/business math) and DecisionMatrix MCP (transparent multi-criteria decision analysis): identical project structure, output philosophy, and Cloudflare Pages deployment.
A public remote MCP server runs on Cloudflare's edge β point any Streamable-HTTP MCP client at it:
It runs in open mode on the free tier (no key, 20 calls/day per IP). Paid plans
(Starter $12/mo Β· 5,000/day, Pro $39/mo Β· 50,000/day) are available via Stripe
Checkout β buy a plan, get an API key instantly, and send it as X-API-Key. Self-host
for unlimited calls with no keys. Landing page + pricing: https://scenariosim-mcp.pages.dev.
Six tools, all returning a uniform, agent-parseable envelope:
| Tool | Purpose |
|---|---|
run_scenario | Main tool. Project a pre-built template or a free-form model over time β per-period projections, headline key_results, the assumptions_used, methodology, notes, and a plain-language explanation. |
sensitivity_analysis | Vary one or more inputs (one-at-a-time) and report the impact on a target metric β with an elasticity estimate, the output range, and a ranking of the most influential inputs. |
break_even | Solve for the input value required to make a target metric hit a target value (deterministic bisection). |
compare_scenarios | Run 2β3 scenarios side-by-side with deltas vs a baseline and an optional winner. |
list_templates | Discovery: every template with its inputs (defaults + units) and available outputs. |
health_check | Version, status, and capabilities. |
| id | models | primary output |
|---|---|---|
saas_growth | subscribers + MRR/ARR from acquisition (with its own growth) and churn | ending_mrr |
pricing_change | revenue/profit impact of a price change via price elasticity | cumulative_profit_after |
churn_impact | retention erosion + revenue lost vs a no-churn baseline | cumulative_revenue_lost |
cost_reduction | profit + margin impact of cutting costs | cumulative_savings |
hiring_plan | headcount, fully-loaded payroll, revenue capacity | cumulative_payroll |
cash_runway | cash balance forward + months-to-zero runway | runway_periods |
unit_economics | LTV, LTV:CAC, CAC payback, per-customer margin curve | ltv_cac_ratio |
marketing_funnel | visitors β leads β customers β revenue | total_revenue |
compound_growth | generic single-metric compound/linear projection | ending_value |
custom | free-form: any number of independently-growing metrics | (first metric) |
Every template accepts horizon (number of periods, 1β1200) and period_label
(day/week/month/quarter/year, which also sets annualization). Inputs you don't
provide fall back to documented defaults; unknown inputs are ignored and reported in notes.
Call list_templates for the full input/output catalog.
Every successful response contains: status, scenario, period_label, horizon,
key_results (+ key_results_detail with units and full-precision value_exact),
projections, assumptions_used, methodology, notes, and a natural-language
explanation.
Errors never cross the tool boundary as exceptions β they come back as a structured, actionable envelope:
Design note β exact numbers: headline numbers in
key_resultsare deterministically rounded (6 dp) for easy consumption;key_results_detail[].value_exactandassumptions_usedcarry full-precision strings so no precision is lost in JSON. All internal math is exact 40-digit decimal.
Separation of concerns: engine.mjs is pure and transport-agnostic (import it
directly in tests or any Node/Deno/edge runtime); index.mjs only handles the MCP
JSON-RPC wiring, HTTP, CORS, and the auth/metering seam; server.mjs re-uses the same
engine over stdio.
decimal.js (math) and esbuild (bundler).Quick manual call:
Run the server locally over stdio with a single command β nothing to deploy:
Claude Desktop / any stdio MCP client (claude_desktop_config.json):
This is the same deterministic engine as the hosted server, running on your machine.
~/.cursor/mcp.jsonclaude_desktop_config.jsonClaude Desktop launches stdio servers, so bridge to the HTTP endpoint with mcp-remote:
.vscode/mcp.jsonNo reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/scenariosim-mcp)<a href="https://allmcps.com/mcp/scenariosim-mcp"><img src="https://allmcps.com/api/badge/scenariosim-mcp?style=directory" alt="Scenariosim MCP on AllMCPs" /></a>