← 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).
- 0x56809b984029fb0bb0a80ee6105a62704edaa72182271f764e81b65a75fb0aab
- 0xdc612c00c068efbb6fdd84b5300afe7c280473a632763c9b2cc66139d232e312
- 0x5f53eb864630600c3793dfc37b22e22c1547b622dcc60c1076d3186d8710f757
- 0xa5d41b3e0c59748cc135511fb0845c90f320ca35167666912f4475283337cd7e
- 0x573d0e2baec850ecd97f31864cfd1d4b3f129f61bdc17befded1e5d79334875b
- 0xde79a19ac3ffbc863c5c515344bd4f68db0a33898489a2a8c9e6fddf26408c29
- 0x5437f2e832d3a62efdbd054e3bc44fd8461b226a26f4b1d5a3919c004e15b922
- 0xe915487dac7b24ca470520493ad8ede393a01e9deeb4144875be9636b1e3f3ec
- 0x7dca6759831bc70cfe9f4675dc59a042e2f1f85f44e42d1fbc0eb83a95baf305
- 0x438631e7421eacf3402556d871e592ffc7af75fef2b0709de48c3ef78e8d7fac
- 0x014e6ac2bd09cb47ef261fa8d56392362b98c9b103bb1037674237d3604f081f
- 0x31b890f57b06aeb1ca9fb0cdc688bb75678ab9b2ff8ba49765e3d7bc0ae98597
- 0x8ba3430866b4c11cea7eba9923ee4fa8a5074849df417006e4441426c1f13056
- 0x5cdeb4648502e0633d01cc4f3379d48cccb9d4f528565b2868eb93db0df9e829
- 0x7726154b91b2ad65b13849ef6cb6443b1f0ff113a3089c9bd5f2bcfc16be099d
- 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
- 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
- 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae