F
Warning
26/100
13 days ago

mcp-seo-audit

SEO audit and Google Search Console MCP server with 23 tools. Search analytics, URL inspection, Indexing API, Core Web Vitals (CrUX), striking distance keywords, keyword cannibalization detection, branded query analysis, and automated site audits.

Warning. Serious findings were identified. Review the full report before connecting. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

GiorgiKemo

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
🚨
Reads files from sensitive locations
Touches: service_account_credentials.json, service_account_credentials.json
🔐
You'll be asked for 3 credentials: CRUX_API_KEY, PAGESPEED_API_KEY, GOOGLE_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configGSC_CREDENTIALS_PATHService account service_account_credentials.json Path to service account key
configGSC_OAUTH_CLIENT_SECRETS_FILE"": "/path/to/client_secrets.json",
configGSC_SKIP_OAUTHNo false Set to true to skip OAuth and use service account only
configGSC_DATA_STATENo all all = fresh data matching GSC dashboard, final = confirmed data (2-3 day lag)
🔐 secretCRUX_API_KEY"": "your-google-api-key"
🔐 secretPAGESPEED_API_KEY"": "your-google-api-key",
🔐 secretGOOGLE_API_KEYYou can also set ; the server uses it as the PageSpeed Insights fallback key.
configLIGHTHOUSE_CHROME_PATHNo auto-detect Optional explicit path to Chrome/Chromium for local Lighthouse CLI
configCHROME_PATH
configSEO_AUDIT_MAX_FETCH_BYTESNo 5242880 Maximum bytes read from a fetched page, robots.txt, or sitemap response
configSEO_AUDIT_MAX_REDIRECTSNo 5 Maximum redirects followed by live audit fetches
configSEO_AUDIT_MAX_SITEMAP_URLSNo 50000 Maximum sitemap URLs parsed from one sitemap document
configSEO_AUDIT_MAX_CRAWL_PAGESNo 100 Hard upper bound for crawl_site_seo and audit_live_site crawls
configSEO_AUDIT_ALLOW_PRIVATE_URLSNo false Allows live audit fetches against localhost/private/reserved IPs; keep disabled except trusted local testing
configSEO_AUDIT_ENABLE_WRITE_TOOLSNo false Enables mutating tools such as adding/removing GSC properties, sitemap submission/deletion, and Indexing API publish calls
configSEO_AUDIT_ALLOW_NPX_LIGHTHOUSENo false Allows npx --yes lighthouse fallback when no local Lighthouse binary is available
configLIGHTHOUSE_BINARYNo auto-detect Explicit Lighthouse executable path. Preferred over npx for repeatable audits
configLIGHTHOUSE_NO_SANDBOXNo false Adds Chrome --no-sandbox; use only in constrained containers that require it
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

30/30 tools missing one or more hints — list_properties (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); add_site (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); delete_site (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +27 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Destructive tools are labelled

1 tool perform destructive updates without destructiveHint — reauthenticate deletes at line 2912 (os.remove(TOKEN_FILE))

Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.

Tool inputs are validated

28/30 tool handlers declare input schemas (93%)

Declare an inputSchema with zod/joi/yup on every tool definition.

Tests exist

No test files found

Add tests that exercise each declared tool.

No access to sensitive paths

Reads sensitive paths: service_account_credentials.json, service_account_credentials.json

Remove reads of sensitive system paths. If you genuinely need them, document why in the README.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/giorgikemo-mcp-seo-audit-1ro3t7?variant=verified)](https://m8ven.ai/mcp/giorgikemo-mcp-seo-audit-1ro3t7)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: a493c6af802fac6256237aa05676eb074fb6477b
code hash: 465531a29c1d856fcc4223e04dc7d01d2fb63f27436a966bccc1e26b1378bd71
verified: 8/7/2026, 2:37:33 AM
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client