← The evidence ledger
Evidence row 1474816
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 5fd6d16e-88db-4683-8352-0d680fa5d586
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 4c0750ee37f7dd1493bef3930b4aeba6296ab9115b19cadea8df9d2cb96ceff3
- Leaf
- 0xf1075aaf14077e11f35747f456b28c99220bfe25675044b52478686669d9d8a5
What was observed
{
"count": 6,
"tools": [
{
"description": "Work out sales tax exactly, in whole minor units. mode \"add\": amount is the price before tax. mode \"extract\": amount already includes the tax, and the net price and the tax inside it are returned. rate is a percentage like \"8.25\". Money is a decimal string. Returns net, tax and gross as decimal strings rounded to the currency's decimals (default 2). Free. Make receipts only for lawful purposes, such as replacing a lost receipt, bookkeeping, testing or design mockups. Using a receipt to deceive anyone, including for refunds, expense claims or proof of purchase, is prohibited.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"amount": {
"description": "The price, as a decimal string like 100.00",
"pattern": "^\\d{1,12}(\\.\\d{1,4})?$",
"type": "string"
},
"currency": {
"description": "Only decimals matters here (0, 2 or 3); default 2 decimals",
"properties": {
"decimal": {
"enum": [
".",
","
],
"type": "string"
},
"decimals": {
"anyOf": [
{
"const": 0,
"type": "number"
},
{
"const": 2,
"type": "number"
},
{
"const": 3,
"type": "number"
}
]
},
"position": {
"enum": [
"before",
"after"
],
"type": "string"
},
"symbol": {
"maxLength": 5,
"minLength": 1,
"type": "string"
},
"thousands": {
"enum": [
",",
".",
" ",
""
],
"type": "string"
}
},
"required": [
"symbol",
"decimals",
"position",
"thousands",
"decimal"
],
"type": "object"
},
"mode": {
"description": "add: amount is before tax. extract: amount includes tax",
"enum": [
"add",
"extract"
],
"type": "string"
},
"rate": {
"description": "Tax rate in percent, like \"8.25\"",
"pattern": "^\\d{1,12}(\\.\\d{1,4})?$",
"type": "string"
}
},
"required": [
"amount",
"rate",
"mode"
],
"type": "object"
},
"name": "calculate_sales_tax"
},
{
"description": "Work out a tip and split a bill between people, in whole cents. round \"none\" rounds the tip to the cent; \"up-total\" rounds the total up to the next whole unit; \"up-each\" rounds each person's share up to the next whole unit and the total becomes shares times people. Returns tip, total and per_person as decimal strings. Free. Make receipts only for lawful purposes, such as replacing a lost receipt, bookkeeping, testing or design mockups. Using a receipt to deceive anyone, including for refunds, expense claims or proof of purchase, is prohibited.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bill": {
"description": "The bill before the tip, as a decimal string like 87.40",
"pattern": "^\\d{1,12}(\\.\\d{1,4})?$",
"type": "string"
},
"people": {
"description": "How many people share the bill",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"percent": {
"description": "Tip in percent, like \"18\"",
"pattern": "^\\d{1,12}(\\.\\d{1,4})?$",
"type": "string"
},
"round": {
"description": "none: to the cent. up-total: round the total up. up-each: round each share up",
"enum": [
"none",
"up-total",
"up-each"
],
"type": "string"
}
},
"required": [
"bill",
"percent",
"people",
"round"
],
"type": "object"
},
"name": "calculate_tip"
},
{
"description": "Get a one-hour signed upload URL for a logo file (PNG, JPEG or SVG, up to 2 MB; a PNG or JPEG at most 2 megapixels) that sits on disk. PUT the raw bytes to upload_url with a Content-Length header, then pass file_id as make_receipt's logo.file_id. Free. Make receipts only for lawful purposes, such as replacing a lost receipt, bookkeeping, testing or design mockups. Using a receipt to deceive anyone, including for refunds, expense claims or proof of purchase, is prohibited.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bytes": {
"description": "Exact size of the file you will upload, in bytes (at most 2 MB)",
"maximum": 2097152,
"minimum": 1,
"type": "integer"
},
"filename": {
"description": "Original file name",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"bytes"
],
"type": "object"
},
"name": "create_upload"
},
{
"description": "List the receipt templates make_receipt can use, each with its slug, name, category and kind (brand or generic). Filter by category, kind or a query on the name or slug. Call this first to get a slug. Free. Make receipts only for lawful purposes, such as replacing a lost receipt, bookkeeping, testing or design mockups. Using a receipt to deceive anyone, including for refunds, expense claims or proof of purchase, is prohibited.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category": {
"description": "Only templates in this category",
"enum": [
"retail",
"food",
"travel",
"services",
"finance",
"health",
"other"
],
"type": "string"
},
"kind": {
"description": "brand or generic templates only",
"enum": [
"brand",
"generic"
],
"type": "string"
},
"query": {
"description": "Words to look for in the template name or slug",
"maxLength": 60,
"type": "string"
}
},
"type": "object"
},
"name": "list_templates"
},
{
"description": "Make a barcode image on white, with quiet zones and the readable text under a 1-D code, and get a 24-hour download link. type is code128 (printable ASCII, up to 48 characters), ean13 (12 digits, or 13 with a check digit that must match), upca (11 digits, or 12 with a check digit that must match) or qr (up to 300 characters). format is png (default) or svg. Returns url, expires_at and text, what a reader will decode (including the check digit). Free within a daily quota counted in documents (see start.md). Make receipts only for lawful purposes, such as replacing a lost receipt, bookkeeping, testing or design mockups. Using a receipt to deceive anyone, including for refunds, expense claims or proof of purchase, is prohibited.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"format": {
"default": "png",
"description": "File type of the barcode",
"enum": [
"png",
"svg"
],
"type": "string"
},
"type": {
"description": "Barcode type",
"enum": [
"code128",
"ean13",
"upca",
"qr"
],
"type": "string"
},
"value": {
"description": "What to encode",
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"type",
"value"
],
"type": "object"
},
"name": "make_barcode"
},
{
"description": "Make a receipt file from a template, with your own items, and get a 24-hour download link. Call list_templates for a slug first. Set accept_terms to true. items is required (1 to 200): name, qty and unit_price as decimal strings like \"4.50\", never numbers; subtotal, tax and total are worked out for you. Every other field you leave out (store name and address, date, currency, tax, payment, discounts, extra_lines, messages, barcode) uses the template's sample value, so pass an empty array to clear discounts, extra_lines or messages. format is png (default), jpeg or pdf. An optional logo goes on top: PNG, JPEG or SVG up to 2 MB (a PNG or JPEG at most 2 megapixels, for example 1600×1250; resize a bigger one first), as file_id (from create_upload), url or data_base64; it replaces the template's logo, and header.logo \"none\" removes the template's logo. Returns url, expires_at, the delivered image size in pixels (for a PDF, the page at 1x), the totals as formatted strings, and notes for anything that was left out or cut. Free within a daily quota counted in documents (see start.md). Make receipts only for lawful purposes, such as replacing a lost receipt, bookkeeping, testing or design mockups. Using a receipt to deceive anyone, including for refunds, expense claims or proof of purchase, is prohibited.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"accept_terms": {
"const": true,
"description": "Must be true: you agree to the acceptable-use policy in this tool's description",
"type": "boolean"
},
"barcode": {
"properties": {
"type": {
"enum": [
"code128",
"ean13",
"upca",
"qr"
],
"type": "string"
},
"value": {
"maxLength": 500,
"minLength": 1,
"type": "string"
}
},
"required": [
"type",
"value"
],
"type": "object"
},
"currency": {
"description": "Symbol, decimals (0, 2 or 3) and number format; fields you leave out keep the template's",
"properties": {
"decimal": {
"enum": [
".",
","
],
"type": "string"
},
"decimals": {
"anyOf": [
{
"const": 0,
"type": "number"
},
{
"const": 2,
"type": "number"
},
{
"const": 3,
"type": "number"
}
]
},
"position": {
"enum": [
"before",
"after"
],
"type": "string"
},
"symbol": {
"maxLength": 5,
"minLength": 1,
"type": "string"
},
"thousands": {
"enum": [
",",
".",
" ",
""
],
"type": "string"
}
},
"type": "object"
},
"date_format": {
"enum": [
"MM/DD/YYYY",
"DD/MM/YYYY",
"YYYY-MM-DD",
"DD.MM.YYYY"
],
"type": "string"
},
"datetime": {
"type": "string"
},
"discounts": {
"items": {
"properties": {
"amount": {
"type": "string"
},
"label": {
"maxLength": 120,
"type": "string"
}
},
"required": [
"label",
"amount"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"extra_lines": {
"items": {
"properties": {
"label": {
"maxLength": 60,
"type": "string"
},
"value": {
"maxLength": 120,
"type": "string"
}
},
"required": [
"label",
"value"
],
"type": "object"
},
"maxItems": 12,
"type": "array"
},
"format": {
"default": "png",
"description": "File type of the receipt",
"enum": [
"png",
"pdf",
"jpeg"
],
"type": "string"
},
"header": {
"description": "Seller name, address lines, alignment and logo choice; fields you leave out keep the template's",
"properties": {
"align": {
"enum": [
"left",
"center",
"right"
],
"type": "string"
},
"lines": {
"items": {
"maxLength": 120,
"type": "string"
},
"maxItems": 6,
"type": "array"
},
"logo": {
"description": "none removes the template's built-in logo; template keeps it",
"enum": [
"none",
"template"
],
"type": "string"
},
"name": {
"maxLength": 120,
"type": "string"
}
},
"type": "object"
},
"items": {
"description": "What was bought: name, qty and unit_price (decimal strings; a negative price is a refund line), with optional sku and note",
"items": {
"properties": {
"name": {
"maxLength": 120,
"type": "string"
},
"note": {
"maxLength": 120,
"type": "string"
},
"qty": {
"type": "string"
},
"sku": {
"maxLength": 40,
"type": "string"
},
"unit_price": {
"type": "string"
}
},
"required": [
"name",
"qty",
"unit_price"
],
"type": "object"
},
"maxItems": 200,
"minItems": 1,
"type": "array"
},
"logo": {
"description": "A logo for the top of the receipt: exactly one of file_id, url or data_base64. PNG, JPEG or SVG, up to 2 MB (a PNG or JPEG also at most 2 megapixels, for example 1600×1250); the file's own bytes decide the type, not its name.",
"properties": {
"data_base64": {
"description": "Or base64 bytes of the logo, up to 2 MB decoded",
"type": "string"
},
"file_id": {
"description": "A file_id from create_upload (after the PUT)",
"type": "string"
},
"url": {
"description": "Or a public https URL of the logo",
"format": "uri",
"type": "string"
}
},
"type": "object"
},
"messages": {
"items": {
"maxLength": 200,
"type": "string"
},
"maxItems": 12,
"type": "array"
},
"paper": {
"enum": [
"thermal",
"white",
"yellow"
],
"type": "string"
},
"payment": {
"description": "How it was paid; replaces the template's payment",
"properties": {
"auth_code": {
"maxLength": 40,
"type": "string"
},
"card_brand": {
"maxLength": 30,
"type": "string"
},
"card_last4": {
"pattern": "^\\d{4}$",
"type": "string"
},
"label": {
"maxLength": 60,
"type": "string"
},
"method": {
"enum": [
"cash",
"card",
"other"
],
"type": "string"
},
"tendered": {
"type": "string"
},
"transaction_id": {
"maxLength": 60,
"type": "string"
}
},
"required": [
"method"
],
"type": "object"
},
"sections": {
"items": {
"enum": [
"header",
"meta",
"items",
"totals",
"payment",
"barcode",
"messages"
],
"type": "string"
},
"maxItems": 28,
"type": "array"
},
"tax": {
"description": "Either a rate in percent or a fixed amount, with a label; replaces the template's tax",
"properties": {
"amount": {
"type": "string"
},
"label": {
"maxLength": 120,
"type": "string"
},
"rate": {
"type": "string"
}
},
"type": "object"
},
"template": {
"description": "Template slug from list_templates",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"time_format": {
"enum": [
"12h",
"24h"
],
"type": "string"
},
"tip": {
"type": "string"
}
},
"required": [
"template",
"accept_terms",
"items"
],
"type": "object"
},
"name": "make_receipt"
}
]
}What the leaf hashes
{"body":"4c0750ee37f7dd1493bef3930b4aeba6296ab9115b19cadea8df9d2cb96ceff3","id":1474816,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793410130928859,"prev":null,"subject":"5fd6d16e-88db-4683-8352-0d680fa5d586","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (246033 rows).
- 0xf1076d05dfd39f33235441708e7b731171b205362fb98d0e08b4fc82beeccfc4
- 0xfa9fcd83dcab06b28695de033092b60844eea0292c44cf0c239d9bca14ae225c
- 0x237aaa35050ffff476e9813576f0d3abdec2a711c558ff711b82d93234dd56a1
- 0xc69fa79c54280bc611cb93082d1b07a9474e00d4153b24edfa239cb6650caa29
- 0x32497623b53d933f28bf406c1fcb5e67d2ddcc5999b0be2a9ac606d95bc4d000
- 0x9add5a90ec9385ff1beccaa37ece3cd21958957fbeee1165a4cafb51941375ce
- 0xc7c2abee2e660b4387c408f087b6c7858f9bf969da05ab2c851ebc3c5ae20e39
- 0xb7185682824e1c087fa52a6043b0a929198c268362b36bb653f094ce1da9f5e6
- 0x8f05805f9c218e3bfd6581e21e065d0896c91528a3ea27aec3aa5f870ff911bb
- 0x8726218de530d708576d414aec2642de043245e9eda0a115df48d3c388d3707f
- 0xc63f042cb226ef092ea53fee5d2259a347e04c30c770aaf994362836b7fce505
- 0xfcd782c3f252b70bc968fb5a187963c45ff14fea50222071dde8a666b3ebdbdd
- 0xbc3e5daeb8c4525fe47bcc0da1546eab6297e135ec75acdf3bc8177600a63e27
- 0xb9926eb0976a5b473833dada1e63c048bf8ef05dbd747135d29c85140274baf8
- 0xe9e97d8cdaf19b6da06606a22b4eea548063df6bacb661abea4c37aa637b5c3b
- 0x4befbbd74452b2a3a89b7e1e809ba011f1be78aeb8153059503fda47c454d086
- 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
- 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
- Day root
- 0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
- Chained
- 0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
- Published
- On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0