io. github. inity13/ agentstack-mcp
by inity13 · remote · local (npm) · no sign-in to list tools · v1.0.1 · published by GitHub user inity13
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
24 tools: 18 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things18Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http agentstack https://agentstack-mcp.pages.dev/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
24 tools
Changes things 18Claude Code: ask
calc_business_daysCOMPUTE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it COMPUTE. Business-day arithmetic honoring weekends + regional holidays. operation: add_business_days | count_business_days | next_business_day | previous_business_day. region: US | UK | EU | NONE.
calc_compound_growthCOMPUTE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it COMPUTE. Compound-interest/growth math. operation: future_value | present_value | cagr. rate is annual decimal; compounding: daily|weekly|monthly|quarterly|semiannually|annually|continuous.
calc_currency_convertCOMPUTE.No findings
Why it is in this group
- The name "calc_currency_convert" says "convert": a word for a change.
Description, as the server wrote it COMPUTE. Convert between major currencies (USD, EUR, GBP, JPY, CAD, AUD, CHF, CNY, INR) with Decimal precision. Static offline table by default; live/historical ECB rates via date/live=true.
calc_depreciationCOMPUTE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it COMPUTE. Asset depreciation schedule. method: straight_line | declining_balance | sum_of_years_digits.
calc_irrCOMPUTE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it COMPUTE. Internal Rate of Return: per-period rate where NPV=0 (Newton + bisection). Requires a sign change in cashflows.
calc_loan_amortizationCOMPUTE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it COMPUTE. Level-payment loan: monthly payment, total interest, payoff, and (optional) full schedule.
calc_metricCOMPUTE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it COMPUTE. Exact business/SaaS/finance metric: ltv, cac, ltv_cac_ratio, payback_period_months, contribution_margin, gross_margin, churn_rate, mrr_growth_rate, arr, break_even_units, nrr, grr, rule_of_40, magic_number. Rates/margins are decimals (0.05=5%). Call calc_list_metrics for schemas.
calc_npvCOMPUTE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it COMPUTE. Net Present Value (discounted cash flow). NPV = sum(CF_t/(1+rate)^t); cashflows[0] is period 0 (usually the negative outlay).
decideDECIDE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it DECIDE. Rank named options against weighted criteria and return the winner, full ranking, per-criterion breakdowns, methodology, weights, and an explanation. Provide options, criteria [{name, weight, direction}], and a scores matrix. method: weighted_sum (default) | weighted_product | topsis.
decide_scoreDECIDE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it DECIDE. Return the full normalized scored matrix (per-option, per-criterion) + ranking when scores are supplied separately, without the winner narrative.
decide_sensitivityDECIDE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it DECIDE. Test how robust the decision winner is to changes in CRITERIA WEIGHTS (distinct from sim_sensitivity, which varies scenario inputs). Sweeps each weight +/-variation and reports a robustness score + flip points.
evaluate_options_with_scenariosCOMPOSITE (simulate -> decide).No findings
Why it is in this group
- The name "evaluate_options_with_scenarios" says "evaluate": a word for a change.
Description, as the server wrote it COMPOSITE (simulate -> decide). Project each option as its own scenario, then rank the options against weighted criteria drawn from the scenario OUTCOMES. Provide a base 'template', an 'options' array ([{name, inputs}]), and 'criteria' ([{metric, weight, direction}]) where each metric is a scenario key_result. Combines ScenarioSim + DecisionMatrix.
health_checkAggregated health/status for the whole stack (all three engines + composites).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Aggregated health/status for the whole stack (all three engines + composites). No parameters.
plan_to_valuationCOMPOSITE (simulate -> compute).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it COMPOSITE (simulate -> compute). Project a scenario, take a per-period cash-flow line from its projections ('cashflow_metric', e.g. 'mrr' or 'net_burn'), and value it exactly: NPV at a discount 'rate', IRR, and undiscounted total. Optional 'initial_investment' becomes the period-0 outflow (needed for IRR). Combines ScenarioSim + PrecisionCalc.
sim_break_evenSIMULATE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it SIMULATE. Solve for the scenario input value required to make an output metric hit a target value (deterministic bisection). Requires 'template', 'solve_for', 'target_value'.
sim_runSIMULATE.No findings
Why it is in this group
- The name "sim_run" says "run": a word for a change.
Description, as the server wrote it SIMULATE. Deterministic what-if projection from a template (saas_growth, pricing_change, churn_impact, cost_reduction, hiring_plan, cash_runway, unit_economics, marketing_funnel, compound_growth) or a free-form 'metrics' model. Returns per-period projections, key_results, assumptions_used, methodology, and an explanation.
sim_sensitivitySIMULATE.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it SIMULATE. Vary one or more scenario inputs and show the impact on a target output metric (one-at-a-time), with elasticity + most-influential ranking. Requires 'template' and 'variable' (or 'variables').
stress_test_decisionCOMPOSITE (simulate x decide).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it COMPOSITE (simulate x decide). Take an options-vs-scenarios decision and stress ONE scenario assumption across a range applied to every option; report how often the baseline winner survives (robustness) and where it flips. Same args as evaluate_options_with_scenarios plus 'stress': {variable, variation, steps}.
Only reads 6Claude Code: allow
calc_list_metricsCOMPUTE.No findings
Why it is in this group
- The name "calc_list_metrics" says "list": a word for reading.
Description, as the server wrote it COMPUTE. List every supported metric with descriptions and required/optional params. No parameters.
decide_compare_twoDECIDE.No findings
Why it is in this group
- The name "decide_compare_two" says "compare": a word for reading.
Description, as the server wrote it DECIDE. Head-to-head comparison of exactly two options with per-criterion win counts and margin. Pass option_a/option_b (or a 2-element options array), criteria, and scores.
decide_list_methodsDECIDE.No findings
Why it is in this group
- The name "decide_list_methods" says "list": a word for reading.
Description, as the server wrote it DECIDE. List the scoring methods (weighted_sum, weighted_product, topsis) with normalization details and when to use each. No parameters.
list_capabilitiesDiscovery: the three namespaces (sim_*, decide_*, calc_*), the cross-domain composite tools, the available ?profile= filters, and links to the standalone servers.No findings
Why it is in this group
- The name "list_capabilities" says "list": a word for reading.
Description, as the server wrote it Discovery: the three namespaces (sim_*, decide_*, calc_*), the cross-domain composite tools, the available ?profile= filters, and links to the standalone servers. Call this first to see everything AgentStack exposes. No parameters.
sim_compareSIMULATE.No findings
Why it is in this group
- The name "sim_compare" says "compare": a word for reading.
Description, as the server wrote it SIMULATE. Run 2-3 scenarios and compare their key_results side by side with deltas vs the first (baseline). Optional 'compare_metric' + 'goal' (max|min) picks a winner.
sim_list_templatesSIMULATE.No findings
Why it is in this group
- The name "sim_list_templates" says "list": a word for reading.
Description, as the server wrote it SIMULATE. List every scenario template (inputs, defaults, outputs) plus the custom-model format and period labels. No parameters.
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.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http agentstack https://agentstack-mcp.pages.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__agentstack__list_capabilities",
"mcp__agentstack__sim_compare",
"mcp__agentstack__sim_list_templates",
"mcp__agentstack__decide_compare_two",
"mcp__agentstack__decide_list_methods",
"mcp__agentstack__calc_list_metrics"
],
"ask": [
"mcp__agentstack__health_check",
"mcp__agentstack__sim_run",
"mcp__agentstack__sim_sensitivity",
"mcp__agentstack__sim_break_even",
"mcp__agentstack__decide",
"mcp__agentstack__decide_score",
"mcp__agentstack__decide_sensitivity",
"mcp__agentstack__calc_metric",
"mcp__agentstack__calc_currency_convert",
"mcp__agentstack__calc_business_days",
"mcp__agentstack__calc_compound_growth",
"mcp__agentstack__calc_npv",
"mcp__agentstack__calc_irr",
"mcp__agentstack__calc_loan_amortization",
"mcp__agentstack__calc_depreciation",
"mcp__agentstack__plan_to_valuation",
"mcp__agentstack__evaluate_options_with_scenarios",
"mcp__agentstack__stress_test_decision"
],
"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 agentstack. Review it before you use it.
