addrbookFor publishers
← The evidence ledger

Evidence row 565957

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint a86f2535-d559-4ec5-aa20-7c68c3a1a2f4
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
541ab60621676e4868ac35dc9c75959f2e054461dedee25104773674dd4b4ae8
Leaf
0xff5dc704ef773c9e4588b328be5a68488c5bb5d790532df89c1fd3f0b911823c

What was observed

{
  "count": 5,
  "tools": [
    {
      "description": "Fill AcroForm form fields in a PDF and return the result. Field names must exist in the PDF (use pdf_inspect first). All values are strings; checkboxes take \"true\"/\"false\"; dropdown/radio/optionlist values must be one of the field's options; text values must respect the field's maxLength from pdf_inspect. The source PDF is never modified. Returns the filled PDF inline as an application/pdf resource. Encrypted PDFs are rejected with decrypt advice (common for government blanks with an empty user password).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "fields": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Field name → string value (from pdf_inspect's fillTemplate)",
            "type": "object"
          },
          "flatten": {
            "description": "Bake values into page content and drop the AcroForm so fields are no longer editable",
            "type": "boolean"
          },
          "pdf_path": {
            "description": "Template PDF source: an https:// URL or a data:application/pdf;base64,… URI (this hosted server cannot read local file paths).",
            "type": "string"
          }
        },
        "required": [
          "pdf_path",
          "fields"
        ],
        "type": "object"
      },
      "name": "pdf_fill"
    },
    {
      "description": "List a PDF's AcroForm form fields — names, types, options, current values, per-field maxLength where declared — plus a paste-ready fillTemplate object for pdf_fill and a hasXFA flag (hybrid AcroForm/XFA inputs lose their XFA layer when filled). A PDF with no fillable form returns count 0. Read-only: the PDF is fetched but never modified. Call this FIRST when filling an unfamiliar PDF, since pdf_fill rejects unknown field names and over-length values.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "pdf_path": {
            "description": "PDF source: an https:// URL or a data:application/pdf;base64,… URI (this hosted server cannot read local file paths).",
            "type": "string"
          }
        },
        "required": [
          "pdf_path"
        ],
        "type": "object"
      },
      "name": "pdf_inspect"
    },
    {
      "description": "Generate a complete, professionally laid-out invoice PDF from structured data — no template needed. Deterministic: the same input produces byte-identical output (safe to re-run). Note: without a paid PDFops key the output carries a small \"Generated with pdfops.dev\" footer line. Returns the invoice inline as an application/pdf resource. Use this when you have invoice DATA and no document; if you already have an invoice PDF or a fillable template to populate, use pdf_fill instead.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "invoice": {
            "additionalProperties": false,
            "description": "Invoice data",
            "properties": {
              "currency": {
                "pattern": "^[A-Z]{3}$",
                "type": "string"
              },
              "date": {
                "description": "Calendar date in YYYY-MM-DD form (other formats are rejected with invalid_date). Shown on the invoice; also pins metadata for determinism",
                "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                "type": "string"
              },
              "due": {
                "type": "string"
              },
              "from": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "lines": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "name"
                    ],
                    "type": "object"
                  }
                ]
              },
              "invoice_number": {
                "type": "string"
              },
              "items": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "description": {
                      "type": "string"
                    },
                    "quantity": {
                      "exclusiveMinimum": 0,
                      "type": "number"
                    },
                    "unit_price": {
                      "minimum": 0,
                      "type": "number"
                    }
                  },
                  "required": [
                    "description",
                    "unit_price"
                  ],
                  "type": "object"
                },
                "maxItems": 100,
                "minItems": 1,
                "type": "array"
              },
              "notes": {
                "maxLength": 1000,
                "type": "string"
              },
              "tax_rate": {
                "maximum": 100,
                "minimum": 0,
                "type": "number"
              },
              "to": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "additionalProperties": false,
                    "properties": {
                      "lines": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "name"
                    ],
                    "type": "object"
                  }
                ]
              }
            },
            "required": [
              "from",
              "to",
              "items"
            ],
            "type": "object"
          }
        },
        "required": [
          "invoice"
        ],
        "type": "object"
      },
      "name": "pdf_invoice"
    },
    {
      "description": "Merge two or more PDFs into one, in the order given, and return the result. Sources are read only and never modified. Returns the merged PDF inline as an application/pdf resource. This tool only concatenates whole documents: it does not reorder, rotate or delete pages within them, and it does not fill forms — use pdf_fill for a fillable form and pdf_invoice to build a document from data. An unreadable or rejected input fails with an error, so a partial merge is never returned.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "pdf_paths": {
            "description": "In order, each a PDF source: an https:// URL or a data:application/pdf;base64,… URI (this hosted server cannot read local file paths).",
            "items": {
              "type": "string"
            },
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "pdf_paths"
        ],
        "type": "object"
      },
      "name": "pdf_merge"
    },
    {
      "description": "Check the current PDFops API quota for the configured key: tier, limit, used, remaining, the billing period, and the reset timestamp. Read-only and safe to call before a batch to confirm there is headroom. Uses the API key this connection authenticated with.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "pdfops_usage"
    }
  ]
}

What the leaf hashes

{"body":"541ab60621676e4868ac35dc9c75959f2e054461dedee25104773674dd4b4ae8","id":565957,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138304723816,"prev":null,"subject":"a86f2535-d559-4ec5-aa20-7c68c3a1a2f4","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).

  1. 0xff5da6edaa6ad900a62db7cd4d8a8a12488e96e8c1b9cd6dcabf82b777d7b196
  2. 0xe1ad096f7404903444d635eff5e8f0176c43b9c923360bb0a142859fa775e7b8
  3. 0x195f0a7a20cb7f6d7d635325290b1b3ba7a0005d3cfe07cd5925fa1ef09ece88
  4. 0x423e617bbf66f645596c23d7a68138dffc35f53045b7cacc18d85279a36d9184
  5. 0x379462de1f1d8daebf7b9d2423486bd41d4f1c5a8f55855d5aabf0a8d3cfbf26
  6. 0xbf332a95fa93eba7552c4f845077589f888d36f018af54b9b00724b260120316
  7. 0x74ddc21cd4311cd236bf071e01f8ea334e96646e8f9025dd458b89ebf6d8e548
  8. 0x0f99348cbbd6da7dd89aac52886f8c68cfc14503db8e484d48486f562c2b2475
  9. 0xf62b942d75d2fef9638deb45b2bc9738e92362eb6458f703c0c4298272c7a830
  10. 0xcf98af8333f7fd6bdbc1b992cf9bc07f24c23f9e4453268c27504de07f222988
  11. 0x7e9df831f5c1b2f5e3d3d5c1837e1410fcc354cd33e5999cecca1fd2ece2db37
  12. 0x5fc89955112581b3fcfa3f9a81d69af0e71784d0baa72f00dbfc2abc2e383e84
  13. 0x56e872147e60f01cdcee33340b018a7ad7be91ec5b5daef0d2c629c3ca13cbd8
  14. 0xb5b652bba4a5afca56c21031d89b1c06361563aaf54ccc8541c296ceeb2b66fa
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON