addrbookFor publishers
← The evidence ledger

Evidence row 303103

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint fb13767d-dbe8-46ed-a106-35172548c318
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
f57ee864103595df5cce6ce7a65e5eb4cdd440dd80f1b06ed81fadb0ccc9c8a2
Leaf
0x9980d5e98d6110981103f48409394fa9c9d944fa9b15004f0cf5b33ebf31ff06

What was observed

{
  "count": 10,
  "tools": [
    {
      "description": "Purchase one of the alternate designs from generate_logo_variations instead of the original logo. Priced the same as the PREMIUM tier. Mints a short checkout link; once paid, the chosen variation becomes the job's deliverable — poll get_logo_result with the same jobToken to retrieve it. This is a paid purchase; the hosted checkout page collects the user's acceptance of the Terms of Service and Privacy Policy, so no separate consent step is needed here.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jobToken": {
            "description": "The jobToken returned by generate_logo.",
            "format": "uuid",
            "type": "string"
          },
          "variationId": {
            "description": "The variationId of the design to purchase, from generate_logo_variations.",
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "jobToken",
          "variationId"
        ],
        "type": "object"
      },
      "name": "buy_logo_variation"
    },
    {
      "description": "Health check that returns the provided message verbatim, confirming the Brandize MCP endpoint is reachable.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "message": {
            "description": "Text to echo back unchanged.",
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "message"
        ],
        "type": "object"
      },
      "name": "echo"
    },
    {
      "description": "Generate a 5-color brand palette from a base hex color and a harmony rule. Returns CSS custom properties, a Tailwind config snippet, or a plain hex list.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "baseColor": {
            "description": "Base color as a 6-digit hex, e.g. \"#3B82F6\".",
            "type": "string"
          },
          "format": {
            "default": "css",
            "description": "Output format for the palette.",
            "enum": [
              "css",
              "tailwind",
              "hex"
            ],
            "type": "string"
          },
          "harmony": {
            "default": "complementary",
            "description": "Color harmony rule used to derive the palette.",
            "enum": [
              "complementary",
              "analogous",
              "triadic",
              "split-complementary",
              "tetradic",
              "monochromatic"
            ],
            "type": "string"
          }
        },
        "required": [
          "baseColor"
        ],
        "type": "object"
      },
      "name": "generate_color_palette"
    },
    {
      "description": "Generate a brand logo. Before calling, collect a short design brief from the user — do not assume defaults: (1) which package/tier they want to buy, (2) visual style, (3) color scheme (a primary brand color, and a secondary/accent if they want one), (4) layout (icon-only, wordmark, horizontal-lockup, or stacked), (5) the primary surface it must read well on, and (6) the industry. Ask for anything the user has not stated; if they have no preference on a field, propose an option and confirm it before generating. Returns a watermarked low-res preview plus a short checkout link priced at the Brandize service tiers, and an `upgrades` list of higher tiers (what each adds + its price) — offer these to the user before checkout and let them upgrade if they want, but never force it. The full-resolution, watermark-free deliverable (PNG + vector SVG + commercial license) unlocks only after payment — poll get_logo_result with the returned jobToken to retrieve it. This is a paid purchase; the hosted checkout page collects the user's acceptance of the Terms of Service and Privacy Policy, so no separate consent step is needed here.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "antiReference": {
            "description": "Anything the logo should avoid looking like.",
            "maxLength": 300,
            "type": "string"
          },
          "brandName": {
            "description": "The brand or product name.",
            "maxLength": 120,
            "minLength": 1,
            "type": "string"
          },
          "colorPrimary": {
            "description": "Dominant brand color as a 6-digit hex. Ask the user for their color scheme; if unsure, propose one and confirm.",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "type": "string"
          },
          "colorSecondary": {
            "description": "Optional secondary/accent color as a 6-digit hex. Offer it as part of the color scheme.",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "type": "string"
          },
          "industry": {
            "description": "Industry category — ask the user; use \"other\" only if it genuinely fits none.",
            "enum": [
              "tech-saas",
              "ecommerce-retail",
              "food-beverage",
              "cafe-restaurant",
              "health-wellness",
              "beauty-cosmetics",
              "fashion-apparel",
              "finance-fintech",
              "legal-professional",
              "real-estate",
              "education",
              "media-podcast",
              "creative-agency",
              "construction-trades",
              "nonprofit-community",
              "other"
            ],
            "type": "string"
          },
          "layoutIntent": {
            "description": "Logo layout (icon-only, wordmark, horizontal-lockup, stacked). Ask the user.",
            "enum": [
              "icon-only",
              "wordmark",
              "horizontal-lockup",
              "stacked"
            ],
            "type": "string"
          },
          "primaryUseSurface": {
            "description": "Primary surface the logo must read well on. Ask the user.",
            "enum": [
              "app-icon",
              "storefront-sign",
              "business-card",
              "social-avatar"
            ],
            "type": "string"
          },
          "style": {
            "description": "Visual style. Ask the user which style they want.",
            "enum": [
              "modern",
              "classic",
              "playful",
              "elegant",
              "minimalist",
              "bold",
              "luxury"
            ],
            "type": "string"
          },
          "tier": {
            "description": "Delivery tier — ask the user which package they want to buy; do not assume one. PREMIUM: full-resolution PNG, vector SVG and a commercial license. COMPLETE: adds alternate logo variations (assembled after payment). BRAND_STARTER / BRAND_KIT: full brand-kit packages (lockups, favicons, palettes, collateral; BRAND_KIT adds social assets, app icons and brand documents). Use get_pricing_tiers to show the user prices if they want to compare before choosing.",
            "enum": [
              "PREMIUM",
              "COMPLETE",
              "BRAND_STARTER",
              "BRAND_KIT"
            ],
            "type": "string"
          },
          "whatItDoes": {
            "description": "One short phrase describing what the brand does.",
            "maxLength": 300,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "tier",
          "brandName",
          "whatItDoes",
          "industry",
          "style",
          "layoutIntent",
          "primaryUseSurface",
          "colorPrimary"
        ],
        "type": "object"
      },
      "name": "generate_logo"
    },
    {
      "description": "Generate alternate style directions for an existing generate_logo job. Free — no checkout — but limited to this job's free-preview credit (1 by default; a COMPLETE purchase grants 2 more, other tiers grant none). Returns the same kind of watermarked, low-res preview as generate_logo, plus how many free credits remain. Before any purchase, each result's variationId can be passed to buy_logo_variation to purchase that design instead of the original. On an already-purchased COMPLETE job, this instead adds more alternates to the deliverable itself (retrieve via get_logo_result as usual) — call it again there if the user wants more once revisionCredits allows. Any other purchased tier refuses outright — its deliverable is fixed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "count": {
            "default": 1,
            "description": "How many alternate-style variations to generate (1-3), capped by the free-preview credits remaining on this job.",
            "maximum": 3,
            "minimum": 1,
            "type": "integer"
          },
          "jobToken": {
            "description": "The jobToken returned by generate_logo.",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "jobToken"
        ],
        "type": "object"
      },
      "name": "generate_logo_variations"
    },
    {
      "description": "Generate an HTML <head> meta-tag block (title, description, canonical, robots, Open Graph, Twitter Card) from page details. All fields optional.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "author": {
            "description": "Content author.",
            "type": "string"
          },
          "canonical": {
            "description": "Canonical URL (also used for og:url).",
            "type": "string"
          },
          "description": {
            "description": "Meta description (og:description fallback).",
            "type": "string"
          },
          "keywords": {
            "description": "Comma-separated keywords.",
            "type": "string"
          },
          "ogDescription": {
            "description": "Open Graph description; defaults to description.",
            "type": "string"
          },
          "ogImage": {
            "description": "Open Graph / Twitter image URL.",
            "type": "string"
          },
          "ogTitle": {
            "description": "Open Graph title; defaults to title.",
            "type": "string"
          },
          "ogType": {
            "description": "Open Graph type, e.g. \"website\" or \"article\".",
            "type": "string"
          },
          "robots": {
            "description": "Robots directive, e.g. \"index, follow\".",
            "type": "string"
          },
          "title": {
            "description": "Page title (<title> and og:title fallback).",
            "type": "string"
          },
          "twitterCard": {
            "description": "Twitter card type, e.g. \"summary_large_image\".",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "generate_meta_tags"
    },
    {
      "description": "Generate a JSON-LD <script> block for a schema.org type (LocalBusiness, Organization, WebSite, Article, FAQPage, or Product) from a flat data object. For FAQPage, pass data.items as [{ question, answer }].",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "data": {
            "additionalProperties": {},
            "default": {},
            "description": "Fields for the chosen type, e.g. { name, url, description, telephone }. FAQPage uses { items: [{ question, answer }] }.",
            "type": "object"
          },
          "type": {
            "description": "schema.org type to generate.",
            "enum": [
              "LocalBusiness",
              "Organization",
              "WebSite",
              "Article",
              "FAQPage",
              "Product"
            ],
            "type": "string"
          }
        },
        "required": [
          "type"
        ],
        "type": "object"
      },
      "name": "generate_schema_markup"
    },
    {
      "description": "Poll a logo job by its jobToken. Once payment has settled, returns a URL to download the full-resolution, watermark-free asset; otherwise a pending status. Read-only and safe to poll — after the user pays, keep polling every ~5 seconds for up to a few minutes (payment confirmation is not instant) until the status is paid.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "jobToken": {
            "description": "The jobToken returned by generate_logo.",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "jobToken"
        ],
        "type": "object"
      },
      "name": "get_logo_result"
    },
    {
      "description": "List Brandize service tiers with their price (USD) and included features. Read-only; nothing is purchased.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "get_pricing_tiers"
    },
    {
      "description": "Search Brandize blog posts (logo design and branding guides) by keyword. Returns matching post titles, excerpts, and URLs.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "additionalProperties": false,
        "properties": {
          "query": {
            "description": "Keyword(s) to match against post titles and content.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_blog"
    }
  ]
}

