addrbookFor publishers
← The evidence ledger

Evidence row 2712555

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint b7f2ab45-2bb4-4ea1-bc4c-bab6ccf3485d
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
49a2588b2bfbe99e257e12a43e4ff6f102ee1dd77620a99219b98c81ef2977e5
Leaf
0x866039d41a8a1d9e749c9e2125ab2ed0e3c42e0f14f6902f9250fed680a468af

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":2712555,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793739409500354,"prev":null,"subject":"b7f2ab45-2bb4-4ea1-bc4c-bab6ccf3485d","subject_kind":"endpoint"}

Proof

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

  1. 0x8660244b17ee6329a07ffd780661766e885bfd52bcf66e12b07578afa2518cb9
  2. 0xcd96541c476a2b7df95b1987072a4068c47e5e4f669750a984aa6303cffac374
  3. 0x2217e04319fa899bf8d004a61767cdd6de5f2fc7d94637ac07944595703bc7d4
  4. 0x1df38b596ed7c5fc89ef1ae98671b772f28267e26b11fa9f7bd2963aa4694fad
  5. 0x9d5cc68c608c787a131bb0b6210ce478614cfbc443985c55fe08b35068f3a8b6
  6. 0x1e39d4300f87bae973782200f4fbb33cca30b5575892dea7ea90ae0635785b2f
  7. 0xf34b4cec42ff3aaa07972ad543a7e41bc4750b6a8e16ba3a73b173c979c286a8
  8. 0xa05e2089eb067a358612e7f77d10eec18b67a7887e8b9dd24f9848cfa482f209
  9. 0x73c53df59b3678eb0bfaa9d3b7a21199ea0e5f2b4305f6149d9cfb7d706602ce
  10. 0x90d967fa53fe6c32ec1a51e88e965b3aae58b9a5a949d6fde437aa6bdb6076e9
  11. 0x3d0b6ce8c48efdf1d437d817a4d3c2377fb769c3cf5754b744f64dd8508b0d47
  12. 0xaef81b61033fee85d110126aed81fbcb0cbee16e8087bf4d35e2e6fb074eba13
  13. 0x9fcad7b6a3a72383a675ff1c88984ed98f2e83727da75d3965a28fb3c0515c37
  14. 0x2c7b214378c568c43cd230b3af22d5b7530813ac1c6dd11bb8169f29d025bb3d
  15. 0xd7fa57d9cb0ff551366a474cfe5dd932be199a84a12f0b57b253725627acf8dc
  16. 0x4f4b24a0a0ca0387085210387f5358e81c7f788419e50cf11713524585340a3c
  17. 0x271a5f715272513f57457682f93389885577f2664b5ae5dcea924ad10a098eb5
  18. 0x717b5d7cbc24826c5b1f7b7433bf30b76e9ba1370476af4e1b494a5211897cc3
  19. 0xe35032d4b064b015fe60638756eeb0bc24e7c7943586468d33349341ee0ed3d6
Day root
0xb646ffa569e24bf8336b0a15a9d98d0a2f1239f58e10c2b18a9d22e43343566a
Chained
0x35e926359fd19031c6b5e08fb3b44f2524386a57c8fdd353336c185603f53d43
Published
On Arc Testnet, block 70601990: 0xa5f9dadba13cde129126b950e64b815e6833cb8ff53b75026c9dbe769c3768c7

How to check it · This row as JSON