{"id":1474816,"recorded_at":"2026-10-31T01:28:50.929038Z","observed_at":"2026-10-31T01:28:50.928859Z","subject_kind":"endpoint","subject":"5fd6d16e-88db-4683-8352-0d680fa5d586","kind":"mcp.tools","method":"probe.mcp/1","body":{"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"}]},"body_sha256":"4c0750ee37f7dd1493bef3930b4aeba6296ab9115b19cadea8df9d2cb96ceff3","prev_id":null,"leaf":"0xf1075aaf14077e11f35747f456b28c99220bfe25675044b52478686669d9d8a5","leaf_text":"{\"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\"}","day":{"day":"2026-10-31","leaves":246033,"root":"0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab","chained":"0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980","anchor_chain":"eip155:5042002","anchor_tx":"0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0","anchor_block":70093156},"proof":["0xf1076d05dfd39f33235441708e7b731171b205362fb98d0e08b4fc82beeccfc4","0xfa9fcd83dcab06b28695de033092b60844eea0292c44cf0c239d9bca14ae225c","0x237aaa35050ffff476e9813576f0d3abdec2a711c558ff711b82d93234dd56a1","0xc69fa79c54280bc611cb93082d1b07a9474e00d4153b24edfa239cb6650caa29","0x32497623b53d933f28bf406c1fcb5e67d2ddcc5999b0be2a9ac606d95bc4d000","0x9add5a90ec9385ff1beccaa37ece3cd21958957fbeee1165a4cafb51941375ce","0xc7c2abee2e660b4387c408f087b6c7858f9bf969da05ab2c851ebc3c5ae20e39","0xb7185682824e1c087fa52a6043b0a929198c268362b36bb653f094ce1da9f5e6","0x8f05805f9c218e3bfd6581e21e065d0896c91528a3ea27aec3aa5f870ff911bb","0x8726218de530d708576d414aec2642de043245e9eda0a115df48d3c388d3707f","0xc63f042cb226ef092ea53fee5d2259a347e04c30c770aaf994362836b7fce505","0xfcd782c3f252b70bc968fb5a187963c45ff14fea50222071dde8a666b3ebdbdd","0xbc3e5daeb8c4525fe47bcc0da1546eab6297e135ec75acdf3bc8177600a63e27","0xb9926eb0976a5b473833dada1e63c048bf8ef05dbd747135d29c85140274baf8","0xe9e97d8cdaf19b6da06606a22b4eea548063df6bacb661abea4c37aa637b5c3b","0x4befbbd74452b2a3a89b7e1e809ba011f1be78aeb8153059503fda47c454d086","0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2","0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57"]}