agentstack-mcp

Deterministic reasoning stack for AI agents: simulate, decide & compute, plus cross-domain tools.

使うべきか

品質と安全性

A
説明の品質
99%
スキーマの完全性
69%
命名の品質
81%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(2)

  • LOWTool 'decide_score' description lacks action verbdecide_score 内
  • LOWTool 'evaluate_options_with_scenarios' name length outside 3-30 rangeevaluate_options_with_scenarios 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,628トークン数(ツール定義)
~640 B一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.05%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "agentstack-mcp": {
      "command": "npx",
      "args": [
        "agentstack-mcp"
      ]
    }
  }
}

実行可能なパッケージ

npmagentstack-mcp1.0.1stdio

リモートエンドポイント

https://agentstack-mcp.pages.dev/mcpstreamable-http

できること

ツール一覧

ツール(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.

入力スキーマ

{
  "type": "object",
  "properties": {}
}
🟢health_check

Aggregated health/status for the whole stack (all three engines + composites). No parameters.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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').

入力スキーマ

{
  "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'.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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).

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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}.

入力スキーマ

{
  "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"
  ]
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 24 件
検証済みバージョンは記録されていませんツール 24 件