SiteProbe MCP Server
Integrates with Google Analytics 4 to retrieve analytics data for website audits.
Allows using Google Gemini for deeper semantic analysis of website content during audits.
Integrates with Google Search Console to fetch search performance and indexing data for website audits.
Provides lab-based Core Web Vitals performance data by running Google Lighthouse audits.
Allows using OpenAI models for deeper semantic analysis during website audits.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SiteProbe MCP ServerAudit https://example.com and list the most critical SEO issues."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SiteProbe
Open-source autonomous website auditor & fixer for SEO, GEO, performance, accessibility and technical web quality.
Quick Start • Google Update Triage • Workflow • AI Assistants & Skill • MCP Server • Honesty & Status Table
β‘ Short Demo
# 1. Run deep public website audit
siteprobe audit https://example.com --lang en --output ./siteprobe-report
# 2. Automatically apply safe code remediations to local project
siteprobe fix ./siteprobe-report/audit.json --repo /path/to/project
# 3. Verify that changes resolved the issues without regressions
siteprobe verify ./siteprobe-report/audit.json --repo /path/to/project
# 4. Triage Search Console performance around Google algorithm updates
siteprobe update-triage --csv examples/update-impact/sample-input.csvRelated MCP server: OctoBoost SEO MCP Server
π‘ Why SiteProbe?
Most auditing tools are passive checklists. They hand you a 40-page PDF of problems and leave the engineering team with all the toil.
SiteProbe connects diagnosis with remediation.
It doesn't just find a missing canonical tag, an unlabelled accessibility input, or an absent /llms.txt file for AI agentsβit constructs an atomic, risk-categorized remediation plan, modifies local source code safely, and runs post-change verification to prove the problem is resolved.
Core Guarantees:
Zero Hallucination: No simulated rankings or fabricated Search Console numbers. If an external credential is missing, SiteProbe clearly marks it as optional/unavailable and explains how to connect it.
Deterministic Quality Scoring: Transparent, explainable weights across Technical, On-Page, Schema, GEO, Accessibility, and Security.
Realistic GEO Metrics: The GEO score is strictly a technical readiness index evaluating observable signals (AI crawler permissions in robots.txt,
/llms.txtpresence, structured entities, and question-answer semantics). It is not a guarantee or predictor of AI citations or rankings.Safety First: Every automated fix creates an in-memory file snapshot before applying changes and rolls back automatically if verification fails.
Multilingual from Day 1: Native localized audits in English (
en), Persian (fa), and Turkish (tr).
π Feature Status & Honesty Table
Component / Feature | Implementation Status | Test Coverage | Description |
AsyncIO Crawler | WORKING | Verified (Unit & Live) | Polite queue, adaptive backoff, SQLite storage, robots & sitemap parsing. |
Technical SEO Checks | WORKING | Verified (Unit & Live) | HTTP status codes, broken links, redirect chains, canonicals, robots/sitemap. |
SSR & Hydration Audit | WORKING | Verified (Unit & Live) | Framework signatures, client-only SPA empty shells, and raw server SEO tag parity. |
On-Page SEO Checks | WORKING | Verified (Unit & Live) | Title/description lengths, duplicates, H1 hierarchy, alt tags, hreflangs. |
Schema.org Validator | WORKING | Verified (Unit & Live) | JSON-LD syntax errors, Organization, Article, Breadcrumb, and FAQ schemas. |
GEO / AEO Readiness | WORKING | Verified (Unit & Live) | Bot directives (OAI-SearchBot, PerplexityBot, ClaudeBot), |
Deterministic Scoring | WORKING | Verified (Unit & Live) | 100% transparent formula with itemized deductions and pillar breakdowns. |
Safe Autofix Engine | WORKING | Verified (Unit & Live) | Local file modifier for meta tags, canonicals, alt attributes, robots.txt, llms.txt. |
Verification Engine | WORKING | Verified (Unit & Live) | Re-evaluates before/after states; assigns FIXED, IMPROVED, UNCHANGED, SKIPPED. |
Multi-format Reporting | WORKING | Verified (Unit & Live) | Single-file zero-CDN HTML dashboard, structured JSON ( |
Multilingual (i18n) | WORKING | Verified (Unit & Live) | Native translations for English ( |
MCP Server | WORKING | Verified (Unit & Live) | FastMCP server exposing 14 tools ( |
Google Update Triage | WORKING | Verified (Unit & Benchmark) | Frozen-window comparison, GSC CSV triage, technical issue vs. algorithm correlation. |
Lighthouse CLI | OPTIONAL | Tested | Lab Core Web Vitals runner via local Node.js / |
Playwright Automation | OPTIONAL | Tested | Headless browser for SPA rendering (requires |
Google Search Console | OPTIONAL | Scaffolded | Adapter ready; requires |
Google Analytics 4 | OPTIONAL | Scaffolded | Adapter ready; requires |
DataForSEO API | OPTIONAL | Scaffolded | Adapter ready; requires |
AI LLM Reasoning | OPTIONAL | Scaffolded | LiteLLM wrapper for deeper semantics (requires OpenAI/Anthropic/Gemini keys). |
SSH Server Fixer | ROADMAP | Planned | Direct atomic remote patching over SSH key authentication. |
WordPress / CMS Plugins | ROADMAP | Planned | Native CMS plugins for direct headless database and API remediation. |
π― From Measurement To Action: The Remediation Loop
SiteProbe serves as the Autonomous Remediation & Verification Engine for the Molavi AI Visibility Stack, turning empirical findings from GEO-Scope Benchmarks into verified code remediations:
βββββββββββββββββββββββββββββββββββ
β 1. BENCHMARK FINDING β Empirical visibility baseline measured via GEO-Scope
β (e.g., Low AI Recommendation) β (e.g., missing citations, unquoted brand entities)
ββββββββββββββββββ¬βββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββ
β 2. DEEP AUDIT β SiteProbe / SAGE analyzes DOM, headers, AI crawlers,
β (Technical, Entity, Semantic) β passage chunk boundaries, and schema structures
ββββββββββββββββββ¬βββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββ
β 3. RECOMMENDATION PLAN β Deterministic, risk-stratified actionable fixes:
β (SAFE_AUTOFIX / MANUAL_REVIEW) β robots.txt bot policies, JSON-LD graphs, llms.txt
ββββββββββββββββββ¬βββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββ
β 4. SAFE IMPLEMENTATION β SiteProbe safely modifies source code repository
β (Atomic Snapshot & Patch) β with automatic rollback on syntax or rule failure
ββββββββββββββββββ¬βββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββ
β 5. EMPIRICAL RE-MEASURE β GEO-Scope re-executes standardized prompt test suite
β (Measure Ξ SoM & Citations) β to measure verified lift in observed AI visibility
βββββββββββββββββββββββββββββββββββSee the Benchmark Ecosystem Map for full architectural contracts.
ποΈ Ecosystem
SiteProbe operates as the autonomous remediation component of the Molavi AI Visibility Stack:
Discovery: AnswerPath GEO
Measurement: GEO-Scope
Diagnostics: SAGE Audit
Action: SiteProbe
Protocol: MCP GEO Server
π Evidence & Remediation Benchmarks
Audit Findings Payload:
examples/audit_example.jsonVerified Fix & Delta Payload:
examples/fix_example.jsonStandalone Offline Remediation Demo:
examples/public_demo/Live Crawl Report Case Study:
siteprobe-report-molavi/audit.mdRemediation Guide & Safety Protocol:
docs/remediation_guide.mdCross-Repository Evidence Map: Ecosystem Evidence Flow
π Report Preview
SiteProbe generates a single-file, interactive HTML report with zero external CDN dependencies:
Interactive Scorecard: Overall score and individual category health gauges.
GEO & AI Search Pillar Breakdown: Transparent scoring for bot access,
llms.txt, entity clarity, and QA markup.Filterable Finding Cards: Browse issues by severity (Critical, High, Medium, Low) and category.
Diff Viewer: See unified code diffs of all remediations applied.
π¦ Installation
From Source (Clean Environment)
git clone https://github.com/tmolavi/siteprobe.git
cd siteprobe
pip install -e .Optional Dependency Extras
# Headless browser automation (Playwright)
pip install "siteprobe[browser]"
playwright install chromium
# Google Search Console & GA4 APIs
pip install "siteprobe[google]"
# LLM Providers (LiteLLM)
pip install "siteprobe[ai]"
# All optional integrations
pip install "siteprobe[all]"β±οΈ 60-Second Quick Start
# Check installed tools and environment
siteprobe doctor
# Run an audit on a website
siteprobe audit https://example.com
# Inspect generated reports
open ./siteprobe-report/audit.htmlπ Python Usage
import asyncio
from siteprobe.core.engine import AuditEngine
from siteprobe.core.config import SiteProbeConfig, SiteConfig, CrawlConfig
async def main():
config = SiteProbeConfig(
site=SiteConfig(url="https://example.com", language="en"),
crawl=CrawlConfig(max_pages=25, concurrency=3),
)
engine = AuditEngine(config=config)
result = await engine.run_audit("https://example.com")
print(f"Overall Quality Score: {result.scores.overall_score}/100")
print(f"GEO Readiness Score: {result.scores.geo_score}/100")
print(f"Discovered {len(result.findings)} findings across {result.crawl_summary.total_crawled} pages.")
if __name__ == "__main__":
asyncio.run(main())π» CLI Usage
SSR & Rendering Inspection
Inspect initial raw server HTML for SSR vs. client-only SPA rendering, framework hydration payloads (Next.js, Nuxt, Remix, Astro), and missing raw SEO tags:
siteprobe ssr https://example.comAudit Command
# Standard audit
siteprobe audit https://example.com
# Specify crawl cap and output folder
siteprobe audit https://example.com --max-pages 100 --output ./my-audit
# Multilingual audit in Persian or Turkish
siteprobe audit https://example.com --lang fa
siteprobe audit https://example.com --lang tr
# Include Lighthouse performance lab data (requires Node.js)
siteprobe audit https://example.com --lighthouseFix Command
# Apply safe autofixes to a local project repository
siteprobe fix ./my-audit/audit.json --repo /path/to/my-projectVerify Command
# Verify applied changes against the audit report
siteprobe verify ./my-audit/audit.json --repo /path/to/my-projectπ Google Update Impact Triage (v0.2.0)
SiteProbe provides an evidence-based, reproducible workflow for examining Google Search Console performance changes around official algorithm updates (e.g. the September 2026 Google Spam Update, rolled out 2026-09-24 through 2026-10-08).
π― Objective: Distinguishing 5 Diagnostic States
Rather than guessing or blaming Google updates arbitrarily, SiteProbe strictly classifies observations into one of 5 defensible states:
NO_CLEAR_CHANGE_OBSERVED: Observed fluctuations remain within the site's own daily baseline variance envelope ($2 \times \text{CV}$).PERFORMANCE_CHANGE_OBSERVED: Statistically meaningful traffic decline occurred during update rollout with no manual actions or blocking technical errors.TECHNICAL_ISSUE_OBSERVED: Severe technical defects (HTTP 5xx, noindex, broken canonicals, or robots.txt blocks) explain ranking or traffic drop independently.MANUAL_ACTION_REPORTED: Explicit Search Console manual action notice confirmed (never inferred from traffic decline).INSUFFICIENT_DATA/DATA_UNAVAILABLE: Incomplete comparison windows or missing Search Console export.
π Frozen Comparison Windows (September 2026 Spam Update)
PRE Window:
2026-09-10to2026-09-23(14 days, matched weekdays)ROLLOUT Window:
2026-09-24to2026-10-07(14 days, matched weekdays)COMPLETION Day:
2026-10-08(1 day recorded separately)POST Window:
2026-10-09to2026-10-22(markedINCOMPLETE; no future data extrapolated)
π» Triage CLI Commands
# Run triage on a Search Console performance export
siteprobe update-triage --csv ./gsc_performance.csv
# Run triage with simultaneous technical site audit
siteprobe update-triage --csv ./gsc_performance.csv --url https://example.com
# Export machine-readable JSON triage report
siteprobe update-triage --csv ./gsc_performance.csv --output ./triage-report.json
# Test with synthetic benchmark dataset
siteprobe update-triage --csv examples/update-impact/sample-input.csv --output examples/update-impact/sample-output.jsonπ Research & Methodology:
docs/research/google-spam-update-september-2026.mdπ§ͺ Synthetic Reproduction Benchmark:
examples/update-impact/README.mdπ‘οΈ Scientific Disclaimer: Correlation does not prove causation. SiteProbe does not detect internal SpamBrain algorithms, and never labels any website as spam.
System Diagnostics
# Inspect environment and optional integration status
siteprobe doctor
# List configured providers
siteprobe integrationsπ€ AI Assistant & Agent Skill Quickstart (Codex, Antigravity, Claude, Cursor)
SiteProbe includes first-class rules and intake guidelines for all major AI coding environments:
Canonical Skill:
skills/siteprobe/SKILL.mdAgent Guidelines:
AGENTS.md(Codex, Antigravity, Windsurf)Claude Guidelines:
CLAUDE.md(Claude Code, Claude Desktop)Cursor Rules:
.cursorrulesand.cursor/rules/siteprobe.mdc
π What AI Agents Ask For On First Use
Before running any analysis, AI assistants are instructed to check prerequisites and ask for required inputs:
Environment Check: Run
siteprobe doctorto verify CLI and active tools.Website Audit (
siteprobe audit): Requires Target URL (e.g.https://example.com) and optional report language (en,fa,tr).Google Update Triage (
siteprobe update-triage): Requires Search Console performance CSV (date,clicks,impressions) and manual action status.Automated Fixes (
siteprobe fix): Requires local source code repository path (--repo <path>) andaudit.json.
1. Claude Code
Point Claude Code to the skill or copy it into your local skills directory:
# Copy to local skills directory
mkdir -p ~/.claude/skills
cp -r skills/siteprobe ~/.claude/skills/Tested Invocation:
claude "Read skills/siteprobe/SKILL.md and audit https://example.com, then fix safe issues in this project."2. OpenAI Codex / CLI Agents
Codex automatically reads repository guidelines from AGENTS.md:
codex "Audit https://example.com using the siteprobe CLI and verify all changes."3. Google Gemini / Antigravity
In Antigravity or Gemini CLI, reference skills/siteprobe/SKILL.md or copy it to ~/.gemini/config/skills/siteprobe/:
cp -r skills/siteprobe ~/.gemini/config/skills/Tested Invocation:
"Audit this website and fix all safe issues you can verify following the siteprobe skill workflow."
4. Cursor IDE
Cursor automatically picks up .cursorrules and .cursor/rules/siteprobe.mdc in the repository root. You can also mention the skill directly:
@skills/siteprobe/SKILL.md Audit https://example.com and apply verified fixes.π Model Context Protocol (MCP)
Launch SiteProbe's MCP server over stdio:
siteprobe serve-mcpAdding to Claude Desktop or Agent MCP Configuration
Add to your claude_desktop_config.json or agent settings:
{
"mcpServers": {
"siteprobe": {
"command": "siteprobe",
"args": ["serve-mcp"]
}
}
}Exposed MCP Tools:
start_audit(url, max_pages, language): Initiates background audit job.get_audit_status(job_id): Checks job status.get_findings(job_id, category, severity): Returns filtered audit findings.get_geo_findings(job_id): Returns GEO score and AI crawler accessibility.create_remediation_plan(job_id): Generates actionable fix plan.apply_safe_fixes(job_id, repo_path): Applies safe code modifications.verify_fixes(job_id, repo_path): Verifies fix results.generate_report(job_id, format): Exports report in HTML, JSON, or Markdown.
π External Integrations
All external integrations are strictly optional and degrade gracefully:
Google Search Console: Set
GOOGLE_APPLICATION_CREDENTIALSto correlate audit findings with impressions, CTR, and search queries.Google Analytics 4: Set
GA4_PROPERTY_IDto connect technical defects with conversion drop-offs.DataForSEO: Set
DATAFORSEO_LOGINandDATAFORSEO_PASSWORDfor SERP volume and backlink data.Lighthouse / Chrome: Available automatically when Node.js and Chrome are detected.
Playwright: Installed via
pip install "siteprobe[browser]".
π³ Docker
Run SiteProbe via Docker with zero host dependencies:
docker build -t siteprobe .
docker run --rm -v $(pwd)/reports:/app/reports siteprobe audit https://example.com --output /app/reportsOr with docker-compose:
docker-compose upποΈ Architecture
siteprobe/
βββ src/siteprobe/
β βββ cli/ # Typer CLI commands
β βββ core/ # Audit orchestrator, scoring model, YAML loader
β βββ crawler/ # AsyncIO polite crawler, SQLite storage, robots/sitemaps
β βββ checks/ # 9 check categories (Technical, Onpage, Schema, GEO, etc.)
β βββ integrations/ # Modular adapters (GSC, GA4, DataForSEO, Lighthouse, Playwright)
β βββ remediation/ # Risk-classified planner, atomic file handlers, snapshot/rollback
β βββ verification/ # Post-fix verification engine
β βββ reporting/ # Interactive HTML dashboard, JSON, and Markdown reporters
β βββ updates/ # Google algorithm update triage engine & frozen windows
β βββ i18n/ # Locales (English, Persian, Turkish) and translation engine
β βββ models/ # Pydantic data schemas
β βββ mcp/ # FastMCP / Standard MCP server
βββ skills/
β βββ siteprobe/ # Canonical Agent Skill (SKILL.md, references, scripts)
βββ tests/ # Automated test suite + mock website fixture
βββ docs/ # Technical architecture and user guidesπ‘οΈ Remediation Safety & Rollback
SiteProbe is engineered with defensive patterns:
Pre-Flight Snapshot: Every file about to be edited is captured in an in-memory snapshot.
Format Preservation: HTML changes use semantic tag injection preserving surrounding structure.
Automatic Rollback: If a verification check fails after editing, SiteProbe can immediately restore files to their exact pre-fix state.
Clean Diffs: Unified diffs are printed to the console and saved in remediation reports.
πΊοΈ Roadmap
v0.1.0: Core async crawler with SQLite storage
v0.1.0: 24 deterministic checks across 9 categories
v0.1.0: GEO / AI-search readiness scoring
v0.1.0: Remediation framework with safe autofixes
v0.1.0: Before/after verification engine
v0.1.0: Standalone interactive HTML reporting
v0.1.0: Multilingual support (en, fa, tr)
v0.1.0: FastMCP server & Agent Skill specification
v0.2.0: Evidence-based Google Update Impact Triage (September 2026 Spam Update)
v0.2.0: Deep JS rendering via distributed Playwright cluster
v0.2.0: Automated GitHub Pull Request creation CLI command (
siteprobe pr)v0.3.0: Native headless CMS plugins for WordPress and Shopify API-based auto-remediation
π¬ Community & Contributing
Contributions are welcome! Please read CONTRIBUTING.md and our CODE_OF_CONDUCT.md.
Discussions: GitHub Discussions across General, Ideas, Help, and Show & Tell.
First Contribution Guide:
docs/FIRST_CONTRIBUTION.mdRemediation & Safety Guide:
docs/remediation_guide.mdReport Issues: GitHub Issues
# Run test suite
pytest -vπ Security
For security vulnerability disclosures, please review SECURITY.md and contact taqimolavi@gmail.com.
π‘ Related Projects & Inspiration
SiteProbe's SSR and rendering analysis draws architectural inspiration from prominent technical web tooling:
is-ssr& regex/ast hydration analyzers: Inspecting hydration state payloads (__NEXT_DATA__,__NUXT_DATA__,window.__remixContext,astro-island).puppeteer-ssr-checker& Rendertron: Comparing initial raw server markup against rendered client DOM.Model Context Protocol (
@modelcontextprotocol/server-puppeteer&server-fetch): Standardizing browser inspection primitives and raw HTTP fetching for AI agents.
π License
SiteProbe is licensed under the MIT License. Copyright © 2026 Taqi Molavi.
This server cannot be deployed
Maintenance
Related MCP Connectors
Website QA for your coding agent: audit SEO, performance, security, accessibility over MCP.
Your agent needs to crawl a site and say what is wrong with it β broken tags, duplicate content, pages nothing can index, resources that never load. **What you can ask for** β’ "Crawl this site and list every page with a duplicate title or missing description." β’ "Which pages are non-indexable, and why?" β’ "Run Lighthouse on these URLs and give me the failing audits." β’ "Show the internal link graph and the orphan pages." β’ "Give me this page's raw HTML and its microdata." **How to use it** Point any MCP client at https://mcp.aisa.one/seo-onpage/mcp and sign in with OAuth β there is no key to create or paste. 20 tools: submit a crawl and read its summary, pages, resources, links and waterfall; duplicate content and duplicate tags; keyword density; non-indexable and uncrawlable resources; parsed content, raw HTML, microdata, screenshots and Lighthouse. **Why this rather than the source** A crawler you drive from the agent, with the audit results as structured data rather than a PDF. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the broken pages here, then ask the same agent what those pages used to rank for β without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo/mcp for all of it at once β rankings, keywords, backlinks, site health and AI-answer visibility across DataForSEO, Semrush and Ahrefs.
- RampifyOAuthdev.rampify
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
- mcpOAuthcom.screenshotink
Screenshot, diff, audit and sitemap-capture any web page β 5 MCP tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLM agents to crawl and audit websites for technical SEO and GEO issues, providing actionable fixes via tools like crawl_site and explain_issue.240 npm111MIT
- FlicenseAqualityDmaintenanceExposes the OctoBoost SEO API as MCP tools so agents can audit websites with compact, structured results instead of fetching and parsing raw HTML.494 npm-
- AlicenseAqualityAmaintenanceProvides AI-visibility scoring and site auditing capabilities for websites, enabling agents to check how sites appear in AI engines like ChatGPT and Perplexity, run full SEO/security audits, and monitor changes over time.15350 npm1MIT
- AlicenseNot gradedqualityBmaintenanceProvides 23 bounded MCP tools for AI agents to perform technical SEO audits, including crawl setup, page analysis, issue detection, and report exports, all while keeping data local.7MIT