addrbookFor publishers
← The evidence ledger

Evidence row 1286902

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 49b57c4c-f18f-4d47-83ef-e223eff9d9f3
Recorded
Previous row
#1012271
Body SHA-256
8c16749980f9ef9449585e9c82404f879121dd85c975f04a91a07cb82075f739
Leaf
0x856c88a3b42f8f4870d4d677e6fe1acb3bcca101806319ee2f13fba40d32a996

What was observed

{
  "count": 19,
  "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": "Status and live timeline of an AI readiness report order: every step, and whether an agent, code or a person did it. Status: awaiting_payment, in_progress, delivered, exception, refunded or cancelled.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "token": {
            "description": "token returned by order_readiness_report.",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "name": "get_report_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": "Order the 9-page AI readiness report for a company, made and emailed by Requstory's AI agents about 2 minutes after payment: company map, every process step by step (agent alone, agent prepares, person), the three best places to start with tested models, ease score against similar companies and a 30-day plan. Price 1.00 USD. Returns checkoutUrl: give it to the person to pay on Stripe; never pay for them. Refunded automatically if the website can't be read. Sample: https://requstory.com/store/sample/",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "buyerName": {
            "description": "Name of the person ordering.",
            "type": "string"
          },
          "companyName": {
            "description": "Company name, printed on every page.",
            "type": "string"
          },
          "email": {
            "description": "Where the report is emailed. Use the person's own address with their consent.",
            "type": "string"
          },
          "volume": {
            "description": "Optional: about how many orders, invoices or customer messages a month, so costs and savings are theirs.",
            "minimum": 1,
            "type": "integer"
          },
          "website": {
            "description": "Website address or domain, e.g. \"posthog.com\" or \"https://www.example.co.uk\".",
            "type": "string"
          }
        },
        "required": [
          "website",
          "companyName",
          "buyerName",
          "email"
        ],
        "type": "object"
      },
      "name": "order_readiness_report"
    },
    {
      "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":"8c16749980f9ef9449585e9c82404f879121dd85c975f04a91a07cb82075f739","id":1286902,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793388984956801,"prev":1012271,"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 (243099 rows).

  1. 0x856cf0f3fb15b44ed1553bb23bbda1d74d027835f1caacdb563a53d5392ad51e
  2. 0xd31030d223258161f95f3ed9b1b5958131ef87e15cfc06596da8a4b0fe29e582
  3. 0xe66e07b60cde87191f4b7ccc19f7271172da97d57c76994e9cc94fbb53edd313
  4. 0x4ea8462fd64d22aefa91d1ea7adb09c576c756a5c3ca09286e071f731eaf42be
  5. 0x2a0df53c7b15365d47cad68aa6b9e80095d80108b9820ec07f0908ae915f12a7
  6. 0x9ec1adc734eb175c322d8c8b5ef5b42979c5483239f88e3fc73b46eb5411d48c
  7. 0xb06a554234871fbcd8b51b6bb9f2d2bd39855e59f53d2c0e0362ebb7b7a048f6
  8. 0xd0ac935b917f3ae3e036655d7848e81da0e2eb226ec18ec14aa4e1ba90786242
  9. 0xa3c28085d5eff9a22d16d492c35b78d88dcc507852c483c5f097a466ffd80f3d
  10. 0x49c317f08f7f1b5203658e7a172c020118d90ebad5ec1ac7a2d4d5da583cee72
  11. 0x652079c69fb08a7492c852dea8db4c80d9fc00fa9f6e2277fd475b56407433ae
  12. 0x3fda44266f33f938abb4c3f75f83f56dd1b0545d3789ad1e234bd9d234d925e0
  13. 0x386dbe0266e62db019a818ac71a5b2e72b65071ce2bcd7f64efaa40322e5f002
  14. 0x2cc23d59d659d5b819934005bab57d036b04ff4c8b701cb0e274c40aaddb2d51
  15. 0x235114e50a987e65d728b9ef8b5978846cd7c01f22effc55dd604c388ce359ec
  16. 0xdbaaffa44665d1fa60d33d2c4075bd87629b76d01a6ee63e621e78590303b56d
  17. 0xffe660edb9e5c6e3449a49454634c3e7b2f9fe703e5697f723b021735647ab7e
  18. 0x30a81d8fcef4e8f9e2877c62796cfc5612fc1b251127d531dee28f8dbd5c5147
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON