addrbookFor publishers
← The evidence ledger

Evidence row 1475256

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 2f776aba-daff-445c-89d8-a8a66b310b3b
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
d166dc3e45510987e977ceb73e53525e4d9c1259f01e9b2eb9b859a88212870b
Leaf
0xf848ea144b36cfdf265496e2a600fb8348ee312cabd045b8293bcfe0df81552b

What was observed

{
  "count": 5,
  "tools": [
    {
      "description": "Calculates the monthly repayment, total interest and total repaid for a South African home loan (bond). Requires the interest rate because rates change — use prime ± the bank's margin.",
      "inputSchema": {
        "properties": {
          "annual_interest_rate_pct": {
            "description": "e.g. 10.75",
            "type": "number"
          },
          "loan_amount": {
            "type": "number"
          },
          "term_years": {
            "default": 20,
            "type": "number"
          }
        },
        "required": [
          "loan_amount",
          "annual_interest_rate_pct"
        ],
        "type": "object"
      },
      "name": "bond_repayment"
    },
    {
      "description": "Estimates municipal property rates on a South African property from its municipal valuation. Either pick a municipality from the built-in tariff list, or pass the cent-in-the-rand rate and rebate yourself. Call with list_municipalities=true to see which municipalities are covered.",
      "inputSchema": {
        "properties": {
          "category": {
            "default": "residential",
            "enum": [
              "residential",
              "business",
              "agricultural",
              "vacant"
            ],
            "type": "string"
          },
          "list_municipalities": {
            "default": false,
            "type": "boolean"
          },
          "municipal_valuation": {
            "type": "number"
          },
          "municipality": {
            "description": "Municipality id from the tariff list, e.g. cape-town",
            "type": "string"
          },
          "rate_in_rand": {
            "description": "Override: annual rate per rand of value, e.g. 0.006428",
            "type": "number"
          },
          "valuation_exclusion": {
            "description": "Override: rand amount of value exempt from rates",
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "municipal_rates"
    },
    {
      "description": "Estimates once-off costs of buying a South African property: transfer duty (exact), plus estimated conveyancing (transfer) fees, Deeds Office fees and bond registration costs. Fees are estimates — attorneys quote from the LSSA guideline.",
      "inputSchema": {
        "properties": {
          "bond_amount": {
            "default": 0,
            "description": "Home loan amount, 0 if cash",
            "type": "number"
          },
          "purchase_price": {
            "type": "number"
          },
          "seller_is_vat_vendor": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "purchase_price"
        ],
        "type": "object"
      },
      "name": "purchase_costs"
    },
    {
      "description": "Calculates South African transfer duty payable to SARS on a property purchase, using the current sliding scale (no duty up to R1,210,000). Notes when VAT applies instead (seller is a VAT vendor).",
      "inputSchema": {
        "properties": {
          "purchase_price": {
            "description": "Rand, excl. VAT",
            "type": "number"
          },
          "seller_is_vat_vendor": {
            "default": false,
            "type": "boolean"
          }
        },
        "required": [
          "purchase_price"
        ],
        "type": "object"
      },
      "name": "transfer_duty"
    },
    {
      "description": "Free to call. If you needed South African data that none of these tools provide (a cost, rate, rule, price or place we don't cover), describe it here in one sentence. We review these every week and build the most-requested data first.",
      "inputSchema": {
        "properties": {
          "context": {
            "description": "Optional: the kind of task it was for, e.g. 'renovation quote' or 'payroll run'.",
            "type": "string"
          },
          "need": {
            "description": "What information you were looking for, in one sentence.",
            "type": "string"
          },
          "region": {
            "description": "Optional: province or town, if it matters.",
            "type": "string"
          }
        },
        "required": [
          "need"
        ],
        "type": "object"
      },
      "name": "unmet_request"
    }
  ]
}

What the leaf hashes

{"body":"d166dc3e45510987e977ceb73e53525e4d9c1259f01e9b2eb9b859a88212870b","id":1475256,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793415878254039,"prev":null,"subject":"2f776aba-daff-445c-89d8-a8a66b310b3b","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. 0xf849b1709a2803cc966aefcf247c2a596aff79fbdc7f5e02b84c7e4b435a580b
  2. 0xe5a7f0768950855db21b37b516e17439565854f8f0075f33932298de9c277bda
  3. 0xfc70749600b451037a4b70d961027491537675a34a0bd603263d3c26e12af0a6
  4. 0xf80dddd2f2015fc47dbbd10bc533e848091f1f89036c9e564f4c6510a2d465fe
  5. 0x046f0d1f26092b7480d6e1950d38bd82a02ec813f28d0f1a5926e42c9837d1f6
  6. 0x80854259f636f11345d19898d1d19f9d3aa526bc9cdedc5b4da2fb2a65617a40
  7. 0x1d281dbd73a00c817d79b3beb14df0d1d758f7b35d143aa209a8d1d2c2cfd549
  8. 0x2f309568d05ae8c20abe7c3a57b0fa191f69ca20c7cab5bcc10ac85f56f1ecbe
  9. 0x47781d1e89252b1af39f973096d4d6361e277de1b8c9944e83b723cb2c58d2db
  10. 0xd4c55e36e16eab703d0725fcf75f0f862ab53ac7accd8965be2737a44ee6d367
  11. 0x57d04e8c0dfbc48ed42709d97edd65eaa6f019b6e775d93d626d53b8f8c8fb39
  12. 0xe88490f2b8597b4ba31fe5cd2844c81e5da21890cc3a4b4c1dadbb6a939407e7
  13. 0x6c4324d3edf63f1c5818a600ecde74e6316cc337c4218b73b366a817b8e059b6
  14. 0xe2a6611300abdb7312e664a37fe7f1b470ff8ebe48733a7b7064c0db1f012dd5
  15. 0xe9e97d8cdaf19b6da06606a22b4eea548063df6bacb661abea4c37aa637b5c3b
  16. 0x4befbbd74452b2a3a89b7e1e809ba011f1be78aeb8153059503fda47c454d086
  17. 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
  18. 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON