addrbookFor publishers
← The evidence ledger

Evidence row 1252313

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint a576b9d9-3ad5-4845-965d-f6e5985cbe45
Recorded
Previous row
#1033184
Body SHA-256
6b4c40c1034be80d8105cbf6b3fe9e4b405b934ab98cd28005b14c214d23073d
Leaf
0x4337477399b9b95c856f237badf20e00ea43cbfe6cdf5cd59fe6728820933004

What was observed

{
  "count": 15,
  "tools": [
    {
      "description": "Use this to add a file the person gave you to a fax: a PDF, or a photo saved as JPG, PNG, WEBP or HEIC, up to 20 MB. Call it once per file, before create_fax, in the order the files should be faxed. It returns document_id, upload_url and upload_headers: PUT the file's exact bytes to upload_url with those headers within 5 minutes, then pass document_id to create_fax within an hour. Nothing is faxed or charged. If you can't read the file's bytes, don't use this: call create_fax without document_ids, and the person adds the file on the status page.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "byte_size": {
            "description": "The file's exact size in bytes.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "checksum": {
            "description": "The file's MD5 digest, base64-encoded, as printed by: openssl md5 -binary <file> | base64",
            "minLength": 1,
            "type": "string"
          },
          "content_type": {
            "description": "The file's media type. It must match the file's contents.",
            "enum": [
              "application/pdf",
              "image/jpeg",
              "image/png",
              "image/webp",
              "image/heic",
              "image/heif"
            ],
            "type": "string"
          },
          "fax_number": {
            "description": "The fax number the file will be faxed to, in international format, like +31201234567. Numbers in the EU, the UK, Switzerland, Norway, Iceland, Liechtenstein, Monaco, Montenegro, Ukraine and the Isle of Man only. Use the same number in create_fax.",
            "type": "string"
          },
          "filename": {
            "description": "The file's name with its extension, like referral.pdf.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "fax_number",
          "filename",
          "byte_size",
          "checksum",
          "content_type"
        ],
        "type": "object"
      },
      "name": "create_document"
    },
    {
      "description": "Use this once the person has confirmed the fax number, and given you their email if they aren't signed in. It creates the fax and returns status_url, the page where the person checks the fax number, documents and price, and pays to send it. Nothing is sent or charged until they pay there. Pass the document_ids from create_document. Without them, the fax waits on the status page for the person to add their files. Choose a private random idempotency_key for each intentional new fax. Reuse the exact same key and request after a timeout or request_in_progress; never change the key just to retry. The key is retained for 24 hours. To check a fax, use get_fax_status or get_fax.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "content": {
            "description": "Text approved by the person, rendered as a PDF before the uploaded documents. Markdown supports headings, lists, tables and links as printed text. Images, raw HTML and remote assets are refused. Always show the generated proof before sending.",
            "properties": {
              "format": {
                "enum": [
                  "text",
                  "markdown"
                ],
                "type": "string"
              },
              "text": {
                "maxLength": 50000,
                "minLength": 1,
                "type": "string"
              }
            },
            "required": [
              "text",
              "format"
            ],
            "type": "object"
          },
          "cover_page": {
            "description": "An optional cover page. Confirm its wording with the person first. It counts toward the total pages; omit if not requested.",
            "properties": {
              "message": {
                "maxLength": 2000,
                "type": "string"
              },
              "recipient": {
                "maxLength": 120,
                "type": "string"
              },
              "sender": {
                "maxLength": 120,
                "type": "string"
              },
              "subject": {
                "maxLength": 200,
                "type": "string"
              }
            },
            "type": "object"
          },
          "document_ids": {
            "description": "The document_id of each file from create_document, in the order they're faxed. Up to 10. Leave it out to let the person add files on the status page.",
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "type": "array"
          },
          "email": {
            "description": "The person's email address, where Faxette sends the receipt and updates. Ask the person for it. Leave it out when they're signed in: their account's email is used.",
            "format": "email",
            "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
            "type": "string"
          },
          "fax_number": {
            "description": "The fax number the fax goes to, in international format, like +31201234567. Numbers in the EU, the UK, Switzerland, Norway, Iceland, Liechtenstein, Monaco, Montenegro, Ukraine and the Isle of Man only.",
            "type": "string"
          },
          "idempotency_key": {
            "description": "A private random UUID for this intentional new fax. Keep it unchanged for retries of the same request within 24 hours.",
            "pattern": "^[A-Za-z0-9_.-]{32,128}$",
            "type": "string"
          },
          "language": {
            "description": "The language the person chooses for the fax page, checkout and emails. Check get_capabilities for this region. Omit to use the account preference or regional default.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "idempotency_key",
          "fax_number"
        ],
        "type": "object"
      },
      "name": "create_fax"
    },
    {
      "description": "Use this to see which Faxette account the person signed in with: their name, email, credit, and whether it's the US or EU copy. Needs the person to sign in to Faxette; calling it while they aren't asks the app to sign them in. It changes nothing.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "get_account"
    },
    {
      "description": "Use this before preparing a fax to check this region's supported countries, languages, file limits and current retail and credit pricing rules. Prices are before tax; the exact total is confirmed after document processing and at checkout. It changes nothing.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "get_capabilities"
    },
    {
      "description": "Use this for one fax from the person's Faxette account: its status, price, payment, documents' file names and history. Pass the id from get_faxes or create_fax. While a fax is sending, call it at most once a minute. Needs the person to sign in to Faxette; calling it while they aren't asks the app to sign them in. It changes nothing.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "id": {
            "description": "The fax's id, from get_faxes or create_fax.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "get_fax"
    },
    {
      "description": "Use this when the person asks for a delivery report or the transmitted document. Returns the destination, page count, delivery result, timestamps and attempts. A report URL is available after delivery, failure or cancellation. Document links are only returned for the signed-in owner of an account fax while its files are retained. Report and document links expire after five minutes. A delivered fax does not establish that the recipient read it. It changes nothing.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "id": {
            "description": "An account fax ID; requires sign-in. Pass this or status_url, not both.",
            "minLength": 1,
            "type": "string"
          },
          "status_url": {
            "description": "The original status link, including its token for a guest fax.",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_fax_report"
    },
    {
      "description": null,
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "review_token": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id",
          "review_token"
        ],
        "type": "object"
      },
      "name": "get_fax_review"
    },
    {
      "description": "Use this when the person asks how their fax is doing, or to see whether it's ready to pay. It reads the fax from its status_url and returns its status, page count, price, payment and attempts. checkout_available is true once the person can pay on the status page. It changes nothing. While a fax is sending, call it at most once a minute.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "status_url": {
            "description": "The status_url create_fax returned, like https://eu.faxette.com/f/abc123?token=xyz.",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "status_url"
        ],
        "type": "object"
      },
      "name": "get_fax_status"
    },
    {
      "description": "Use this when the person asks about faxes they've sent from their Faxette account, like what they sent last week or which faxes failed. Returns 25 at a time, newest first. Pass next_page back as page for the next 25. Filter with status, for example [\"failed\"] or [\"delivered\"]. Use get_fax for one fax's details. Needs the person to sign in to Faxette; calling it while they aren't asks the app to sign them in. It changes nothing.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "page": {
            "description": "The next_page from the previous call.",
            "type": "string"
          },
          "status": {
            "description": "Only faxes in these states.",
            "items": {
              "enum": [
                "draft",
                "processing_documents",
                "documents_ready",
                "awaiting_payment",
                "scheduled",
                "sending",
                "delivered",
                "failed",
                "canceled"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "name": "get_faxes"
    },
    {
      "description": "Search Faxette's catalog by agency, form number or purpose. Returns only numbers supported by this connector, with the official source and verification date. An empty result means we have no current match, not that the office has no fax number. Show the source and have the person confirm the right office before creating a fax. It changes nothing.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "query": {
            "maxLength": 100,
            "minLength": 2,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "lookup_fax_number"
    },
    {
      "description": "Open the private upload and PDF review interface for an account fax before approving payment. Requires sign-in. The browser review link works when the client cannot show MCP Apps.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "id": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "open_fax_review"
    },
    {
      "description": null,
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "byte_size": {
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "checksum": {
            "minLength": 1,
            "type": "string"
          },
          "content_type": {
            "minLength": 1,
            "type": "string"
          },
          "filename": {
            "minLength": 1,
            "type": "string"
          },
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "review_token": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id",
          "review_token",
          "filename",
          "byte_size",
          "checksum",
          "content_type"
        ],
        "type": "object"
      },
      "name": "prepare_fax_upload"
    },
    {
      "description": "Use this only after the person asks to resend a failed fax and confirms its destination, including any corrected number. Check get_fax or get_fax_status first. Reuses the existing fax, payment hold and resend rules; it does not create a new paid fax. Faxette refuses expired resend windows and exhausted retries. If a call is interrupted, check the existing fax before calling again.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "fax_number": {
            "description": "A corrected number explicitly confirmed by the person. Omit to use the existing destination.",
            "type": "string"
          },
          "id": {
            "description": "An account fax ID; requires sign-in. Pass this or status_url, not both.",
            "minLength": 1,
            "type": "string"
          },
          "status_url": {
            "description": "The original fax status link, including its token for a guest fax.",
            "format": "uri",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "resend_fax"
    },
    {
      "description": "Use this to send a fax from the person's Faxette credit. Only for a fax in their account that's ready to pay for: call get_fax first. Show the prepared PDF with open_fax_review or its review_url. Have the person confirm the destination, documents and credit_price, explain that it comes from their credit, and call this only once they clearly agree. If get_account shows their credit doesn't cover it, give them the status page instead, where they can buy credit or pay by card. For the EU connector, also explain that sending starts immediately and the person's right to cancel ends once the fax is delivered. Obtain their explicit agreement before setting immediate_sending_consent to true. Needs the person to sign in to Faxette; calling it while they aren't asks the app to sign them in.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "amount_cents": {
            "description": "The credit_price amount_cents from get_fax that the person agreed to. If the fax's documents changed since, Faxette refuses with price_changed: call get_fax and confirm the new price.",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991,
            "type": "integer"
          },
          "id": {
            "description": "The fax's id, from create_fax, get_faxes or get_fax.",
            "minLength": 1,
            "type": "string"
          },
          "immediate_sending_consent": {
            "description": "Required as true for EU credit sends, only after the person explicitly agrees to immediate sending and acknowledges that their right to cancel ends on delivery. Never infer this from agreement to the price alone.",
            "type": "boolean"
          },
          "quote": {
            "description": "The credit_quote returned by get_fax for the exact destination, PDF and price the person reviewed and approved. After quote_changed or quote_required, show the new proof and obtain fresh approval.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "quote",
          "id",
          "amount_cents"
        ],
        "type": "object"
      },
      "name": "send_fax"
    },
    {
      "description": null,
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "document_ids": {
            "items": {
              "type": "string"
            },
            "maxItems": 10,
            "minItems": 1,
            "type": "array"
          },
          "id": {
            "minLength": 1,
            "type": "string"
          },
          "review_token": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "id",
          "review_token",
          "document_ids"
        ],
        "type": "object"
      },
      "name": "update_fax_review"
    }
  ]
}

