addrbookFor publishers
← The evidence ledger

Evidence row 1479173

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 4184acda-b200-4553-aee2-54aafba19977
Recorded
Previous row
#572374
Body SHA-256
49a2588b2bfbe99e257e12a43e4ff6f102ee1dd77620a99219b98c81ef2977e5
Leaf
0xe4fada17fd6dc4b542e484b35d8d985d9c172aca42a2913130e58816353c7f31

What was observed

{
  "count": 12,
  "tools": [
    {
      "description": "Shows whether the contractor has set their password yet (setup_link_pending), the current pricing summary, branding and install details. Requires org_id and setup_claim.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "org_id": {
            "format": "uuid",
            "type": "string"
          },
          "setup_claim": {
            "type": "string"
          }
        },
        "required": [
          "org_id",
          "setup_claim"
        ],
        "type": "object"
      },
      "name": "check_account_status"
    },
    {
      "description": "Creates a GroundQuote account for a fence contractor and emails the contractor a link to set their own password (the email includes the pricing terms). Nothing is charged; no card is required. Returns org_id, slug, the embed snippet, terms_summary, and a setup_claim you must keep and pass to set_fence_pricing, set_branding, set_hosted_page, get_embed_code, check_account_status and resend_setup_email. Confirm the contractor has heard the pricing terms before calling. Use the contractor's own email as owner_email.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "city": {
            "maxLength": 80,
            "type": "string"
          },
          "company_name": {
            "description": "The contractor's business name as it should appear to homeowners",
            "maxLength": 100,
            "minLength": 2,
            "type": "string"
          },
          "owner_email": {
            "description": "The contractor's own email. They receive the set-password link; only they can unlock leads.",
            "format": "email",
            "type": "string"
          },
          "owner_name": {
            "description": "The contractor's name",
            "maxLength": 100,
            "minLength": 2,
            "type": "string"
          },
          "phone": {
            "description": "The contractor's phone number",
            "minLength": 10,
            "type": "string"
          },
          "state": {
            "description": "Two-letter US state",
            "maxLength": 2,
            "minLength": 2,
            "type": "string"
          },
          "terms_relayed": {
            "const": true,
            "description": "Must be true: you have told the contractor the pricing terms from get_pricing_terms",
            "type": "boolean"
          },
          "website_url": {
            "description": "Their website, if they have one",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "company_name",
          "owner_email",
          "owner_name",
          "phone",
          "terms_relayed"
        ],
        "type": "object"
      },
      "name": "create_contractor_account"
    },
    {
      "description": "Returns the full text of a documentation entry by id from search.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "fetch"
    },
    {
      "description": "Returns the iframe HTML to paste into the contractor's site and the hosted-page URL. Requires org_id and setup_claim.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "org_id": {
            "format": "uuid",
            "type": "string"
          },
          "setup_claim": {
            "type": "string"
          }
        },
        "required": [
          "org_id",
          "setup_claim"
        ],
        "type": "object"
      },
      "name": "get_embed_code"
    },
    {
      "description": "Explains the two install paths (iframe embed on an existing site, or a GroundQuote-hosted page for contractors with no site), what works with AI site builders, and how account ownership works. Use before you promise the contractor anything about the install.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_install_instructions"
    },
    {
      "description": "Read this first and relay it to the contractor before creating an account. Returns the plain-language pricing disclosure ($5 browsing lead, $15 high-intent lead, optional $150/month unlimited; nothing charged until the contractor unlocks a lead) and the guarantees. No inputs.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_pricing_terms"
    },
    {
      "description": "Re-sends the contractor's set-password email (max 3 per day per account). Requires org_id and setup_claim.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "org_id": {
            "format": "uuid",
            "type": "string"
          },
          "setup_claim": {
            "type": "string"
          }
        },
        "required": [
          "org_id",
          "setup_claim"
        ],
        "type": "object"
      },
      "name": "resend_setup_email"
    },
    {
      "description": "Searches GroundQuote's documentation (what it is, pricing, install, ownership, pricing format, rules for assistants). Returns ids to pass to fetch.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "query": {
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search"
    },
    {
      "description": "Sets logo, colors and font on the quote widget. Pass auto_fetch_from_url to read the logo and primary color from the contractor's existing site; explicit fields win over fetched values. Requires org_id and setup_claim.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "accent_color": {
            "pattern": "^#[0-9a-fA-F]{6}$",
            "type": "string"
          },
          "auto_fetch_from_url": {
            "format": "uri",
            "type": "string"
          },
          "font": {
            "enum": [
              "Inter",
              "Roboto",
              "Lato",
              "Montserrat",
              "Open Sans",
              "Outfit",
              "Plus Jakarta Sans"
            ],
            "type": "string"
          },
          "logo_url": {
            "format": "uri",
            "type": "string"
          },
          "org_id": {
            "format": "uuid",
            "type": "string"
          },
          "primary_color": {
            "pattern": "^#[0-9a-fA-F]{6}$",
            "type": "string"
          },
          "secondary_color": {
            "pattern": "^#[0-9a-fA-F]{6}$",
            "type": "string"
          },
          "setup_claim": {
            "type": "string"
          },
          "website_url": {
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "org_id",
          "setup_claim"
        ],
        "type": "object"
      },
      "name": "set_branding"
    },
    {
      "description": "Loads the contractor's price list. Rates are dollars per linear foot by material, then style, then height (\"4 ft\", \"6 ft\", \"8 ft\"). Gates are flat surcharges. Ask the contractor for real numbers; never invent them. Replaces the whole fence catalog each call. Requires org_id and setup_claim from create_contractor_account.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "fences": {
            "additionalProperties": {
              "additionalProperties": {
                "additionalProperties": {
                  "exclusiveMinimum": 0,
                  "maximum": 10000,
                  "type": "number"
                },
                "propertyNames": {
                  "pattern": "^\\d{1,2} ft$"
                },
                "type": "object"
              },
              "propertyNames": {
                "minLength": 1
              },
              "type": "object"
            },
            "description": "material -> style -> height (\"6 ft\") -> dollars per linear foot",
            "propertyNames": {
              "minLength": 1
            },
            "type": "object"
          },
          "gate_double_usd": {
            "default": 500,
            "description": "Flat surcharge per double gate",
            "maximum": 100000,
            "minimum": 0,
            "type": "number"
          },
          "gate_single_usd": {
            "default": 300,
            "description": "Flat surcharge per single gate",
            "maximum": 100000,
            "minimum": 0,
            "type": "number"
          },
          "org_id": {
            "format": "uuid",
            "type": "string"
          },
          "removal_per_ft_usd": {
            "description": "Old-fence removal, per linear foot; omit to leave unchanged",
            "maximum": 1000,
            "minimum": 0,
            "type": "number"
          },
          "require_phone": {
            "description": "Require the homeowner's phone number; default true",
            "type": "boolean"
          },
          "setup_claim": {
            "type": "string"
          }
        },
        "required": [
          "org_id",
          "setup_claim",
          "fences"
        ],
        "type": "object"
      },
      "name": "set_fence_pricing"
    },
    {
      "description": "For contractors without a website: turns on a branded page at groundquote.com/{slug} with headline, services and contact details. Requires org_id and setup_claim.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "city": {
            "maxLength": 80,
            "type": "string"
          },
          "cover_url": {
            "format": "uri",
            "type": "string"
          },
          "email": {
            "format": "email",
            "type": "string"
          },
          "enabled": {
            "default": true,
            "type": "boolean"
          },
          "headline": {
            "maxLength": 120,
            "type": "string"
          },
          "org_id": {
            "format": "uuid",
            "type": "string"
          },
          "phone": {
            "maxLength": 30,
            "type": "string"
          },
          "services": {
            "items": {
              "maxLength": 60,
              "type": "string"
            },
            "maxItems": 12,
            "type": "array"
          },
          "setup_claim": {
            "type": "string"
          },
          "state": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string"
          },
          "subheading": {
            "maxLength": 300,
            "type": "string"
          }
        },
        "required": [
          "org_id",
          "setup_claim"
        ],
        "type": "object"
      },
      "name": "set_hosted_page"
    },
    {
      "description": "For fence RENTAL companies (construction sites, events, security) rather than installers. Loads rental products priced in dollars per linear foot per period (day / week / month), the minimum term, per-rental gate charges, delivery and setup fees and optional add-ons (privacy screen, sandbag bases). Enables the rental option on the widget; leaves any installed-fence catalog untouched. Ask the company for real numbers; never invent them. Requires org_id and setup_claim from create_contractor_account.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "addons": {
            "additionalProperties": {
              "additionalProperties": false,
              "properties": {
                "description": {
                  "maxLength": 200,
                  "type": "string"
                },
                "price": {
                  "maximum": 100000,
                  "minimum": 0,
                  "type": "number"
                },
                "unit": {
                  "default": "ft",
                  "enum": [
                    "ft",
                    "panel",
                    "flat"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "price"
              ],
              "type": "object"
            },
            "description": "optional extras the customer can tick, e.g. \"Privacy Screen\" -> { price: 1.25, unit: \"ft\" }",
            "propertyNames": {
              "minLength": 1
            },
            "type": "object"
          },
          "delivery_fee_usd": {
            "description": "Flat delivery + pickup fee added to every quote; omit for none",
            "maximum": 100000,
            "minimum": 0,
            "type": "number"
          },
          "drive_gate_usd": {
            "default": 200,
            "description": "Flat charge per vehicle gate, per rental",
            "maximum": 100000,
            "minimum": 0,
            "type": "number"
          },
          "min_term_days": {
            "default": 28,
            "description": "Shortest rental accepted, in days (28 = one month)",
            "maximum": 3650,
            "minimum": 1,
            "type": "integer"
          },
          "org_id": {
            "format": "uuid",
            "type": "string"
          },
          "panel_length_ft": {
            "default": 12,
            "description": "Panel length used for per-panel add-ons",
            "maximum": 50,
            "minimum": 1,
            "type": "number"
          },
          "products": {
            "additionalProperties": {
              "additionalProperties": false,
              "properties": {
                "description": {
                  "maxLength": 200,
                  "type": "string"
                },
                "rates": {
                  "additionalProperties": false,
                  "description": "dollars per linear foot per period; include only the periods the company offers",
                  "properties": {
                    "day": {
                      "exclusiveMinimum": 0,
                      "maximum": 1000,
                      "type": "number"
                    },
                    "month": {
                      "exclusiveMinimum": 0,
                      "maximum": 1000,
                      "type": "number"
                    },
                    "week": {
                      "exclusiveMinimum": 0,
                      "maximum": 1000,
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              },
              "required": [
                "rates"
              ],
              "type": "object"
            },
            "description": "product name -> { description?, rates: { day?, week?, month? } }, e.g. \"Panel Fence (Freestanding)\" -> { rates: { week: 1.75, month: 2.5 } }",
            "propertyNames": {
              "minLength": 1
            },
            "type": "object"
          },
          "rental_only": {
            "default": false,
            "description": "true if the company does NOT install fence: turns the fence module off so the widget shows rental only",
            "type": "boolean"
          },
          "setup_claim": {
            "type": "string"
          },
          "setup_fee_unit": {
            "default": "flat",
            "enum": [
              "flat",
              "ft"
            ],
            "type": "string"
          },
          "setup_fee_usd": {
            "description": "Setup + removal fee; omit for none",
            "maximum": 100000,
            "minimum": 0,
            "type": "number"
          },
          "walk_gate_usd": {
            "default": 75,
            "description": "Flat charge per pedestrian gate, per rental",
            "maximum": 100000,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "org_id",
          "setup_claim",
          "products"
        ],
        "type": "object"
      },
      "name": "set_rental_pricing"
    }
  ]
}

What the leaf hashes

{"body":"49a2588b2bfbe99e257e12a43e4ff6f102ee1dd77620a99219b98c81ef2977e5","id":1479173,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793432135408996,"prev":572374,"subject":"4184acda-b200-4553-aee2-54aafba19977","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. 0xe4fab1a2b78323bdfc1771c57e69af8be6148eb41399820f4766a62bc4d934c1
  2. 0xe4c5fcd83fbc303c903dfcdfaca205e2615086b3d051a8b852bee9244c377830
  3. 0x3467f3ec2a78ea1d755289d0e6ae45c37054843e23bb779e14a418024bc4bd96
  4. 0x51532adf5275c9e7e9571f83d38f142145a1a3e5e54e186404785c7cc04faf6d
  5. 0xf3d146a9b1ed0300382f543068ea18139397551074d4384df0d15ec9ca77806b
  6. 0x42e15e9b38a5d9cc2b9ae6fb2d7b77f52423589624bb8241c32607bdc0a49e90
  7. 0xdae00941aecfa99052ad87ee87d7fd035e39bf28a4a0f8b3da6f55f6305c1c26
  8. 0x3ce14537d2f6d645259c3888787cdad421238f4b35f39958b235d6e49a5f947e
  9. 0xcc417ebf16903d248191af96c4a3b94b2ec0d1fa7c00c77fefc3d45d27bc1579
  10. 0xd18f9f24c437be11499e90cbae4e414410f9fb26c85e4f3dba5ad48482dc4078
  11. 0xdc98ce348e9d4ca4870bcc6d8944141481e80dde3abe8b976f1d6056ffd55ded
  12. 0x0cdf315dde6fe303f8ca884321ed498109c09462731b523a30ebe540bd1ed81b
  13. 0xb368588f0738889d76c0e4fa3a5ecbd3e7c2b633d3e42b9608c21c8572d0f3b7
  14. 0x7a3059496dcef49b2fbe4b5eca13bdabed15efcf3581d4792babc5647855bfe5
  15. 0x84bdb388a471b951dc5c0f9fd09df3197b8152707ec67daa668ab47102c8efc1
  16. 0x24f03354dcb3a621317889ed99048bdf74b380516ca991bfb585c751d5cc7dfd
  17. 0xa1146af524f673843507e7427a575964580eef01bc0e0eae466a7920df017ab2
  18. 0x0504a25438f3c7932125463198ca74c5064f23f71a5c92763b3fc96a98cc8b57
Day root
0x24463725d1c0d9894bd6123691d532547aaa79f0762c0e45aa6a68acf1fd71ab
Chained
0x7d4824ff313dee7252a46f9d5c37b452851deb6c9f24a40c2f74ee0e53c82980
Published
On Arc Testnet, block 70093156: 0xedb7b832f4ebf6781b5ecd2ed241c435b862f4d3761541fa31adc1831b8c44a0

How to check it · This row as JSON