npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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.

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.), @context format (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), empty PostalAddress, dead Google Plus sameAs URLs

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-targeted
  • og: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 LocalBusiness schema 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

  1. The MCP server receives a URL from your editor's AI assistant
  2. It POSTs the URL to https://buildbench.ca/api/seo-scan (a Cloudflare Pages Function)
  3. The endpoint fetches the target URL server-side (no CORS issue, no client exposure)
  4. It runs regex-based checks for the defect patterns above
  5. Returns JSON with defects grouped by severity
  6. 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