addrbookFor publishers
← The evidence ledger

Evidence row 222635

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 7b11eff6-0bea-4db1-befd-4b80f2367f55
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
4f3a3efc56155125df866c678682622898b58b92a67acc534823c981a6fa2812
Leaf
0xd91ea07073ec3a22f6a5671205586702836066a0152dd39fea00de296d96e63c

What was observed

{
  "count": 24,
  "tools": [
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "custom_holidays": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "days": {
            "type": "integer"
          },
          "end_date": {
            "type": "string"
          },
          "operation": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "start_date": {
            "type": "string"
          }
        },
        "required": [
          "operation",
          "start_date"
        ],
        "type": "object"
      },
      "name": "calc_business_days"
    },
    {
      "description": "COMPUTE. Compound-interest/growth math. operation: future_value | present_value | cagr. rate is annual decimal; compounding: daily|weekly|monthly|quarterly|semiannually|annually|continuous.",
      "inputSchema": {
        "properties": {
          "begin_value": {
            "type": "number"
          },
          "compounding": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "end_value": {
            "type": "number"
          },
          "future_value": {
            "type": "number"
          },
          "operation": {
            "type": "string"
          },
          "present_value": {
            "type": "number"
          },
          "rate": {
            "type": "number"
          },
          "years": {
            "type": "number"
          }
        },
        "required": [
          "operation"
        ],
        "type": "object"
      },
      "name": "calc_compound_growth"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "amount": {
            "type": "number"
          },
          "date": {
            "type": "string"
          },
          "from_currency": {
            "type": "string"
          },
          "live": {
            "type": "boolean"
          },
          "to_currency": {
            "type": "string"
          }
        },
        "required": [
          "amount",
          "from_currency",
          "to_currency"
        ],
        "type": "object"
      },
      "name": "calc_currency_convert"
    },
    {
      "description": "COMPUTE. Asset depreciation schedule. method: straight_line | declining_balance | sum_of_years_digits.",
      "inputSchema": {
        "properties": {
          "cost": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "salvage_value": {
            "type": "number"
          },
          "useful_life_years": {
            "type": "integer"
          }
        },
        "required": [
          "method",
          "cost",
          "salvage_value",
          "useful_life_years"
        ],
        "type": "object"
      },
      "name": "calc_depreciation"
    },
    {
      "description": "COMPUTE. Internal Rate of Return: per-period rate where NPV=0 (Newton + bisection). Requires a sign change in cashflows.",
      "inputSchema": {
        "properties": {
          "cashflows": {
            "items": {
              "type": "number"
            },
            "type": "array"
          },
          "guess": {
            "type": "number"
          }
        },
        "required": [
          "cashflows"
        ],
        "type": "object"
      },
      "name": "calc_irr"
    },
    {
      "description": "COMPUTE. List every supported metric with descriptions and required/optional params. No parameters.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "calc_list_metrics"
    },
    {
      "description": "COMPUTE. Level-payment loan: monthly payment, total interest, payoff, and (optional) full schedule.",
      "inputSchema": {
        "properties": {
          "annual_rate": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "extra_payment": {
            "type": "number"
          },
          "include_schedule": {
            "type": "boolean"
          },
          "principal": {
            "type": "number"
          },
          "term_months": {
            "type": "integer"
          }
        },
        "required": [
          "principal",
          "annual_rate",
          "term_months"
        ],
        "type": "object"
      },
      "name": "calc_loan_amortization"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "currency": {
            "type": "string"
          },
          "metric": {
            "type": "string"
          },
          "params": {
            "type": "object"
          }
        },
        "required": [
          "metric",
          "params"
        ],
        "type": "object"
      },
      "name": "calc_metric"
    },
    {
      "description": "COMPUTE. Net Present Value (discounted cash flow). NPV = sum(CF_t/(1+rate)^t); cashflows[0] is period 0 (usually the negative outlay).",
      "inputSchema": {
        "properties": {
          "cashflows": {
            "items": {
              "type": "number"
            },
            "type": "array"
          },
          "currency": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          }
        },
        "required": [
          "rate",
          "cashflows"
        ],
        "type": "object"
      },
      "name": "calc_npv"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "criteria": {
            "type": "array"
          },
          "method": {
            "type": "string"
          },
          "options": {
            "type": "array"
          },
          "scores": {
            "type": "object"
          }
        },
        "required": [
          "options",
          "criteria",
          "scores"
        ],
        "type": "object"
      },
      "name": "decide"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "criteria": {
            "type": "array"
          },
          "method": {
            "type": "string"
          },
          "option_a": {
            "type": "string"
          },
          "option_b": {
            "type": "string"
          },
          "options": {
            "type": "array"
          },
          "scores": {
            "type": "object"
          }
        },
        "required": [
          "criteria",
          "scores"
        ],
        "type": "object"
      },
      "name": "decide_compare_two"
    },
    {
      "description": "DECIDE. List the scoring methods (weighted_sum, weighted_product, topsis) with normalization details and when to use each. No parameters.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "decide_list_methods"
    },
    {
      "description": "DECIDE. Return the full normalized scored matrix (per-option, per-criterion) + ranking when scores are supplied separately, without the winner narrative.",
      "inputSchema": {
        "properties": {
          "criteria": {
            "type": "array"
          },
          "method": {
            "type": "string"
          },
          "options": {
            "type": "array"
          },
          "scores": {
            "type": "object"
          }
        },
        "required": [
          "options",
          "criteria",
          "scores"
        ],
        "type": "object"
      },
      "name": "decide_score"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "criteria": {
            "type": "array"
          },
          "method": {
            "type": "string"
          },
          "options": {
            "type": "array"
          },
          "scores": {
            "type": "object"
          },
          "steps": {
            "type": "integer"
          },
          "variation": {
            "type": "number"
          }
        },
        "required": [
          "options",
          "criteria",
          "scores"
        ],
        "type": "object"
      },
      "name": "decide_sensitivity"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "criteria": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "horizon": {
            "type": "integer"
          },
          "inputs": {
            "type": "object"
          },
          "method": {
            "type": "string"
          },
          "options": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "period_label": {
            "type": "string"
          },
          "template": {
            "type": "string"
          }
        },
        "required": [
          "options",
          "criteria"
        ],
        "type": "object"
      },
      "name": "evaluate_options_with_scenarios"
    },
    {
      "description": "Aggregated health/status for the whole stack (all three engines + composites). No parameters.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "health_check"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_capabilities"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "cashflow_metric": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "horizon": {
            "type": "integer"
          },
          "initial_investment": {
            "type": "number"
          },
          "inputs": {
            "type": "object"
          },
          "metrics": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "period_label": {
            "type": "string"
          },
          "rate": {
            "type": "number"
          },
          "template": {
            "type": "string"
          }
        },
        "required": [
          "template",
          "cashflow_metric",
          "rate"
        ],
        "type": "object"
      },
      "name": "plan_to_valuation"
    },
    {
      "description": "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'.",
      "inputSchema": {
        "properties": {
          "bounds": {
            "items": {
              "type": "number"
            },
            "type": "array"
          },
          "horizon": {
            "type": "integer"
          },
          "inputs": {
            "type": "object"
          },
          "period_label": {
            "type": "string"
          },
          "solve_for": {
            "type": "string"
          },
          "target_metric": {
            "type": "string"
          },
          "target_value": {
            "type": "number"
          },
          "template": {
            "type": "string"
          }
        },
        "required": [
          "template",
          "solve_for",
          "target_value"
        ],
        "type": "object"
      },
      "name": "sim_break_even"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "compare_metric": {
            "type": "string"
          },
          "goal": {
            "type": "string"
          },
          "horizon": {
            "type": "integer"
          },
          "include_projections": {
            "type": "boolean"
          },
          "scenarios": {
            "items": {
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "scenarios"
        ],
        "type": "object"
      },
      "name": "sim_compare"
    },
    {
      "description": "SIMULATE. List every scenario template (inputs, defaults, outputs) plus the custom-model format and period labels. No parameters.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "sim_list_templates"
    },
    {
      "description": "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.",
      "inputSchema": {
        "properties": {
          "horizon": {
            "type": "integer"
          },
          "inputs": {
            "type": "object"
          },
          "metrics": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "period_label": {
            "type": "string"
          },
          "template": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "sim_run"
    },
    {
      "description": "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').",
      "inputSchema": {
        "properties": {
          "horizon": {
            "type": "integer"
          },
          "inputs": {
            "type": "object"
          },
          "max": {
            "type": "number"
          },
          "min": {
            "type": "number"
          },
          "period_label": {
            "type": "string"
          },
          "steps": {
            "type": "integer"
          },
          "target_metric": {
            "type": "string"
          },
          "template": {
            "type": "string"
          },
          "values": {
            "items": {
              "type": "number"
            },
            "type": "array"
          },
          "variable": {
            "type": "string"
          },
          "variables": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "variation": {
            "type": "number"
          }
        },
        "required": [
          "template"
        ],
        "type": "object"
      },
      "name": "sim_sensitivity"
    },
    {
      "description": "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}.",
      "inputSchema": {
        "properties": {
          "criteria": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "horizon": {
            "type": "integer"
          },
          "inputs": {
            "type": "object"
          },
          "method": {
            "type": "string"
          },
          "options": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "period_label": {
            "type": "string"
          },
          "stress": {
            "type": "object"
          },
          "template": {
            "type": "string"
          }
        },
        "required": [
          "options",
          "criteria",
          "stress"
        ],
        "type": "object"
      },
      "name": "stress_test_decision"
    }
  ]
}

