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

@mehmoodqureshi/seo-mcp

v0.1.4

Published

An SEO MCP server (stdio CLI). Free, keyless on-page & technical SEO tools — single-page and site-wide audits, robots.txt, sitemap, structured-data, broken-link and keyword checks, professional PDF reports, plus PageSpeed/Lighthouse (Google PSI or local h

Readme

seo-mcp

CI npm license

An SEO MCP server — a stdio Model Context Protocol server that gives an AI host a set of SEO tools. The MVP is 100% free and keyless: on-page/technical audits, robots.txt, sitemaps, structured data, broken-link checks, and keyword ideas.

Built on the same proven scaffold as chrome-mcp: SDK ServerStdioServerTransport, a flat tool registry, and a never-throw dispatch firewall.

Tools (all free, no API key)

| Tool | What it does | |------|--------------| | audit_page | Full on-page audit: title, meta description, canonical, robots, viewport, OG/Twitter, heading outline, word count, image alt coverage, link counts, structured-data presence → issues + 0–100 score. Pass pagespeed: true to also attach PageSpeed metrics | | check_robots | Fetch & parse /robots.txt — UA groups, allow/disallow, declared sitemaps | | check_sitemap | Discover & summarize a sitemap (index vs urlset, URL count, sample) | | extract_schema | Pull JSON-LD structured data and list schema.org @types (+ microdata, parse errors) | | find_broken_links | HEAD-check links on a page; report 4xx/5xx/unreachable | | keyword_ideas | Related queries for a seed term via Google Suggest (no volume) | | pagespeed | Google PageSpeed Insights (Lighthouse): perf score, lab Core Web Vitals + real-user CrUX field data + top opportunities. Keyless (rate-limited); set PAGESPEED_API_KEY to raise the quota |

Use it as an MCP server

Requires Node 20+. There is nothing to clone, build, or configure — add this to your MCP host config (e.g. a project .mcp.json) and restart the host:

{
  "mcpServers": {
    "seo-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@mehmoodqureshi/seo-mcp"]
    }
  }
}

Or with Claude Code: claude mcp add seo-mcp -- npx -y @mehmoodqureshi/seo-mcp

Or, after npm install -g @mehmoodqureshi/seo-mcp, set "command": "seo-mcp" with no args.

Windows

WSL2 is not required — native Windows works. One config change is, though: on Windows npx is npx.cmd, a batch shim, and MCP hosts spawn the server without a shell, which cannot execute a .cmd. So "command": "npx" fails to start. Wrap it in cmd /c:

{
  "mcpServers": {
    "seo-mcp": {
      "type": "stdio",
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@mehmoodqureshi/seo-mcp"]
    }
  }
}

Or: claude mcp add seo-mcp -- cmd /c npx -y @mehmoodqureshi/seo-mcp

Develop

From a source checkout:

npm install
npm run build      # → dist/src/cli.js
npm test

Then point your host at the local build with "command": "node", "args": ["<abs-path>/dist/src/cli.js"].

Then ask things like "audit https://example.com for SEO" or "what does example.com's robots.txt block?".

Quick smoke test (no MCP host needed)

node -e "require('./dist/src/seo/audit').auditPage('https://example.com').then(r=>console.log(JSON.stringify(r,null,2)))"

Develop

npm run typecheck   # tsc --noEmit
npm run build       # → dist/
npm test            # node:test suite (no network — fetch is stubbed)

CI (.github/workflows/ci.yml) runs typecheck → build → test on Node 20/22. Node 20+ is required (cheerio 1.x depends on undici, which needs the global File added in Node 20).

Performance & output size

  • Request caching — identical GETs are de-duplicated by a short-TTL cache with in-flight coalescing, so a audit_pageexport_audit_pdf pair (or a sitemap/robots.txt referenced during a crawl) hits the network once. Tune with SEO_MCP_CACHE_TTL_MS (milliseconds, default 15000); set 0 to disable.
  • Compact audit_site — by default the site audit returns a slim, worst-first per-page table (score + issue counts) plus the aggregates, to keep the response small inside an MCP host's context. Pass detail: true for the full per-page breakdown, or use export_site_pdf for a formatted report.

PageSpeed (optional key)

The pagespeed tool works keyless but Google rate-limits anonymous requests. To raise the quota, grab a free PageSpeed Insights API key and set it in your MCP host config:

{
  "mcpServers": {
    "seo-mcp": {
      "type": "stdio",
      "command": "node",
      "args": ["/Users/mehmoodqureshi/Work/seo-mcp/dist/src/cli.js"],
      "env": { "PAGESPEED_API_KEY": "your-key-here" }
    }
  }
}

Roadmap (needs a key — not in the free MVP)

  • serp_rank — real SERP position checks (drive a browser, or a paid SERP API)
  • domain_authority — OpenPageRank (free key) for an authority score
  • backlinks — real backlink profiles (paid: Ahrefs / SEMrush / DataForSEO)

License

MIT