agentstack-mcp
Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (2)
- LOWin decide_score
- LOWin evaluate_options_with_scenarios
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"agentstack-mcp": {
"command": "npx",
"args": [
"agentstack-mcp"
]
}
}
}Ausführbare Pakete
1.0.1stdioRemote-Endpunkte
https://agentstack-mcp.pages.dev/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (24)
🟢list_capabilities
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.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢health_check
Aggregated health/status for the whole stack (all three engines + composites). No parameters.
Eingabe-Schema
{
"type": "object",
"properties": {}
}⚪sim_run(template, inputs, metrics, horizon, period_label)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"template": {
"type": "string"
},
"inputs": {
"type": "object"
},
"metrics": {
"type": "array",
"items": {
"type": "object"
}
},
"horizon": {
"type": "integer"
},
"period_label": {
"type": "string"
}
}
}🟢sim_sensitivity(template, inputs, target_metric, variable, variables, ...)
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').
Eingabe-Schema
{
"type": "object",
"properties": {
"template": {
"type": "string"
},
"inputs": {
"type": "object"
},
"target_metric": {
"type": "string"
},
"variable": {
"type": "string"
},
"variables": {
"type": "array",
"items": {
"type": "object"
}
},
"variation": {
"type": "number"
},
"steps": {
"type": "integer"
},
"values": {
"type": "array",
"items": {
"type": "number"
}
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"horizon": {
"type": "integer"
},
"period_label": {
"type": "string"
}
},
"required": [
"template"
]
}⚪sim_break_even(template, inputs, solve_for, target_metric, target_value, ...)
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'.
Eingabe-Schema
{
"type": "object",
"properties": {
"template": {
"type": "string"
},
"inputs": {
"type": "object"
},
"solve_for": {
"type": "string"
},
"target_metric": {
"type": "string"
},
"target_value": {
"type": "number"
},
"bounds": {
"type": "array",
"items": {
"type": "number"
}
},
"horizon": {
"type": "integer"
},
"period_label": {
"type": "string"
}
},
"required": [
"template",
"solve_for",
"target_value"
]
}⚪sim_compare(scenarios, compare_metric, goal, horizon, include_projections)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"scenarios": {
"type": "array",
"items": {
"type": "object"
}
},
"compare_metric": {
"type": "string"
},
"goal": {
"type": "string"
},
"horizon": {
"type": "integer"
},
"include_projections": {
"type": "boolean"
}
},
"required": [
"scenarios"
]
}🟢sim_list_templates
SIMULATE. List every scenario template (inputs, defaults, outputs) plus the custom-model format and period labels. No parameters.
Eingabe-Schema
{
"type": "object",
"properties": {}
}⚪decide(options, criteria, scores, method)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"options": {
"type": "array"
},
"criteria": {
"type": "array"
},
"scores": {
"type": "object"
},
"method": {
"type": "string"
}
},
"required": [
"options",
"criteria",
"scores"
]
}⚪decide_score(options, criteria, scores, method)
DECIDE. Return the full normalized scored matrix (per-option, per-criterion) + ranking when scores are supplied separately, without the winner narrative.
Eingabe-Schema
{
"type": "object",
"properties": {
"options": {
"type": "array"
},
"criteria": {
"type": "array"
},
"scores": {
"type": "object"
},
"method": {
"type": "string"
}
},
"required": [
"options",
"criteria",
"scores"
]
}⚪decide_sensitivity(options, criteria, scores, method, variation, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"options": {
"type": "array"
},
"criteria": {
"type": "array"
},
"scores": {
"type": "object"
},
"method": {
"type": "string"
},
"variation": {
"type": "number"
},
"steps": {
"type": "integer"
}
},
"required": [
"options",
"criteria",
"scores"
]
}⚪decide_compare_two(option_a, option_b, options, criteria, scores, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"option_a": {
"type": "string"
},
"option_b": {
"type": "string"
},
"options": {
"type": "array"
},
"criteria": {
"type": "array"
},
"scores": {
"type": "object"
},
"method": {
"type": "string"
}
},
"required": [
"criteria",
"scores"
]
}🟢decide_list_methods
DECIDE. List the scoring methods (weighted_sum, weighted_product, topsis) with normalization details and when to use each. No parameters.
Eingabe-Schema
{
"type": "object",
"properties": {}
}🟢calc_metric(metric, params, currency)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"metric": {
"type": "string"
},
"params": {
"type": "object"
},
"currency": {
"type": "string"
}
},
"required": [
"metric",
"params"
]
}🟢calc_list_metrics
COMPUTE. List every supported metric with descriptions and required/optional params. No parameters.
Eingabe-Schema
{
"type": "object",
"properties": {}
}⚪calc_currency_convert(amount, from_currency, to_currency, date, live)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"amount": {
"type": "number"
},
"from_currency": {
"type": "string"
},
"to_currency": {
"type": "string"
},
"date": {
"type": "string"
},
"live": {
"type": "boolean"
}
},
"required": [
"amount",
"from_currency",
"to_currency"
]
}🟡calc_business_days(operation, start_date, days, end_date, region, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"operation": {
"type": "string"
},
"start_date": {
"type": "string"
},
"days": {
"type": "integer"
},
"end_date": {
"type": "string"
},
"region": {
"type": "string"
},
"custom_holidays": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"operation",
"start_date"
]
}⚪calc_compound_growth(operation, rate, years, present_value, future_value, ...)
COMPUTE. Compound-interest/growth math. operation: future_value | present_value | cagr. rate is annual decimal; compounding: daily|weekly|monthly|quarterly|semiannually|annually|continuous.
Eingabe-Schema
{
"type": "object",
"properties": {
"operation": {
"type": "string"
},
"rate": {
"type": "number"
},
"years": {
"type": "number"
},
"present_value": {
"type": "number"
},
"future_value": {
"type": "number"
},
"begin_value": {
"type": "number"
},
"end_value": {
"type": "number"
},
"compounding": {
"type": "string"
},
"currency": {
"type": "string"
}
},
"required": [
"operation"
]
}⚪calc_npv(rate, cashflows, currency)
COMPUTE. Net Present Value (discounted cash flow). NPV = sum(CF_t/(1+rate)^t); cashflows[0] is period 0 (usually the negative outlay).
Eingabe-Schema
{
"type": "object",
"properties": {
"rate": {
"type": "number"
},
"cashflows": {
"type": "array",
"items": {
"type": "number"
}
},
"currency": {
"type": "string"
}
},
"required": [
"rate",
"cashflows"
]
}🟡calc_irr(cashflows, guess)
COMPUTE. Internal Rate of Return: per-period rate where NPV=0 (Newton + bisection). Requires a sign change in cashflows.
Eingabe-Schema
{
"type": "object",
"properties": {
"cashflows": {
"type": "array",
"items": {
"type": "number"
}
},
"guess": {
"type": "number"
}
},
"required": [
"cashflows"
]
}⚪calc_loan_amortization(principal, annual_rate, term_months, extra_payment, currency, ...)
COMPUTE. Level-payment loan: monthly payment, total interest, payoff, and (optional) full schedule.
Eingabe-Schema
{
"type": "object",
"properties": {
"principal": {
"type": "number"
},
"annual_rate": {
"type": "number"
},
"term_months": {
"type": "integer"
},
"extra_payment": {
"type": "number"
},
"currency": {
"type": "string"
},
"include_schedule": {
"type": "boolean"
}
},
"required": [
"principal",
"annual_rate",
"term_months"
]
}⚪calc_depreciation(method, cost, salvage_value, useful_life_years, currency)
COMPUTE. Asset depreciation schedule. method: straight_line | declining_balance | sum_of_years_digits.
Eingabe-Schema
{
"type": "object",
"properties": {
"method": {
"type": "string"
},
"cost": {
"type": "number"
},
"salvage_value": {
"type": "number"
},
"useful_life_years": {
"type": "integer"
},
"currency": {
"type": "string"
}
},
"required": [
"method",
"cost",
"salvage_value",
"useful_life_years"
]
}⚪plan_to_valuation(template, inputs, metrics, horizon, period_label, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"template": {
"type": "string"
},
"inputs": {
"type": "object"
},
"metrics": {
"type": "array",
"items": {
"type": "object"
}
},
"horizon": {
"type": "integer"
},
"period_label": {
"type": "string"
},
"cashflow_metric": {
"type": "string"
},
"rate": {
"type": "number"
},
"initial_investment": {
"type": "number"
},
"currency": {
"type": "string"
}
},
"required": [
"template",
"cashflow_metric",
"rate"
]
}⚪evaluate_options_with_scenarios(template, inputs, horizon, period_label, method, ...)
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.
Eingabe-Schema
{
"type": "object",
"properties": {
"template": {
"type": "string"
},
"inputs": {
"type": "object"
},
"horizon": {
"type": "integer"
},
"period_label": {
"type": "string"
},
"method": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object"
}
},
"criteria": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"options",
"criteria"
]
}⚪stress_test_decision(template, inputs, horizon, period_label, method, ...)
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}.
Eingabe-Schema
{
"type": "object",
"properties": {
"template": {
"type": "string"
},
"inputs": {
"type": "object"
},
"horizon": {
"type": "integer"
},
"period_label": {
"type": "string"
},
"method": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object"
}
},
"criteria": {
"type": "array",
"items": {
"type": "object"
}
},
"stress": {
"type": "object"
}
},
"required": [
"options",
"criteria",
"stress"
]
}Community
Nachweis