What the leaf hashes

{"body":"4f3a3efc56155125df866c678682622898b58b92a67acc534823c981a6fa2812","id":222635,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793028175502031,"prev":null,"subject":"7b11eff6-0bea-4db1-befd-4b80f2367f55","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0xd91e62c4a49cddf5ba4c72363600c323ad1da16ed9f96a27c618d80cbd437643
  2. 0xdafa02c93d57e4e3b8e7c51fee39c5838723bf128b8428ff99a8f9e1e539fb84
  3. 0x7874a0105afe0a1124fa1814eb529168b04c93ada59b401a2474ee686d741b46
  4. 0x5b7a1d4b04537214df9fcee4efcca07840337c470b024ec6264faf037f0de5e9
  5. 0xdaacde948fb39ff0d32de8c3f5b50e8cbaa08dde10a34af16cd23d269c7c1e40
  6. 0x4716b34718ba2b31cfd42d6532b81564697459a754f77c8a4b101220a3b11f7b
  7. 0x579701e2ca4126aa48d272aeea8e04a04902239b5e4501d45c4fcc1de794c89c
  8. 0xfb4c736c849b279ad943c5335eb7a558c06b4e07ef2cf96c3b3cdf2281c763b1
  9. 0xdf8eaed4aa390776806b5fc505783beb683a482e830d1fe053bdb4242fbf9e37
  10. 0xbef0db8aab9733efc417d7a27c94356a006b86ef076eb4c35a8d217ef10b433b
  11. 0xd96796540b8f5b592d8f03fc775e7a26bd00af394ce468ff886a43215a522475
  12. 0x07e91966e8a0c43a0725bd3d523259064a93333c2900e6171b69ffbfd9f423f1
  13. 0xcd9e3af1fa905ec61b99ee9442716d7c7a439aecacd018ec229a24def1cabf6b
  14. 0x6b927d53caa5125cdba9255612d524976c691f8672796c3f0885ba2c5b3af1ad
  15. 0x6dc40f983a3840a0ad927a9ca17f4ff1e3b649a6c735e2a09b140db7c2caf13b
  16. 0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON