addrbookFor publishers
← The evidence ledger

Evidence row 1012271

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 49b57c4c-f18f-4d47-83ef-e223eff9d9f3
Recorded
Previous row
#811022
Body SHA-256
0aba14037b5e3091df4b41b5729c95875e05bd0efdfacb6be95dc714aa01cbdd
Leaf
0x84d8768a0839ac21290f1ad04cd5bfb007134e0ebba59d8bed156feb9d8142c1

What was observed

{
  "count": 17,
  "tools": [
    {
      "description": "Let the agents work on a run from start_o2c_demo or start_o2c_run until they need the founder, the run ends, or up to \"steps\" actions (about 25 seconds at most). Returns what each agent did, every order's status and the totals. When exceptions are waiting, call list_o2c_exceptions.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "runId": {
            "description": "runId from start_o2c_demo or start_o2c_run.",
            "type": "string"
          },
          "steps": {
            "description": "Most actions to take; default 10.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "runId"
        ],
        "type": "object"
      },
      "name": "advance_o2c_run"
    },
    {
      "description": "Ask a question about a saved map. By default it answers free from the map's website pages and entries, with citations. Set ai=true for a written Requ AI answer, which uses account credits (Team). Prefer get_map for an overview. Needs an API key.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "ai": {
            "description": "Use Requ AI (uses credits). Default false.",
            "type": "boolean"
          },
          "mapId": {
            "description": "Saved map id (uuid) from list_maps or map_website.",
            "type": "string"
          },
          "question": {
            "description": "The question, up to 1,000 characters.",
            "type": "string"
          }
        },
        "required": [
          "mapId",
          "question"
        ],
        "type": "object"
      },
      "name": "ask_map"
    },
    {
      "description": "Check whether AI agents can read, understand and act on any website (bots allowed, readable pages, product data, checkout, help). Reads up to 3 public pages; results are kept for 24 hours and public at requstory.com/ai-readiness/<domain>/. Faster and narrower than map_website. If status is \"queued\" or \"running\", call again with start=false.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "start": {
            "description": "Start a new check if none is fresh (default true). Use false to only read the result.",
            "type": "boolean"
          },
          "website": {
            "description": "Website address or domain, e.g. \"posthog.com\" or \"https://www.example.co.uk\".",
            "type": "string"
          }
        },
        "required": [
          "website"
        ],
        "type": "object"
      },
      "name": "check_ai_readiness"
    },
    {
      "description": "The run's results: the ledger (every order and invoice with paid, owed and due), the emails to send, pick lists, every decision with who made it (founder, MCP, autopilot or an approval rule) and the billable moments. This is the audit record; use it when the run is done.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "runId": {
            "description": "runId from start_o2c_demo or start_o2c_run.",
            "type": "string"
          }
        },
        "required": [
          "runId"
        ],
        "type": "object"
      },
      "name": "export_o2c_run"
    },
    {
      "description": "Show the account behind the API key: plan (free or team), credits left, number of saved maps and maps left today, and order-to-cash use this month (orders billed, credits used, the price per order). Needs an API key.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "get_account"
    },
    {
      "description": "Get a made-up company run end to end by AI agents, built from real public company maps, as a Requ template: teams as agent lanes, the model for each step, steps a person keeps, and monthly model cost. Use it as a starting point to design an AI-agent-run business; edit the Requ and render it with npx @requstory/cli. Needs an API key.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "company": {
            "description": "Kind of company.",
            "enum": [
              "online-store",
              "software-startup",
              "agency",
              "professional-firm",
              "local-service-business"
            ],
            "type": "string"
          },
          "mix": {
            "description": "Model mix: mixed (default), large or small.",
            "enum": [
              "mixed",
              "large",
              "small"
            ],
            "type": "string"
          },
          "name": {
            "description": "Optional company name for the template.",
            "type": "string"
          }
        },
        "required": [
          "company"
        ],
        "type": "object"
      },
      "name": "get_ai_company"
    },
    {
      "description": "Get a public company's ease-of-doing-business score (0–100, four parts: find and understand, get started online, get help, AI-agent ready), its ranking place, and the gaps that cost it points, most costly first, with proof. Use after search_companies. For a site with no public page, use check_ai_readiness instead.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "slug": {
            "description": "Company slug from search_companies, e.g. \"posthog-com\".",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get_company_score"
    },
    {
      "description": "Read a saved map in brief: journey stages, teams with owners and processes, teams with no owner, checks peers pass but this company misses, AI-agent readiness gaps, fix progress and source pages. Set full=true for the whole JSON model. Use ask_map for a specific question instead. Needs an API key.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "full": {
            "description": "Include the full JSON model (large). Default false.",
            "type": "boolean"
          },
          "mapId": {
            "description": "Saved map id (uuid) from list_maps or map_website.",
            "type": "string"
          }
        },
        "required": [
          "mapId"
        ],
        "type": "object"
      },
      "name": "get_map"
    },
    {
      "description": "Check a map_website job that was still running. When status is \"complete\" it returns mapId for get_map. Needs an API key.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "jobId": {
            "description": "jobId returned by map_website.",
            "type": "string"
          }
        },
        "required": [
          "jobId"
        ],
        "type": "object"
      },
      "name": "get_map_job"
    },
    {
      "description": "Everything about one order in a run: what the agent read, the invoice, its emails, any return, and every step and decision on it in order. Use for questions about a single order; advance_o2c_run lists the order ids.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "order": {
            "description": "Order id, e.g. \"#2001\".",
            "type": "string"
          },
          "runId": {
            "description": "runId from start_o2c_demo or start_o2c_run.",
            "type": "string"
          }
        },
        "required": [
          "runId",
          "order"
        ],
        "type": "object"
      },
      "name": "get_o2c_order"
    },
    {
      "description": "List the maps saved in your Requstory account (newest first) with their ids. Use to find a mapId for get_map or ask_map. Needs an API key.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "list_maps"
    },
    {
      "description": "List the questions the agents are waiting on the founder for (credit over the limit, short stock, packing, reminder wording, unclear bank payments, returns), each with its allowed choices. Show them to the person; do not answer them yourself. Then call resolve_o2c_exception.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "runId": {
            "description": "runId from start_o2c_demo or start_o2c_run.",
            "type": "string"
          }
        },
        "required": [
          "runId"
        ],
        "type": "object"
      },
      "name": "list_o2c_exceptions"
    },
    {
      "description": "Map how a company works from up to 6 pages of its public website: customer journey, teams, processes and handoffs. The map is saved to your Requstory account (free; 5 a day). Waits up to 25 seconds; if the job is still running, poll get_map_job. Then read it with get_map. Needs an API key.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "website": {
            "description": "Website address or domain, e.g. \"posthog.com\" or \"https://www.example.co.uk\".",
            "type": "string"
          }
        },
        "required": [
          "website"
        ],
        "type": "object"
      },
      "name": "map_website"
    },
    {
      "description": "Record the founder's decision on one exception from list_o2c_exceptions, using only the choice the person made (for example accept an order over its credit limit, or approve a refund). The decision is logged as made through MCP. Then call advance_o2c_run.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "choice": {
            "description": "One of the exception's choices, e.g. \"accept\".",
            "type": "string"
          },
          "exceptionId": {
            "description": "exceptionId from list_o2c_exceptions.",
            "type": "string"
          },
          "runId": {
            "description": "runId from start_o2c_demo or start_o2c_run.",
            "type": "string"
          },
          "text": {
            "description": "Optional edited wording, for a reminder email.",
            "type": "string"
          }
        },
        "required": [
          "runId",
          "exceptionId",
          "choice"
        ],
        "type": "object"
      },
      "name": "resolve_o2c_exception"
    },
    {
      "description": "Find companies Requstory has already mapped and scored from their public websites, by name or website. Use this first to get the \"slug\" for get_company_score. For a company that is not found, use check_ai_readiness (quick, public) or map_website (full map, needs a key).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "industry": {
            "description": "Optional industry id, e.g. \"dental\" or \"payments-fintech\".",
            "type": "string"
          },
          "limit": {
            "description": "Up to 50; default 10.",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "Part of a company name or website, e.g. \"stripe\".",
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "search_companies"
    },
    {
      "description": "Start a month of a made-up B2B online store (Harbour & Home) run by four AI agents: process orders, ship orders, invoice and collect payments, handle returns. Real trade order lines; you or your user play the founder, who is asked about credit limits, short stock, packing, reminders, unclear payments and returns. Sums, dates, stock and credit are worked out by code, not the model. No key needed; runs are deleted 2 days after the last change. Then call advance_o2c_run.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "model": {
            "description": "Open model the agents use. Default: the best scorer in the weekly test.",
            "enum": [
              "gemma-4-26b",
              "qwen-3.6-35b",
              "ministral-8b",
              "qwen3-vl-8b"
            ],
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "start_o2c_demo"
    },
    {
      "description": "Run a day of your own business through the four order-to-cash agents: read new orders, check stock and credit, pick lists, invoices and their emails, match bank lines to open invoices, chase late payers and handle return emails. Nothing is sent; you get drafts and decisions. The agents ask the founder about credit, short stock, packing, reminders, unclear payments and returns, unless the business's approval rules say otherwise. Priced per order from the account's credits: $1.00 an order (100 credits), model cost included, charged once when an order is invoiced, collected or has a return settled. Data is deleted 2 days after the last change. Needs an API key. Then call advance_o2c_run.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "business": {
            "description": "The business, like the run page's folder. Keys: company, symbol (\"£\"), vat (\"20%\"), termsDays, nextInvoiceNo; customers [{id, name, email, creditLimit, openBalance, termsDays}]; products [{sku, name, price, stock}]; orders [{name, text} or {name, imageBase64} for a JPEG/PNG scan]; openInvoices [{no, customer, total, paid, due, date}]; bank [{from, ref, amount}]; returns [{message}]; returnsPolicy (text); instructions {orders, finance, returns} (text for each agent); approvals {ordersOver, overCreditLimitUpTo, refundsUpTo, returnsWithinDays, shortPaymentWriteOffUpTo}: orders above ordersOver always go to the founder; up to overCreditLimitUpTo over a credit limit, and refunds or credit notes up to refundsUpTo that the calculator agrees with, go through without asking; returns for invoices older than returnsWithinDays (or with no invoice date) always go to the founder; a matched payment that leaves shortPaymentWriteOffUpTo or less owed closes the invoice. Leave approvals out (or 0) to be asked about everything. The resource requstory://o2c/guide explains them.",
            "type": "object"
          },
          "mapId": {
            "description": "Map whose credits pay for the model calls. Default: your most recent map.",
            "type": "string"
          },
          "model": {
            "description": "Open model the agents use. Default: the best scorer in the weekly test.",
            "enum": [
              "gemma-4-26b",
              "qwen-3.6-35b",
              "ministral-8b",
              "qwen3-vl-8b"
            ],
            "type": "string"
          }
        },
        "required": [
          "business"
        ],
        "type": "object"
      },
      "name": "start_o2c_run"
    }
  ]
}

What the leaf hashes

{"body":"0aba14037b5e3091df4b41b5729c95875e05bd0efdfacb6be95dc714aa01cbdd","id":1012271,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793268909704814,"prev":811022,"subject":"49b57c4c-f18f-4d47-83ef-e223eff9d9f3","subject_kind":"endpoint"}

Proof

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

  1. 0x84d8784f9f2f958d9bd7df134fd6d65eea97a44a30de71e1f1d21ba7ad30ea4d
  2. 0x9532a4fc608c9e44defe1cd1e54e6683062646d2d22422e28ddd1d4efe64086d
  3. 0x3e29b194a2ba2eec89af48f3196b80f093d7aa4ff94588ca30fe752ac5892a5a
  4. 0xb6470b869e5b75c3e34f74f6f0f72f8348c91c2de1b18f4d9f3764d939b6c1f0
  5. 0x8dbcf47a7089eecf7fc3525946635ac93c278497e85ed312ae6ec22897d03b92
  6. 0xa892472d97031059874e4be30951b9424c97e9521a7cc0f21a057bd944fe9eb1
  7. 0xf20286860bd4b8df1bcb5eaeb0c58f2eaf3ce51df6d0946d144f31aa3293df35
  8. 0x38457da93e1165f37a1355908527289b5f433d5828da438ec0cfce8e8750fef3
  9. 0x591712f43d8c0ed8a662b2181cbda9848e48e06e77cb1d4247b67bb4162e5e4a
  10. 0x8ad5ef2c1fe749cbb7a4d0f0bfbe5f6e8aabd03f0f5bf962e594df28af40eba2
  11. 0xdd985e420ba11506ea00beaebb1352938ed808f7aea904b0874e645763084c2d
  12. 0x4f0460ddca8b3f26bbb51f5459a5ac210455581798c6943649864f40943d85da
  13. 0xc511979001bcd2bb5b86878738a5b657ccc5572a24d219f29746ef8edbbccf80
  14. 0x738c5bd29ff2d2f8d7fd631baca705f1f09ba7c5f714efb8c3ec3626affb304a
  15. 0xcf94ad18fb19d78b9bda4e21e2e80e6fbf3504f3f83fee3273c11933743525c4
  16. 0xe2d603cd6f987214550319ad4fa39952b6098bc5c1b20893b6b80e8d82a79934
  17. 0x91f12a2db1e2c1be07cbe4de3981a37a33051a36d3c3eee5a260804add6d1d75
  18. 0xd56e61af23709ed9f460471e3c08400c0142ee83e1fd9057e46350d12edf9c07
Day root
0xc050555c6b023f2aefb6536efb9f0760b92c30a0d06c572b7daf63db259ea17c
Chained
0x4cde8bae2042512e1bec11650628f0293556311cc4ea74d99ffddf02b671a7d6
Published
On Arc Testnet, block 69753317: 0x9e85c340732f416e431b111fae72f7624870125f7f379af2732eb6c2ba8cf6a1

How to check it · This row as JSON