@buildbench/seo-defect-scanner-mcp
v1.0.0
Published
MCP server that scans any URL for technical SEO defects (schema, canonical, meta description, locale, structured data). Built for Cursor and Claude Desktop. Free to use, powered by buildbench.ca.
Maintainers
Readme
SEO Defect Scanner MCP
Free MCP (Model Context Protocol) server that scans any URL for technical SEO defects. Works with Cursor, Claude Desktop, Continue, and any MCP-compatible client.
Powered by buildbench.ca/seo-defect-scanner. No signup required. Free unlimited scans.
What it detects
The scanner runs the same checks a paid SEO audit would, in 60 seconds:
- JSON-LD structured data: presence, type (LocalBusiness, Attorney, Dentist, HVACBusiness, RoofingContractor, VeterinaryCare, etc.),
@contextformat (http vs https) - Canonical link: presence
- Meta description: presence, length, emptiness
- Locale signals:
og:locale(flags en_US and en_IN),html lang(flags en-US on Canadian sites) - Title tag: length, content
- Common Yoast/WordPress defects: placeholder
priceRange(single dollar sign or three zeros), emptyPostalAddress, dead Google PlussameAsURLs
Each defect is severity-tagged (critical / high / medium / low) with a plain-language explanation of why it matters.
Why this matters
Most Ontario service businesses, law firms, and clinics have at least one of these broken. The defect is invisible to the owner because the site loads fine, but Google reads it and downgrades the local pack ranking accordingly.
Common signals we see weekly:
og:locale="en_US"on Ontario PI law firms = Google reads as US-targetedog:locale="en_IN"(English India) on Canadian dental practices = Yoast default left in by overseas web agency"priceRange": "$"placeholder in Yoast LegalService schema = Rich Results validator flags as ambiguous- Zero
LocalBusinessschema on a multi-location clinic = invisible to local-pack ranking
Installation
Cursor
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"seo-defect-scanner": {
"command": "npx",
"args": ["-y", "@buildbench/seo-defect-scanner-mcp"]
}
}
}Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%/Claude/claude_desktop_config.json (Windows):
{
"mcpServers": {
"seo-defect-scanner": {
"command": "npx",
"args": ["-y", "@buildbench/seo-defect-scanner-mcp"]
}
}
}Continue
Add to your Continue config file:
{
"mcpServers": [
{
"name": "seo-defect-scanner",
"command": "npx",
"args": ["-y", "@buildbench/seo-defect-scanner-mcp"]
}
]
}Restart your editor after adding the config.
Usage
Once installed, the scan_seo_defects tool is available to your AI assistant. Examples:
"Scan my deployed site at example.com for SEO defects."
"Check the meta tags on https://competitor.com/services and tell me what's broken."
"I just pushed a new landing page. Audit it before I share it."
The tool returns a markdown-formatted defect report with severity tags, code references, and a direct link to the productized fix offer at buildbench.ca/audit.
Tools provided
scan_seo_defects
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | yes | The URL to scan. Accepts full URLs or bare domains. |
Returns: Markdown-formatted defect report with severity tags (critical / high / medium / low), defect codes, plain-language explanations, and recommendations.
How it works
- The MCP server receives a URL from your editor's AI assistant
- It POSTs the URL to
https://buildbench.ca/api/seo-scan(a Cloudflare Pages Function) - The endpoint fetches the target URL server-side (no CORS issue, no client exposure)
- It runs regex-based checks for the defect patterns above
- Returns JSON with defects grouped by severity
- The MCP server formats this as markdown and returns to your editor
The whole round trip is typically 2-5 seconds.
Safety + abuse protection
The endpoint is hardened against typical scanner abuse:
- Only http and https URLs accepted
- Private and loopback IPs blocked (no localhost, no 10.x, 192.168.x, 169.254.169.254 cloud metadata, etc.)
- Redirects re-validated per hop
- 10-second fetch timeout
- 2 MB response size cap
- Per-IP request quota enforced at the Cloudflare zone level
- No API keys required from the caller
What it doesn't do
- It doesn't crawl your whole site. One URL per scan.
- It doesn't run Lighthouse / Core Web Vitals checks. Those are different tools.
- It doesn't check backlinks, keyword rankings, or anything in Google Search Console.
- It doesn't store scan history. Each request is stateless.
For deeper audits (multi-page crawl, schema deploys, locale fixes, meta description packs), there's a productized fix at buildbench.ca/audit — $497 CAD, 72-hour delivery, refund if not shipped on time.
License
MIT. Use, modify, redistribute freely.
Built by
Build Bench — solo operator in Mississauga, Ontario building productized SEO and AI lead-capture tools for Canadian service businesses.
Contact: [email protected]
Companion tools
- Free 60-second web scanner: buildbench.ca/seo-defect-scanner
- Productized fix: buildbench.ca/audit
- Missed-call revenue calculator: buildbench.ca/missed-call-calculator (for LeadsLockAI buyers)
