addrbookFor publishers
← The evidence ledger

Evidence row 1479908

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint a576b9d9-3ad5-4845-965d-f6e5985cbe45
Recorded
Previous row
#1378621
Body SHA-256
734ef626e60f85f62e215049a3dc252a222da91eeecc32ff38b60cc6522b1158
Leaf
0x2baef0f7986fbc8d30d9173c4d1b702431f4cd4cff01c03e7ed04360a9f39aec

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, the Isle of Man, the US and Canada 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, the Isle of Man, the US and Canada 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 pay for this fax 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":"734ef626e60f85f62e215049a3dc252a222da91eeecc32ff38b60cc6522b1158","id":1479908,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793441098299289,"prev":1378621,"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 (246033 rows).

  1. 0x2baf24935b4acf82a539d1c9894ad704d05e9dc002666d7d8b71a9028072a644
  2. 0x824a436a49ce4eb16e45acc8ecb4e7b2c4eaec68c6a145155a15e1136356bd90
  3. 0xa27d41d59d48e688474f47b1c3c29a60cfdac46dd1775674924531a68155238a
  4. 0xa173524612ae94f467694b43697c231ed8cc2e92284f9a211fa868f96756335a
  5. 0xd526cb42ae05e6dc73aa9e16f28e9a8fd2d5e1bebebf83a6b8e56eff821fa891
  6. 0x99788c3b76b555e9c28559547929e5dcd5a2b948302ca85a9cc31370f5a3b5eb
  7. 0x6ae0204cf786634670c67946a3f4d1091dc4fd963f0f3a1e0d7c11082444c9e2
  8. 0x2c4bc41f3dbe4738b92860536ea2ab5e35977813dc65495d6c5bd7a24ec96472
  9. 0x3c8580b52d886ae853a557f91bb5e942a00487ff238dd19df0d51e69a3726ba4
  10. 0x84e3967577121cfb426ce130b87fbb7b38a1fc0a7907274f2f274836a3dcc9d3
  11. 0x2d0ecc96bdec37f26b1d31329f2826936898603cfe6e3e60a099ff79887aeb9c
  12. 0xa45482c80b1fdaf871a0e36a1cde3354d424f7d24524878803b37ae4322e2c51
  13. 0x9a2482c4b474ce4b204d9b867c6cc884df05c5e0f70d0217d14a71c3075f147f
  14. 0x6a9ee67e2ec2288c0f63ce0ae02c0a91a836bcfae9ed393ea79a911cf00f29f9
  15. 0x5212e7c531721a66b1d21d8222c94df019d60ce8150c25bfebe2e6eb1dd39726
  16. 0x24ea73817c2ff07f87a42be89aff36ac5fe49b64420a647cd406ee60e6a77f70
  17. 0x37f13582abb3c002d51c2f190c312129cbc3a39754618fee2c75c2441bb1eb94
  18. 0x59f83f7228f07febe2780660e422e171b0359b8aa031ee3be07e991118130c15
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON