
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
mcp-seo-auditor
Advanced tools
Read-only static SEO audits and bounded crawling for AI agents over MCP
Read-only SEO tools for Claude Code, Cursor and other MCP clients. Audits run locally. No API keys, telemetry, AI-provider costs or runtime dependencies.
MVP 0.1.0. Node wrapper requires
Python 3.11+ (python3, or set MCP_SEO_PYTHON to an absolute executable path).
Requires Python 3.11+ on PATH in addition to Node.js. Works with any MCP client over stdio; no account or API key needed for the local server.
Claude Code
claude mcp add seo-auditor -- npx -y mcp-seo-auditor
Codex CLI
codex mcp add seo-auditor -- npx -y mcp-seo-auditor
Claude Desktop, Cursor, Windsurf, Cline, Gemini CLI — add to the client's MCP config (claude_desktop_config.json, ~/.cursor/mcp.json, ~/.codeium/windsurf/mcp_config.json, Cline MCP settings, ~/.gemini/settings.json):
{
"mcpServers": {
"seo-auditor": {
"command": "npx",
"args": [
"-y",
"mcp-seo-auditor"
]
}
}
}
VS Code / GitHub Copilot — .vscode/mcp.json:
{
"servers": {
"seo-auditor": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-seo-auditor"
]
}
}
}
Zed — settings.json:
{
"context_servers": {
"seo-auditor": {
"command": "npx",
"args": [
"-y",
"mcp-seo-auditor"
]
}
}
}
npm test
node bin/mcp-seo-auditor.mjs
The server reads newline-delimited JSON-RPC from stdin; stdout contains only protocol messages. It waits for an MCP client when started directly.
Claude Code registration (replace path):
claude mcp add seo-auditor -- node /absolute/path/mcp-seo-auditor/bin/mcp-seo-auditor.mjs
Generic MCP configuration:
{
"mcpServers": {
"seo-auditor": {
"command": "node",
"args": ["/absolute/path/mcp-seo-auditor/bin/mcp-seo-auditor.mjs"]
}
}
}
Alternatively install Python package with pip install . and run
mcp-seo-auditor. Build-time setuptools is needed; runtime uses only stdlib.
Configuration can use npx -y mcp-seo-auditor.
| Tool | Inputs | Output |
|---|---|---|
audit_html | html, optional url | Static checks without network access |
audit_url | url | Page audit plus HTTP status, redirects and elapsed request time |
crawl_site | url, optional max_pages (1–10, default 5) | Same-origin audits, duplicate titles/descriptions, individual errors |
Checks: title, meta description, H1, canonical, robots/noindex, language, viewport, image alt presence, link inventory, JSON-LD JSON syntax. Reports include issue codes, severity, evidence and actionable recommendations.
Example agent requests:
The local MCP stays free. Quotas apply only on a hosted HTTP process that reserves units on mcp-control-plane before analysis.
cp .env.example .env # set CONTROL_PLANE_URL
pip install -e .
python -m mcp_seo_auditor.hosted # default 127.0.0.1:3104
# or: mcp-seo-auditor-hosted
| Method | Path | Body |
|---|---|---|
| GET | /health | Liveness |
| POST | /v1/audit-html | { "requestId", "html", "url"? } |
| POST | /v1/audit-url | { "requestId", "url" } |
| POST | /v1/crawl | { "requestId", "url", "max_pages"? } |
Requires Authorization: Bearer mcp_…. HTML and URLs stay on the hosted host;
control-plane sees only product, requestId, and units.
npm test
npm pack --dry-run
Unit/integration tests cover HTML extraction, findings, input limits, DNS/private IP blocking, duplicate detection and MCP subprocess communication. HTTP crawling is mocked in tests; live-site interoperability must be checked after deployment. CI runs the suite on Python 3.11, 3.12 and 3.13 (not yet executed remotely).
Keep single-page audits free. Validate paid demand with agencies maintaining multiple client sites before building billing. Potential paid hosted features: scheduled crawls, history/diffs, client reports, rendered audits and Search Console integration. Hosted quotas use the control-plane path above.
The audit lists no P0 for this repository. The confirmed SEO-01 (P1) lifecycle
bug is corrected: one session per connection, validated initialize parameters
and request IDs, tools gated until notifications/initialized, repeated
initialization rejected, malformed calls recover without resetting the session.
Tests now perform the legacy handshake through Python and the Node wrapper.
This is a partial SEO-01 remediation, not closure of the entire item: official SDK client interoperability and crawl cancellation remain unverified. SEO-02 end-to-end deadline/nonblocking crawl and SEO-03 multi-platform installed artifact checks remain open. No compatibility claim for stateless 2026 is made.
FAQs
Read-only static SEO audits and bounded crawling for AI agents over MCP
We found that mcp-seo-auditor demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.