scenariosim-mcp

Deterministic what-if & scenario simulation for AI agents: projections, sensitivity & break-even.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
75%
命名品質
87%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,288Token(工具定義)
~3.6 KB典型回應大小
中等的注意力影響(128k 上下文的 1.79%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

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

可執行的套件

npmscenariosim-mcp1.0.2stdio

遠端端點

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

它能做什麼

工具清單

工具(6)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
⚪run_scenario(template, inputs, metrics, horizon, period_label)

Main simulation tool. Run a deterministic what-if projection from a pre-built 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 period-by-period projections, headline key_results, the exact assumptions used (with defaults filled in), the methodology, notes, and a plain-language explanation. Pass 'template' + 'inputs' (assumptions), plus optional 'horizon' and 'period_label'. 100% deterministic (40-digit decimal math).

輸入結構描述

{
  "type": "object",
  "properties": {
    "template": {
      "type": "string",
      "description": "Pre-built scenario template id: saas_growth, pricing_change, churn_impact, cost_reduction, hiring_plan, cash_runway, unit_economics, marketing_funnel, compound_growth (aliases like 'saas','pricing','runway','ltv' also resolve). Omit (or use 'custom') to run a free-form 'metrics' projection."
    },
    "inputs": {
      "type": "object",
      "description": "Scenario assumptions as {name: value}. Which keys are valid depends on the template (call list_templates). Unlisted keys fall back to documented defaults; unknown keys are ignored and reported in notes. You may also pass assumptions at the top level."
    },
    "metrics": {
      "type": "array",
      "description": "For a CUSTOM free-form scenario (template omitted or 'custom'): a list of independently-growing metrics. Each: {name, start, growth_rate (per period, default 0), mode: 'compound' (default) | 'linear'}.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "start": {
            "type": "number"
          },
          "growth_rate": {
            "type": "number"
          },
          "mode": {
            "type": "string",
            "enum": [
              "compound",
              "linear"
            ],
            "default": "compound"
          }
        },
        "required": [
          "name",
          "start"
        ]
      }
    },
    "horizon": {
      "type": "integer",
      "description": "Number of periods to project forward (1..1200). Default depends on template (usually 12).",
      "default": 12
    },
    "period_label": {
      "type": "string",
      "enum": [
        "day",
        "week",
        "month",
        "quarter",
        "year"
      ],
      "default": "month",
      "description": "Label for each period; also sets annualization (periods/year)."
    }
  }
}
🟢sensitivity_analysis(template, inputs, target_metric, variable, variables, ...)

Vary one or more input assumptions and show the impact on a target output metric (one-at-a-time sensitivity). Provide 'template', the input to sweep via 'variable' (or 'variables' array), and 'target_metric' (defaults to the template's primary output). Control the sweep with 'variation' (fractional +/- around the baseline, default 0.2), 'steps' (default 5), or explicit 'values' / 'min'+'max'. Returns per-variable sweeps, an elasticity estimate, the output range, and a ranking of the most influential inputs.

輸入結構描述

{
  "type": "object",
  "properties": {
    "template": {
      "type": "string",
      "description": "Pre-built scenario template id: saas_growth, pricing_change, churn_impact, cost_reduction, hiring_plan, cash_runway, unit_economics, marketing_funnel, compound_growth (aliases like 'saas','pricing','runway','ltv' also resolve). Omit (or use 'custom') to run a free-form 'metrics' projection."
    },
    "inputs": {
      "type": "object",
      "description": "Scenario assumptions as {name: value}. Which keys are valid depends on the template (call list_templates). Unlisted keys fall back to documented defaults; unknown keys are ignored and reported in notes. You may also pass assumptions at the top level."
    },
    "target_metric": {
      "type": "string",
      "description": "Output metric to track (see a template's 'outputs' via list_templates). Defaults to the template's primary output."
    },
    "variable": {
      "type": "string",
      "description": "A single input name to sweep."
    },
    "variables": {
      "type": "array",
      "description": "Multiple inputs to sweep (one at a time). Each: {name, variation?|values?|min?+max?, steps?}.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "variation": {
            "type": "number"
          },
          "steps": {
            "type": "integer"
          },
          "values": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "min": {
            "type": "number"
          },
          "max": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ]
      }
    },
    "variation": {
      "type": "number",
      "default": 0.2,
      "description": "Fractional sweep around the baseline (0<v<=1). 0.2 = +/-20%."
    },
    "steps": {
      "type": "integer",
      "default": 5,
      "description": "Number of sweep points per variable (2-200)."
    },
    "values": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "Explicit sweep values for a single 'variable'."
    },
    "min": {
      "type": "number",
      "description": "Sweep lower bound (with 'max')."
    },
    "max": {
      "type": "number",
      "description": "Sweep upper bound (with 'min')."
    },
    "horizon": {
      "type": "integer",
      "description": "Number of periods to project forward (1..1200). Default depends on template (usually 12).",
      "default": 12
    },
    "period_label": {
      "type": "string",
      "enum": [
        "day",
        "week",
        "month",
        "quarter",
        "year"
      ],
      "default": "month",
      "description": "Label for each period; also sets annualization (periods/year)."
    }
  },
  "required": [
    "template"
  ]
}
🟡break_even(template, inputs, solve_for, target_metric, target_value, ...)