What the leaf hashes

{"body":"f57ee864103595df5cce6ce7a65e5eb4cdd440dd80f1b06ed81fadb0ccc9c8a2","id":303103,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793055166046739,"prev":null,"subject":"fb13767d-dbe8-46ed-a106-35172548c318","subject_kind":"endpoint"}

Proof

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

  1. 0x9980b913637b66a93395f4d5c21fbf7ff6a0fae1e1f1fd446e154238f6cf6058
  2. 0x8099f9a6b64708c6b3c630ef5ef16e3d4a7051c50dfd344f6451013d5208fe83
  3. 0x6bab6c06601ee328cc565a4c08005514c57fce13fd7e0ec2465fca247d26b597
  4. 0x48f22cb78215234f71e5a493a9faaad03f2e1bbe7ad38ebc76833c79b509ab0a
  5. 0x6e17630d11bf8407d85cac348d86154f6e4ef571211f4cc6960115539007ac8c
  6. 0x0758be85d84a2e6b4ed4d742e4bde0221629fc98281d67f8745c8c300dbfa539
  7. 0x452564e3d18a116c539f19a0d06141e9836ca600a712f9f26e99b368aa8fd4c1
  8. 0x7377731fce4f99f3dc3eeda1b72b603023f6ce5a127c9f54f801090b5b893804
  9. 0x5cd557482ddfdc2785a3cde6388feeb9d3e9d32fbba85bf0a5de3ec63007395f
  10. 0x2902a29ff231b32ccac2765997f18f1504daedb7f97ee4f0577f4a8edf0e7293
  11. 0xd3f19437d703373e99e0bf69c4ca06561426260f599f7d259e3257085a387573
  12. 0x6ae9e6ee1b544d831982666bd3570457659e78fc0064894d7ec23f971a37ff2f
  13. 0x239fd39716710e7412bd120c373072b4c0d8b11bb9ee431dad62a2ce57b3d6f4
  14. 0x49062da782c4f73855ddd5fdd51840749f928b5f17d1ce75ac50f2d829104e72
  15. 0xf0bd63870f0bb378fa300bd33563050dcb7b3e02b44eb3ee550c1c534ec4b246
  16. 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON