AgentStack MCP: one deterministic reasoning stack for AI agents (simulate + decide + compute)
The fourth in a suite of deterministic MCP servers for AI agents — and the one that ties the first three together. Over the last stretch I shipped three focused, deterministic MCP servers: ScenarioSim — what-if / scenario simulation DecisionMatrix — multi-criteria decision analysis PrecisionCalc — exact finance / business math They're great on their own, but agents kept needing all three in the same task — and installing three servers, juggling three keys, and hand-gluing their outputs is friction. So here's AgentStack MCP: one endpoint, one key, all three — plus composite tools that chain them. simulate → decide → compute { "mcpServers": { "agentstack": { "type": "http", "url": "https://agentstack-mcp.pages.dev/mcp" } } } Free tier: no key, 20 calls/day. The tools are namespaced so an agent always knows which engine it's calling: sim_* — ScenarioSim (run, sensitivity, break-even, compare, templates) decide_* — DecisionMatrix (decide, score, sensitivity, compare_two, methods) calc_* — PrecisionCalc (metrics, currency, NPV, IRR, loan, depreciation, …) The part that's actually new: composite tools These chain the engines to do reasoning no single server can, deterministically end-to-end: evaluate_options_with_scenarios (simulate → decide) — project each option as its own scenario, then rank the outcomes against weighted criteria: { "name": "evaluate_options_with_scenarios", "arguments": { "template": "saas_growth", "horizon": 12, "options": [ { "name": "Aggressive", "inputs": { "new_customers_per_period": 60, "churn_rate": 0.05 } }, { "name": "Lean", "inputs": { "new_customers_per_period": 20, "churn_rate": 0.02 } } ], "criteria": [ { "metric": "ending_mrr", "weight": 3, "direction": "benefit" }, { "metric": "total_churned_customers", "weight": 1, "direction": "cost" } ] } } plan_to_valuation (simulate → compute) — project a plan, then value its cash-flow line: NPV, IRR, undiscounted total. stress_test_decision (simulate × decide) — stress one scenario assumption across every option and report how often the chosen option survives (robustness) and where it flips. Fighting tool bloat with profiles Bundling 24 tools risks drowning an agent's tool-selection. So the endpoint takes a ?profile= filter: https://agentstack-mcp.pages.dev/mcp?profile=finance finance → calc_* + plan_to_valuation decision → decide_* + the two decision composites simulation → sim_* + all composites all (default) → everything Why it's built this way Deterministic: everything runs through decimal.js at 40-digit precision. Same inputs → byte-identical output, across all three engines and the composites. No proxying: AgentStack imports the same engines directly, so there's zero added latency and no cascading failure — not three network hops behind one URL. Additive, not a replacement: the three standalone servers keep running for single-domain use. One key, one quota: ~half the price of subscribing to the three separately. Stateless + MIT: self-host on Cloudflare Pages, Node, Deno, or Bun. Links Live endpoint: https://agentstack-mcp.pages.dev/mcp Site + docs: https://agentstack-mcp.pages.dev GitHub (MIT): https://github.com/inity13/agentstack-mcp MCP Registry: io.github.inity13/agentstack-mcp If your agents plan, choose, and do the numbers, give them one calculator that does all three — and never drifts. Feedback welcome.
This is a summary aggregated from Dev.to. Read the complete article on the original site:
Read full article at Dev.to