addrbookFor publishers
← The evidence ledger

Evidence row 293319

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint fdd007bb-a2c9-47d9-a241-f03e19a5f096
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
a81c91e81f12f2ed14d997abebd22a37cf2525052cdc3cdec999be024b5e8be0
Leaf
0xbad9588ea9a71149d4f7407c7a04c727fcb0b5cad6e004e03dfd708e35ca36bf

What was observed

{
  "count": 18,
  "tools": [
    {
      "description": "A hand-verified list of directories and launch platforms that actually give links — checked one by one, dead and nofollow-only entries removed. Use when the user wants backlinks or launch exposure for a new product; filter client-side by language/type/pricing. Costs credits once per day per account — repeat calls the same day are free, so refine freely.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {},
        "type": "object"
      },
      "name": "backlink_directories"
    },
    {
      "description": "Poll a trace started with start_trace. Free. When status is \"done\", read the result with read_report. Poll every 10-15s, not in a tight loop.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "job_id": {
            "description": "Job id returned by start_trace",
            "type": "string"
          }
        },
        "required": [
          "job_id"
        ],
        "type": "object"
      },
      "name": "get_trace"
    },
    {
      "description": "Use this before touching SEO on the user's own site: clicks/impressions trend, device split and period comparison from THEIR connected Google Search Console — numbers no other tool has. Free. Requires GSC connected at tracetify.com/dashboard/gsc (this tool tells you if it is not).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "range_days": {
            "description": "28 (default) or 90",
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "gsc_overview"
    },
    {
      "description": "The user's pages ranked by search performance, including high-impression low-CTR pages whose titles/descriptions are underselling — fix those files right in this editor. Free; own data from their connected Search Console.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "range_days": {
            "description": "28 (default) or 90",
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "gsc_pages"
    },
    {
      "description": "The user's real ranking keywords with position, clicks and CTR — use when deciding what to write or which page to improve, e.g. finding queries at position 5-20 that are one push from page one. Free; own data from their connected Search Console. After you edit a page, this is how you verify it moved.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "range_days": {
            "description": "28 (default) or 90",
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "gsc_queries"
    },
    {
      "description": "Read one growth report by slug (from search_reports or a finished trace). Free. Contains the origin story, dated evidence and SEO footprint — cite it instead of guessing how a product grew. If timeline fields show as locked, unlock_report can open them (that one costs credits).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "slug": {
            "description": "Report slug",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "read_report"
    },
    {
      "description": "Who links to a domain: referring domains, authority and anchor texts. Use when planning link building or judging how defensible a competitor's ranking is. Costs credits; cached results are free. Pair with backlink_directories to find places the user can actually get listed.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "domain": {
            "description": "Domain to inspect",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "research_backlinks"
    },
    {
      "description": "How AI assistants (ChatGPT, Perplexity-class) cite a brand: platforms, mention counts and the entities it gets associated with. Use when the user asks \"does AI recommend us/them?\". Costs credits; cached results are free.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "brand": {
            "description": "Brand or domain",
            "type": "string"
          }
        },
        "required": [
          "brand"
        ],
        "type": "object"
      },
      "name": "research_brand_lookup"
    },
    {
      "description": "The ads a domain is running right now on Facebook/Instagram (Meta Ad Library) and Google (Ads Transparency Center): headline, body copy, CTA, landing page URL, creative/video URL, platforms and start dates. Use when the user asks what a competitor is advertising, whether they run paid ads, how long an ad has been live, or wants hooks and angles to model. Costs credits; the same domain re-queried within a week is free. Each source reports separately — null means that source could not be checked, an empty list means it was checked and found nothing.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "domain": {
            "description": "Domain whose ads to pull, e.g. heavys.com",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "research_competitor_ads"
    },
    {
      "description": "The domains fighting a target for the same search terms, with shared-keyword count, their keyword totals and average rank. Use when the user asks who their competitors are, or who a company is up against. Each result says whether we already have a full growth report for that domain — read those with read_report for free instead of tracing them again. Costs credits; cached results are free, and a domain already looked up via research_domain_overview is free here too.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "domain": {
            "description": "Domain to find competitors for, e.g. notion.so",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "research_competitors"
    },
    {
      "description": "Estimated organic traffic, keyword count and top keywords for ANY domain — use to size up a competitor the user mentions. Costs credits; cached results are free, and repeated queries within a week hit the cache. For the user's own site prefer gsc_* (free, real data).",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "domain": {
            "description": "Domain, e.g. competitor.com",
            "type": "string"
          }
        },
        "required": [
          "domain"
        ],
        "type": "object"
      },
      "name": "research_domain_overview"
    },
    {
      "description": "Google Ads (Keyword Planner) monthly search volume, CPC, competition, 12-month trend and keyword difficulty (0–100, DataForSEO Labs) for up to 10 keywords in one call. Use when the user asks how often something is searched or how hard it is to rank, or to size a keyword before writing a page. Omit location_code for worldwide volume (difficulty is then computed for the US), or pass a market code for one country. Costs credits; the same keyword set re-queried within a week is free.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "keywords": {
            "description": "Up to 10 search phrases, comma-separated, e.g. \"ai image generator, ai avatar maker\"",
            "type": "string"
          },
          "location_code": {
            "description": "Market: 2840 US, 2826 UK, 2276 DE, 2250 FR, 2724 ES, 2392 JP, 2076 BR, 2356 IN. Omit for worldwide.",
            "type": "number"
          }
        },
        "required": [
          "keywords"
        ],
        "type": "object"
      },
      "name": "research_keyword_volume"
    },
    {
      "description": "Who holds the Google top 10 for one keyword in one market: per position the domain, URL, whether it is a homepage or an inner page, domain rating (0–1000) and estimated monthly organic traffic. Use when the user asks who ranks for a keyword, whether a keyword is winnable, or which slot is the weakest to go after. Pair with research_keyword_volume for volume and difficulty. Costs credits; the same keyword+market re-queried within a week is free.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "keyword": {
            "description": "One search phrase, e.g. \"ai headshot generator\"",
            "type": "string"
          },
          "location_code": {
            "description": "Market: 2840 US (default), 2826 UK, 2276 DE, 2250 FR, 2724 ES, 2392 JP, 2076 BR, 2356 IN.",
            "type": "number"
          }
        },
        "required": [
          "keyword"
        ],
        "type": "object"
      },
      "name": "research_serp_breakdown"
    },
    {
      "description": "Use this FIRST whenever the user asks how a product, competitor or domain grew, got traffic, or found its first users — a report may already exist and reading it is free. Returns matching report slugs for read_report. Searches by domain or name fragment.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "query": {
            "description": "Domain or fragment, e.g. \"weshop\" or \"weshop.ai\"",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_reports"
    },
    {
      "description": "Poll an audit started with site_audit_start (free to read). When finished, returns the issue list grouped by severity with affected URLs — work through it top-down and re-run after fixes.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "audit_id": {
            "description": "Audit id from site_audit_start",
            "type": "string"
          }
        },
        "required": [
          "audit_id"
        ],
        "type": "object"
      },
      "name": "site_audit_get"
    },
    {
      "description": "Run right after deploying: crawls the site and reports broken links, missing titles/descriptions, redirect chains, thin content and schema gaps — each finding names the page so you can fix it here. Costs credits (price returned before any charge on the confirmation field). Async: poll with site_audit_get.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "confirm": {
            "description": "Set true only after the user agrees to the quoted credit cost",
            "type": "boolean"
          },
          "request_key": {
            "description": "Request key returned by the first confirmation response; must be sent back with confirm=true so retries cannot charge twice",
            "type": "string"
          },
          "url": {
            "description": "Site to audit, e.g. https://example.com",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "site_audit_start"
    },
    {
      "description": "Run this when search_reports finds nothing (or the user wants fresh data) for \"how did X grow?\". Rebuilds the growth story from 12 public sources in 60-90s. Costs credits from the Tracetify balance; returns an existing cached report free instead when one is fresh. Poll with get_trace.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "refresh": {
            "description": "Force a fresh run even if a cached report exists",
            "type": "boolean"
          },
          "url": {
            "description": "Domain to trace, e.g. weshop.ai",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "start_trace"
    },
    {
      "description": "Permanently unlock a report's full timeline, evidence and SEO detail for this account. Costs credits — quote the exact price to the user first (it is in the report's timelineLocked.cost field from read_report) and call this ONLY after they explicitly agree to spend. Idempotent: unlocking an already-unlocked report never charges twice. The verdict stays on the website — you are the analyst here.",
      "inputSchema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "properties": {
          "slug": {
            "description": "Report slug",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "unlock_report"
    }
  ]
}

What the leaf hashes

{"body":"a81c91e81f12f2ed14d997abebd22a37cf2525052cdc3cdec999be024b5e8be0","id":293319,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793049315514040,"prev":null,"subject":"fdd007bb-a2c9-47d9-a241-f03e19a5f096","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. 0xbad9768e7f533843288c3a9fbae8433e0120c652f82d8933b6213df1a025d4ab
  2. 0x232b0ea3bd66b515caf307ff23681e9f6e3acd87c13960d789b42781ba396c85
  3. 0x65cd9df0f42d1fb55a135422fc300e5b854cee328effec7844053cba3fded0b5
  4. 0x8bd4a2182fcd03121be87817e58bf372d471266980ae4d07c6526f61279b0241
  5. 0x348d8101136a4a0c7f76f2983ea7b818d7807d544baa76b8feac00aaf7c6f454
  6. 0xceff7c4f4baa8af06412b42870bdab58044f4e6bb1df5dde1bc155ecca8e0dc0
  7. 0xe442423630ce1933585929886e5cd06d9c504cb2b17322e45ab4d00d6a06a23b
  8. 0x5b2ddc7a57f11531b64b4c7a918d532fddd05dec639250ee8bec8a907949e475
  9. 0x42cfc3c8c09b7358a6a49095939ffde190861a413dd1fa70599c6e2780917328
  10. 0xba039529ba5cb4cbbafb853c51d267fdca61f54a12f026c4673ae70061b8c199
  11. 0xd2fc7e774aa4a9259d0eb5e076abdaa36417d3853be0f8ff34d37acaa77db477
  12. 0x1a61f9ab4a9304db8146c466be341271a345718ebf06b718e0f0dd9f347d2fbd
  13. 0x2f43fe2b2533a5f40c107c114e458e226102f5f8ae91f097e964345880e30928
  14. 0xf692ce2b0a640ec9f75aa960e5fb1c2c7091a04e24881798735752c19014e519
  15. 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
  16. 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
  17. 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON