SEO Audit Console runs on your own machine — the client starts it, so there is no endpoint to ping. 733 installs a week from npm. Last commit 3 Nov 2026.
Technical SEO in Claude: GSC + crawl + DataForSEO - audit, portfolio, market sizing, content recon.
We read the source, 4 d ago · rules 995398eba69f
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
inContainer: boolean = existsSync('/.dockerenv'),
try { const a = new AuditDatabase(path.join(dataDir, p.file)); try { return a.getDfsLocation(p.siteUrl); } finally { a.close(); } } catch { return undefined; }
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add seo-audit-console -e 'GOOGLE_APPLICATION_CREDENTIALS=<GOOGLE_APPLICATION_CREDENTIALS>' -- npx -y @houtini/seo-audit-console
{
"mcpServers": {
"seo-audit-console": {
"command": "npx",
"args": [
"-y",
"@houtini/seo-audit-console"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>"
}
}
}
}
[mcp_servers.seo-audit-console]
command = "npx"
args = ["-y", "@houtini/seo-audit-console"]
env = { GOOGLE_APPLICATION_CREDENTIALS = "<GOOGLE_APPLICATION_CREDENTIALS>" }
{
"mcpServers": {
"seo-audit-console": {
"command": "npx",
"args": [
"-y",
"@houtini/seo-audit-console"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>"
}
}
}
}
{
"servers": {
"seo-audit-console": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@houtini/seo-audit-console"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>"
}
}
}
}
Put your own value in place of
<GOOGLE_APPLICATION_CREDENTIALS> (Path to the Google service-account JSON key with Search Console access).
The author’s registry entry marks it as required.
Optional settings from the registry entry, left out of the block above:
SAC_DATA_DIR (Directory for per-property SQLite databases and reports. Defaults to ~/Documents/seo-audit-console), DATAFORSEO_USERNAME (DataForSEO API username (optional, enables SERP/keyword/domain/market/recon checks)), DATAFORSEO_PASSWORD (DataForSEO API password (optional)), DATAFORSEO_CACHE_DAYS (TTL for the DataForSEO response cache, in days. Default 20), MAJESTIC_API_KEY (Majestic API key (optional). Enriches link_intersect with Trust Flow + Topical Trust Flow and re-sorts prospects by real authority), MAJESTIC_CACHE_DAYS (TTL for the Majestic response cache, in days. Default 30), CRUX_API_KEY (Chrome UX Report API key (optional, free Google Cloud key). Switches on sync_crux: real-user Core Web Vitals (LCP, INP, CLS) and the crux-field-* checks).
AI-agent marketplace: agent templates, web search & crawl, SEO audit, RO company data, city info.
Technical SEO + GEO (AI-search) site audits: hosted crawls, prioritized fixes, report diffs.
SEO for AI agents: crawl sites, audit pages, pull Search Console data, generate shareable reports.
Audit a page or crawl a whole site for technical SEO issues, locally. Compares crawls.
SEO and AI search audit for any website: technical SEO, schema, AI crawler access and llms.txt.
Self-hosted technical SEO audit MCP. 50+ checks, WAF detection, ephemeral. Built on LibreCrawl.
Telegram/VK audience scraping, marketplaces, Russian government registers. Free open dataset.
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
Answers built from our own checks of this server.