Solve for the input value required to make an output metric hit a target value (deterministic bisection root-finding). Provide 'template', 'solve_for' (the input to solve), 'target_metric' (defaults to the primary output), and 'target_value'. Optionally pass 'bounds' [low, high] to constrain the search. Returns the required input value, the change from baseline, the achieved metric, and the residual. Assumes the metric is monotonic in the solved input over the range.

輸入結構描述

{
  "type": "object",
  "properties": {
    "template": {
      "type": "string",
      "description": "Pre-built scenario template id: saas_growth, pricing_change, churn_impact, cost_reduction, hiring_plan, cash_runway, unit_economics, marketing_funnel, compound_growth (aliases like 'saas','pricing','runway','ltv' also resolve). Omit (or use 'custom') to run a free-form 'metrics' projection."
    },
    "inputs": {
      "type": "object",
      "description": "Scenario assumptions as {name: value}. Which keys are valid depends on the template (call list_templates). Unlisted keys fall back to documented defaults; unknown keys are ignored and reported in notes. You may also pass assumptions at the top level."
    },
    "solve_for": {
      "type": "string",
      "description": "Name of the input variable to solve for."
    },
    "target_metric": {
      "type": "string",
      "description": "Output metric to hit (defaults to the template's primary output)."
    },
    "target_value": {
      "type": "number",
      "description": "The value the target_metric should reach."
    },
    "bounds": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "Optional [low, high] search range for the solved input. Auto-derived + expanded if omitted."
    },
    "horizon": {
      "type": "integer",
      "description": "Number of periods to project forward (1..1200). Default depends on template (usually 12).",
      "default": 12
    },
    "period_label": {
      "type": "string",
      "enum": [
        "day",
        "week",
        "month",
        "quarter",
        "year"
      ],
      "default": "month",
      "description": "Label for each period; also sets annualization (periods/year)."
    }
  },
  "required": [
    "template",
    "solve_for",
    "target_value"
  ]
}
🟡compare_scenarios(scenarios, compare_metric, goal, horizon, include_projections)

Run 2-3 scenarios and compare their key_results side by side, with deltas against the first (baseline) scenario. Provide a 'scenarios' array where each entry is {name?, template, inputs} (each may set its own horizon, or pass a shared top-level 'horizon'). Optionally rank on 'compare_metric' with 'goal' ('max' default | 'min') to pick a winner, and set include_projections:true to also return per-period series.

輸入結構描述

{
  "type": "object",
  "properties": {
    "scenarios": {
      "type": "array",
      "description": "2-3 scenarios to compare. Each: {name?, template, inputs, horizon?, period_label?} or {name?, metrics:[...]} for a custom model.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "template": {
            "type": "string",
            "description": "Pre-built scenario template id: saas_growth, pricing_change, churn_impact, cost_reduction, hiring_plan, cash_runway, unit_economics, marketing_funnel, compound_growth (aliases like 'saas','pricing','runway','ltv' also resolve). Omit (or use 'custom') to run a free-form 'metrics' projection."
          },
          "inputs": {
            "type": "object",
            "description": "Scenario assumptions as {name: value}. Which keys are valid depends on the template (call list_templates). Unlisted keys fall back to documented defaults; unknown keys are ignored and reported in notes. You may also pass assumptions at the top level."
          },
          "metrics": {
            "type": "array",
            "description": "For a CUSTOM free-form scenario (template omitted or 'custom'): a list of independently-growing metrics. Each: {name, start, growth_rate (per period, default 0), mode: 'compound' (default) | 'linear'}.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "start": {
                  "type": "number"
                },
                "growth_rate": {
                  "type": "number"
                },
                "mode": {
                  "type": "string",
                  "enum": [
                    "compound",
                    "linear"
                  ],
                  "default": "compound"
                }
              },
              "required": [
                "name",
                "start"
              ]
            }
          },
          "horizon": {
            "type": "integer",
            "description": "Number of periods to project forward (1..1200). Default depends on template (usually 12).",
            "default": 12
          },
          "period_label": {
            "type": "string",
            "enum": [
              "day",
              "week",
              "month",
              "quarter",
              "year"
            ],
            "default": "month",
            "description": "Label for each period; also sets annualization (periods/year)."
          }
        }
      }
    },
    "compare_metric": {
      "type": "string",
      "description": "Metric to rank scenarios on (optional)."
    },
    "goal": {
      "type": "string",
      "enum": [
        "max",
        "min"
      ],
      "default": "max",
      "description": "Whether higher (max) or lower (min) is better for compare_metric."
    },
    "horizon": {
      "type": "integer",
      "description": "Optional shared horizon applied to scenarios that don't set their own."
    },
    "include_projections": {
      "type": "boolean",
      "default": false,
      "description": "Include each scenario's full per-period projections."
    }
  },
  "required": [
    "scenarios"
  ]
}
🟢list_templates

Discovery tool: list every pre-built scenario template (id, label, category, description, primary output, documented inputs with defaults/units, and available output metrics), plus how to run a custom free-form scenario and the supported period labels. No required parameters.

輸入結構描述

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

Server health, version, and capabilities (tools, templates, period labels, max horizon). No parameters.

輸入結構描述

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

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本6 個工具
已驗證未記錄版本6 個工具