What the leaf hashes

{"body":"6b4c40c1034be80d8105cbf6b3fe9e4b405b934ab98cd28005b14c214d23073d","id":1252313,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793368933428202,"prev":1033184,"subject":"a576b9d9-3ad5-4845-965d-f6e5985cbe45","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. 0x43371e48ff968a9fb483c6ef14e3e16ed8bc92c534093ac7afa9a85e8ac6087e
  2. 0x1b392a0fe61b5dabd7dd66dfef614625e1d4e8d74a4715532c38d8b19d58db53
  3. 0x5280088fa7d1f2c19f5672cd8e9f7c46441e0f73c2ce1ba78ddc89c05429cb8c
  4. 0xed49e2ee75c2eddc4c197bf13d96915d007b9bd879cbc9ad861636086fd31d77
  5. 0xe5c4b66dcbc667099aef80fa583efb6da250007c6810de41ea76747cc8f12c3e
  6. 0x8ba661042c359ff99250e584e0b4e912278b97ce2048ce5eb2441e473509ed4a
  7. 0x3941c9174f98d780e6c914498f75b243d3f2016e841c419db881fe9d1a21c49c
  8. 0x2c3967f9f9b51619c8b9238d040055832f1c8640ad792e18b7aef41dd65d9796
  9. 0x0f12f8faf9403d697a8ffb47e9b4e8ce03f369c31afc5a06e9c4f43f86f7faf9
  10. 0x0cd4f7e570b1b8054038c74aa7f4f231ea3508971eb7edc33c95fb63a955ab56
  11. 0xcc7dea1427ef0d8fc02dc26c83b2113f19ccb987b70857c457d612df1ca2cce8
  12. 0x181303cca10a7aac486a6ea2c2ddaae70e35f5af40f5d77d273e00c94f930237
  13. 0xcc206dc2f9e188db598d4b3a17da47efe415d2946ef4b3a478b5d02f3ddb1474
  14. 0x775f1cf1eda93a75a3d05aa8e7b45b258d1de91c21741301b1aa3d048fba588c
  15. 0xd7d5c71ec079257a487d0494049c896f97cf8bf7d89a43fea539777c548c96f3
  16. 0x50ca74d7c8f26a46e9c3b8fb5e7f9ebcdfdcc1b7c863db3b6d2b7c12e24ca66f
  17. 0xb0c9ef42e725578748f3119c9dbebf2fc437266bda013df29f98ed3ebe621403
  18. 0x30a81d8fcef4e8f9e2877c62796cfc5612fc1b251127d531dee28f8dbd5c5147
Day root
0x0826c7ad6039e06a2360ca0a4a3a4fe7f2626c6dc19f71a37599386f78b39875
Chained
0x36b4c8a1063758f0b8765fa1bdf75fa92fb543cc183add3e261880ee2bd1f822
Published
On Arc Testnet, block 69923247: 0x8704744146c6967c8abc9e9a99de4db7283b29e840922ea83a69b6fe776e6861

How to check it · This row as JSON