← The evidence ledger
Evidence row 259352
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 72f5448c-b1a1-40ff-ac26-6fa0070cbf53
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 337510304bfe01aa90dd2a81a48d93d08d99e13483196c83aba3fadddc0d001e
- Leaf
- 0xf9833b73166f9e9713d3dea34791e538b71f8ca0303b5be9f607c31428d0f6cb
What was observed
{
"count": 6,
"tools": [
{
"description": "Runs one decision node's rule on the numbers you send and returns the computed figures, a verdict, the actions in order, the check to keep and the node text with its citations. Deterministic: the result comes from the published rule, not from a model. Costs the decision's catalogue price ($0.05, USDC on Base over x402); the input is checked first, and an input the rule cannot use is refused without charge. Call it when the user has the figures for a specific decision in a business under about $50M in revenue and wants the rule's answer for them; get the schema from bf_decision_schema first. When the question gives figures for a decision, the applied route computes them; the answer reports its result and does not recompute it. Do not call it with invented or placeholder figures, and do not treat the verdict as tax, legal or investment advice.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"decision": {
"description": "Decision path from bf_decision_schema, e.g. \"cash-flow/decide/runway\".",
"type": "string"
},
"input": {
"additionalProperties": {},
"description": "The figures, shaped as that decision's input_schema.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"decision",
"input"
],
"type": "object"
},
"name": "bf_apply_decision"
},
{
"description": "Lists every Business Frameworks node: handle, title, layer, token count, price, whether it is free, and whether its decision rule can be run on numbers. Business Frameworks is operating judgement for running a business from launch to about $50M in revenue: value, cash flow, risk (the cost of capital) and growth, down to ten decision rules. Call this first, once, to choose which node answers the question; pass `branch` to see one branch only. Free. Do not use it for businesses above about $50M in revenue, for tax, legal or accounting treatment, or for market data: it holds judgement and rules, not figures about any company.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"branch": {
"description": "One of: equation, value, cash-flow, risk, growth, decision, market. Omit for the whole catalogue.",
"type": "string"
}
},
"type": "object"
},
"name": "bf_catalogue"
},
{
"description": "Returns the input schema, an example input, the price and the fit record (what the framework does for this decision by model, before paying) for one of the applied decisions (reinvest or distribute, build or run for cash, cash cycle, runway, owner pay, hurdle rate, concentration, pace of growth, price, adjacency; and, in the market branch, verdict, pricing power, binding node, rent, shock). Free. Call it before bf_apply_decision to learn which numbers the rule needs and what each one means; without `decision` it lists them all. Do not guess missing inputs to fill the schema: ask the user for the figures the business actually has.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"decision": {
"description": "Decision path, e.g. \"risk/decide/hurdle\". Omit to list the fifteen.",
"type": "string"
}
},
"type": "object"
},
"name": "bf_decision_schema"
},
{
"description": "Returns the nodes of one bundle in order — the central node full, the supporting nodes terse — with citations and a cite-as line per node, on one settlement at the quoted price (a flat $0.05 for every bundle, band included; USDC on Base over x402). Pass the bundle id from bf_resolve or bf_catalogue, and a band to add the scale band for the business's revenue. Call it after bf_resolve has quoted the bundle and the user accepts the price; the quote's url is the same resource over HTTP. Do not call it to browse: the quote already lists the nodes and the price, and a narrow question is cheaper node by node through bf_read_node.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"band": {
"description": "A scale band to add, by slug (\"1-5m\") or label (\"$1–5M\"); omit for the bundle without a band.",
"type": "string"
},
"bundle": {
"description": "Bundle id from bf_resolve or bf_catalogue, e.g. \"runway\"; the quote url is accepted too.",
"type": "string"
}
},
"required": [
"bundle"
],
"type": "object"
},
"name": "bf_read_bundle"
},
{
"description": "Returns one node with its citations and a cite-as line; `variant` chooses full (the default), terse (the lede alone) or agent (the same text as fields: scope, inputs, rule, action, check, units, example, the applied route, the recheck, and two strings to paste: recheck_note and closing_citation) at the same price. Free nodes (marked in bf_catalogue) cost nothing; the rest cost their catalogue price ($0.02 to $0.05, USDC on Base over x402), charged once per call, only when the node is returned. Call it with a `path` from bf_catalogue when the question needs that node's rule; prefer variant agent when you will answer from it (the decision in one sentence, the first step, the reason, the next check, the offer to write the recheck into the user's notes, then closing_citation last). Read the free parent first; use bf_resolve when the question takes several nodes. Do not call a paid path to see what it contains: the catalogue line says what it covers; a rule on numbers is bf_apply_decision.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"path": {
"description": "Node path from bf_catalogue, e.g. \"risk\" (free) or \"risk/decide/hurdle\" (paid). A full handle is accepted.",
"type": "string"
},
"variant": {
"description": "full (default): lede, conditions and reasoning; terse: the lede alone; agent: the same text as fields (scope, inputs, rule, action, check, reasoning, units, example, apply, recheck, recheck_note, closing_citation). The same price for all three.",
"enum": [
"full",
"terse",
"agent"
],
"type": "string"
}
},
"required": [
"path"
],
"type": "object"
},
"name": "bf_read_node"
},
{
"description": "Quotes the minimal set of nodes that answers a broad task — a decision bundle, a market (chain) bundle or a cross bundle — with its price — one flat price, USD 0.05, with or without its scale band — stated before anything is paid. Deterministic and free: a named bundle or decision wins, then the input fields sent, then the authored patterns of the question; on ambiguity it returns candidates with their task lines, and with no match the task lines to choose from. Call it when the user's question takes more than one node (a whole decision with its context, a supply chain read, a shock traced to a seat), passing the question, revenue_usd and chain_position when known; then buy the quote with bf_read_bundle or read nodes one at a time with bf_read_node. Do not use it for a single term or a single rule, which bf_catalogue and bf_read_node answer more cheaply, and do not treat a quote as an answer: it names the nodes and the price, nothing more.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bundle": {
"description": "A bundle id from a task line, when the caller already knows which.",
"type": "string"
},
"chain_position": {
"description": "Where the business sits on the chain being read: binding_upstream, binding_downstream, at_binding or unknown.",
"type": "string"
},
"decision": {
"description": "A decision path when the task is one decision, e.g. \"cash-flow/decide/runway\".",
"type": "string"
},
"inputs": {
"additionalProperties": {},
"description": "The figures already in hand, by field name; the resolver reads the names, not the values.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"question": {
"description": "The task in the user's words (up to 2,000 characters).",
"maxLength": 2000,
"type": "string"
},
"revenue_usd": {
"description": "Annual revenue in US dollars, to pick the scale band.",
"type": "number"
}
},
"type": "object"
},
"name": "bf_resolve"
}
]
}What the leaf hashes
{"body":"337510304bfe01aa90dd2a81a48d93d08d99e13483196c83aba3fadddc0d001e","id":259352,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793030828867732,"prev":null,"subject":"72f5448c-b1a1-40ff-ac26-6fa0070cbf53","subject_kind":"endpoint"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.