addrbookFor publishers
← The evidence ledger

Evidence row 33781

Observed , by baseline/1.

Kind
listing
About
source_record mcp_registry:io.github.avansaber/seo-monster
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
c56038a1e6fa02a00f9bde92eebd5057ac14518fbd8b5942dfbe2ebaa66c4961
Leaf
0x5680fa610d9cc2bd67874fa0496f81f8b982b358f1bf09607d18e6f9e1ea42ab

What was observed

{
  "endpoints": [
    [
      "web",
      "https://www.avansaber.com/seomonster/"
    ]
  ],
  "name": "io.github.avansaber/seo-monster",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-09-25T20:48:22.377157Z",
        "status": "active",
        "statusChangedAt": "2026-09-25T20:48:22.377157Z",
        "updatedAt": "2026-09-25T20:48:22.377157Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Local-first SEO MCP: track AI citations, Search Console, GA4, PageSpeed, Cloudflare, IndexNow, CrUX.",
      "name": "io.github.avansaber/seo-monster",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Path to your Desktop-app OAuth client-secrets JSON, downloaded from Google Cloud Console. Required for Search Console, Indexing, and GA4 tools.",
              "format": "string",
              "name": "SEO_MCP_GOOGLE_OAUTH_CLIENT"
            },
            {
              "description": "Writable path where the cached OAuth token is stored. On first use, a browser opens for one-time consent and the token is written here. Default: ${HOME}/.config/seo-monster/token.json",
              "format": "string",
              "name": "SEO_MCP_GOOGLE_TOKEN"
            },
            {
              "description": "Default Search Console property, e.g. 'sc-domain:example.com' or 'https://www.example.com/'.",
              "format": "string",
              "name": "SEO_MCP_GSC_DEFAULT_SITE"
            },
            {
              "description": "Default GA4 property, e.g. 'properties/123456789' or bare '123456789'.",
              "format": "string",
              "name": "SEO_MCP_GA4_PROPERTY_ID"
            },
            {
              "description": "Google API key shared by PageSpeed Insights and Chrome UX Report History tools. Optional; both work anonymously at a tighter rate limit when unset.",
              "format": "string",
              "isSecret": true,
              "name": "PSI_API_KEY"
            },
            {
              "description": "Cloudflare API token. Optional; needed only for the Cloudflare tools. Scopes: Zone:Read, DNS:Read, Account Analytics:Read, and (only when destructive mode is on) Cache Purge:Purge, Single Redirect:Edit, Zone Settings:Edit, and (for bulk redirects) Account Rulesets:Edit + Account Filter Lists:Edit.",
              "format": "string",
              "isSecret": true,
              "name": "CF_API_TOKEN"
            },
            {
              "description": "Default Cloudflare zone hostname, e.g. 'example.com'.",
              "format": "string",
              "name": "CF_ZONE"
            },
            {
              "description": "IndexNow shared key (any 8-128 hex string you generate). Required only for the IndexNow tools. Host the key file at https://<your-host>/<key>.txt for engine verification.",
              "format": "string",
              "isSecret": true,
              "name": "SEO_MCP_INDEXNOW_KEY"
            },
            {
              "description": "Override the default IndexNow key-file URL (https://<host>/<key>.txt). Set only if you host the key file at a non-standard path.",
              "format": "string",
              "name": "SEO_MCP_INDEXNOW_KEY_LOCATION"
            },
            {
              "description": "Set to 'true' to enable the Cloudflare cache-purge tools. Default false: all destructive tools refuse to run.",
              "format": "string",
              "name": "SEO_MCP_ALLOW_DESTRUCTIVE"
            },
            {
              "description": "DataForSEO Basic-auth login. Optional (v0.9). Unlocks SERP/PAA/related, keyword volume+difficulty+intent, competitor keyword-gap, and Google AI Overview citations for keyword_universe / serp_adjacency_expand / onpage_serp_gap auto-fetch / ai_citation_track.",
              "format": "string",
              "isSecret": true,
              "name": "DATAFORSEO_LOGIN"
            },
            {
              "description": "DataForSEO Basic-auth password. Optional (v0.9). Required alongside DATAFORSEO_LOGIN.",
              "format": "string",
              "isSecret": true,
              "name": "DATAFORSEO_PASSWORD"
            },
            {
              "description": "Open PageRank (DomCop) free API key. Optional (v0.9). Free competitor domain-authority proxy for onpage_serp_gap.",
              "format": "string",
              "isSecret": true,
              "name": "OPENPAGERANK_API_KEY"
            },
            {
              "description": "Perplexity Sonar API key. Optional (v0.9). One of the AI answer-engines for ai_citation_track.",
              "format": "string",
              "isSecret": true,
              "name": "PERPLEXITY_API_KEY"
            },
            {
              "description": "OpenAI API key (Responses web_search). Optional (v0.9). One of the AI answer-engines for ai_citation_track.",
              "format": "string",
              "isSecret": true,
              "name": "OPENAI_API_KEY"
            },
            {
              "description": "Anthropic API key (web_search tool). Optional (v0.9). One of the AI answer-engines for ai_citation_track.",
              "format": "string",
              "isSecret": true,
              "name": "ANTHROPIC_API_KEY"
            },
            {
              "description": "Google Gemini API key (Search grounding). Optional (v0.9). One of the AI answer-engines for ai_citation_track.",
              "format": "string",
              "isSecret": true,
              "name": "GEMINI_API_KEY"
            },
            {
              "description": "Google Ads API developer token. Optional (v0.9). Volume-only alternative to DataForSEO for keyword_universe; live use also needs an adwords-scope OAuth re-consent.",
              "format": "string",
              "isSecret": true,
              "name": "GOOGLE_ADS_DEVELOPER_TOKEN"
            },
            {
              "description": "Google Ads customer id (digits). Optional (v0.9). Required alongside GOOGLE_ADS_DEVELOPER_TOKEN.",
              "format": "string",
              "name": "GOOGLE_ADS_CUSTOMER_ID"
            }
          ],
          "identifier": "seo-monster",
          "registryType": "pypi",
          "transport": {
            "type": "stdio"
          },
          "version": "0.9.3"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/avansaber/seo-monster"
      },
      "version": "0.9.3",
      "websiteUrl": "https://www.avansaber.com/seomonster/"
    }
  },
  "source": "mcp_registry",
  "summary": "Local-first SEO MCP: track AI citations, Search Console, GA4, PageSpeed, Cloudflare, IndexNow, CrUX."
}

What the leaf hashes

{"body":"c56038a1e6fa02a00f9bde92eebd5057ac14518fbd8b5942dfbe2ebaa66c4961","id":33781,"kind":"listing","method":"baseline/1","observed_us":1793025369270468,"prev":null,"subject":"mcp_registry:io.github.avansaber/seo-monster","subject_kind":"source_record"}

Proof

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

  1. 0x56809b984029fb0bb0a80ee6105a62704edaa72182271f764e81b65a75fb0aab
  2. 0xdc612c00c068efbb6fdd84b5300afe7c280473a632763c9b2cc66139d232e312
  3. 0x5f53eb864630600c3793dfc37b22e22c1547b622dcc60c1076d3186d8710f757
  4. 0xa5d41b3e0c59748cc135511fb0845c90f320ca35167666912f4475283337cd7e
  5. 0x573d0e2baec850ecd97f31864cfd1d4b3f129f61bdc17befded1e5d79334875b
  6. 0xde79a19ac3ffbc863c5c515344bd4f68db0a33898489a2a8c9e6fddf26408c29
  7. 0x5437f2e832d3a62efdbd054e3bc44fd8461b226a26f4b1d5a3919c004e15b922
  8. 0xe915487dac7b24ca470520493ad8ede393a01e9deeb4144875be9636b1e3f3ec
  9. 0x7dca6759831bc70cfe9f4675dc59a042e2f1f85f44e42d1fbc0eb83a95baf305
  10. 0x438631e7421eacf3402556d871e592ffc7af75fef2b0709de48c3ef78e8d7fac
  11. 0x014e6ac2bd09cb47ef261fa8d56392362b98c9b103bb1037674237d3604f081f
  12. 0x31b890f57b06aeb1ca9fb0cdc688bb75678ab9b2ff8ba49765e3d7bc0ae98597
  13. 0x8ba3430866b4c11cea7eba9923ee4fa8a5074849df417006e4441426c1f13056
  14. 0x5cdeb4648502e0633d01cc4f3379d48cccb9d4f528565b2868eb93db0df9e829
  15. 0x7726154b91b2ad65b13849ef6cb6443b1f0ff113a3089c9bd5f2bcfc16be099d
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON