{"_id":"@autom8minds/seo-mcp","_rev":"2-479b54500cfbbdca651d22ca5c0b72ab","name":"@autom8minds/seo-mcp","dist-tags":{"latest":"1.2.0"},"versions":{"1.1.0":{"name":"@autom8minds/seo-mcp","version":"1.1.0","keywords":["seo","mcp","model-context-protocol","claude","ai","web-analysis","core-web-vitals","schema-markup","structured-data","backlinks","keyword-research","site-crawler","security-headers","hreflang"],"author":{"url":"https://github.com/Autom8Minds","name":"Anurag Kalita"},"license":"MIT","_id":"@autom8minds/seo-mcp@1.1.0","maintainers":[{"name":"autom8minds","email":"anuragkalita234@gmail.com"}],"homepage":"https://github.com/Autom8Minds/seo-mcp","bugs":{"url":"https://github.com/Autom8Minds/seo-mcp/issues"},"bin":{"seo-mcp":"dist/mcp/index.js"},"dist":{"shasum":"d80a2006785d5d119f8a9e12f8a64d8f59eafa08","tarball":"https://registry.npmjs.org/@autom8minds/seo-mcp/-/seo-mcp-1.1.0.tgz","fileCount":215,"integrity":"sha512-oyrampgLd1OTSRQRWkjsjZOIh90Hd1YmhNFNRk12Bdi0u51TP6Ub6olYnFPyB4gC9spwG4PNB/5c4ftq4R+ntQ==","signatures":[{"sig":"MEQCIFD6/3SYQURZRUiV5OuVCNmRa6qLNdXh/J1N3VdyO+IqAiA04gbli8vQdklSzeccRNM2CWq5bxp5E6/CxPb4xUzELA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":522012},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"fbb9e375b19cdd5a86fdc52fec69f76cb99d9771","scripts":{"dev":"tsx src/mcp/index.ts","lint":"tsc --noEmit","test":"vitest run","build":"tsc -p tsconfig.build.json","start":"node dist/mcp/index.js","rebuild-db":"tsx src/scripts/rebuild-database.ts","test:watch":"vitest","validate-db":"tsx src/scripts/validate-database.ts","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build"},"_npmUser":{"name":"autom8minds","email":"anuragkalita234@gmail.com"},"repository":{"url":"git+https://github.com/Autom8Minds/seo-mcp.git","type":"git"},"_npmVersion":"10.8.2","description":"MCP server with 25 SEO tools: page analysis, site crawling, security auditing, Core Web Vitals, schema validation, keyword research, backlinks, and more.","directories":{},"_nodeVersion":"20.18.2","dependencies":{"zod":"^3.24.0","dotenv":"^16.4.0","sql.js":"^1.11.0","cheerio":"^1.0.0","lru-cache":"^11.0.0","@modelcontextprotocol/sdk":"^1.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","vitest":"^3.0.0","typescript":"^5.7.0","@types/node":"^22.0.0","@types/better-sqlite3":"^7.6.0"},"optionalDependencies":{"puppeteer":"^23.0.0","better-sqlite3":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/seo-mcp_1.1.0_1774108334744_0.7884772727506126","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@autom8minds/seo-mcp","version":"1.2.0","description":"MCP server with 25 SEO tools: page analysis, site crawling, security auditing, Core Web Vitals, schema validation, keyword research, backlinks, and more.","type":"module","main":"dist/index.js","bin":{"seo-mcp":"dist/mcp/index.js"},"scripts":{"build":"tsc -p tsconfig.build.json","start":"node dist/mcp/index.js","dev":"tsx src/mcp/index.ts","test":"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage","lint":"tsc --noEmit","rebuild-db":"tsx src/scripts/rebuild-database.ts","validate-db":"tsx src/scripts/validate-database.ts","prepublishOnly":"npm run build"},"keywords":["seo","mcp","model-context-protocol","claude","ai","web-analysis","core-web-vitals","schema-markup","structured-data","backlinks","keyword-research","site-crawler","security-headers","hreflang"],"author":{"name":"Anurag Kalita","url":"https://github.com/Autom8Minds"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Autom8Minds/seo-mcp.git"},"homepage":"https://github.com/Autom8Minds/seo-mcp","engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","cheerio":"^1.0.0","dotenv":"^16.4.0","lru-cache":"^11.0.0","sql.js":"^1.11.0","zod":"^3.24.0"},"optionalDependencies":{"better-sqlite3":"^11.0.0","puppeteer":"^23.0.0"},"devDependencies":{"@types/better-sqlite3":"^7.6.0","@types/node":"^22.0.0","tsx":"^4.19.0","typescript":"^5.7.0","vitest":"^3.0.0"},"_id":"@autom8minds/seo-mcp@1.2.0","gitHead":"624e546431daea3460acb308a0451aeca00fc7db","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/Autom8Minds/seo-mcp/issues"},"_nodeVersion":"20.18.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-u85T/tPmVgTD5QDq9QFcKR4DaO5dV5MUbwfA6Xyi1p6JL1ao1PKtRwecyQuAEh48mmrTRFH4QfVagZSB/+IjgA==","shasum":"d27a37301aca694c1eebbd1f96440479c7d15d80","tarball":"https://registry.npmjs.org/@autom8minds/seo-mcp/-/seo-mcp-1.2.0.tgz","fileCount":227,"unpackedSize":595065,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICHGgxfMEft3BgiZQD6G46S102VF56Kkbheu+6wBlfD0AiBhnS6FGCpFWkNnwJVQ2APuiVNYVYD5dy2TMliCmJ/35A=="}]},"_npmUser":{"name":"autom8minds","email":"anuragkalita234@gmail.com"},"directories":{},"maintainers":[{"name":"autom8minds","email":"anuragkalita234@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/seo-mcp_1.2.0_1774110321208_0.46578041339291376"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-21T15:52:14.697Z","modified":"2026-03-21T16:25:21.528Z","1.1.0":"2026-03-21T15:52:14.931Z","1.2.0":"2026-03-21T16:25:21.397Z"},"bugs":{"url":"https://github.com/Autom8Minds/seo-mcp/issues"},"author":{"name":"Anurag Kalita","url":"https://github.com/Autom8Minds"},"license":"MIT","homepage":"https://github.com/Autom8Minds/seo-mcp","keywords":["seo","mcp","model-context-protocol","claude","ai","web-analysis","core-web-vitals","schema-markup","structured-data","backlinks","keyword-research","site-crawler","security-headers","hreflang"],"repository":{"type":"git","url":"git+https://github.com/Autom8Minds/seo-mcp.git"},"description":"MCP server with 25 SEO tools: page analysis, site crawling, security auditing, Core Web Vitals, schema validation, keyword research, backlinks, and more.","maintainers":[{"name":"autom8minds","email":"anuragkalita234@gmail.com"}],"readme":"# seo-mcp\n\nAn open-source MCP (Model Context Protocol) server that turns Claude into a full SEO consultant. Provides 29 tools for page analysis, accessibility auditing, site crawling, Core Web Vitals, structured data validation, keyword research, backlink analysis, and more.\n\n**23 of 29 tools work with zero API keys** - just install and start analyzing.\n\n## Quick Start\n\n### With Claude Code\n\nAdd to your `.mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"seo-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@autom8minds/seo-mcp\"]\n    }\n  }\n}\n```\n\n### With Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"seo-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@autom8minds/seo-mcp\"]\n    }\n  }\n}\n```\n\n### Docker\n\n```bash\ndocker run -i ghcr.io/Autom8Minds/seo-mcp\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/Autom8Minds/seo-mcp.git\ncd seo-mcp\nnpm install\nnpm run build\nnpm start\n```\n\n## Tools\n\n### Category A: Page Analysis (11 tools, no API key needed)\n\n| Tool | Description |\n|------|-------------|\n| `analyze_page` | Full on-page SEO audit with 0-100 score (includes Flesch-Kincaid readability, text-to-HTML ratio, thin content detection) |\n| `analyze_headings` | H1-H6 structure and hierarchy validation |\n| `analyze_images` | Alt text, file size, format, lazy loading audit |\n| `analyze_internal_links` | Link mapping, anchor text analysis, broken link detection |\n| `extract_schema` | JSON-LD/Microdata extraction and Google validation |\n| `analyze_robots_txt` | Parse and test robots.txt rules |\n| `analyze_sitemap` | XML sitemap validation and URL analysis |\n| `audit_security_headers` | HSTS, CSP, X-Frame-Options, mixed content detection |\n| `analyze_url_structure` | URL length, depth, uppercase, underscores, parameters |\n| `validate_hreflang` | Hreflang language codes, x-default, return link verification |\n| `audit_accessibility` | WCAG checks: lang, form labels, empty buttons/links, headings, ARIA, skip nav |\n\n### Category B: Performance (2 tools, free API)\n\n| Tool | Description |\n|------|-------------|\n| `check_core_web_vitals` | LCP, INP, CLS + Lighthouse scores |\n| `check_mobile_friendly` | Mobile viewport, fonts, tap targets |\n\n### Category C: Research (4 tools, paid API keys)\n\n| Tool | Description |\n|------|-------------|\n| `research_keywords` | Search volume, difficulty, CPC, trends |\n| `analyze_serp` | SERP features, featured snippets, PAA |\n| `analyze_backlinks` | Backlink profile and anchor text analysis |\n| `analyze_domain_authority` | DA metrics for domains |\n\n### Category D: Google Search Console (3 tools, OAuth2)\n\n| Tool | Description |\n|------|-------------|\n| `gsc_performance` | Clicks, impressions, CTR by query/page |\n| `gsc_index_coverage` | Index status and URL inspection |\n| `gsc_sitemaps` | Submitted sitemaps status |\n\n### Category E: Generation (3 tools, local)\n\n| Tool | Description |\n|------|-------------|\n| `generate_schema` | Generate valid Schema.org JSON-LD |\n| `generate_robots_txt` | Generate robots.txt from config |\n| `generate_meta_suggestions` | Optimized title/meta/OG suggestions |\n\n### Category F: Site Crawler (6 tools, no API key needed)\n\n| Tool | Description |\n|------|-------------|\n| `crawl_site` | Start a BFS site crawl — returns crawl ID immediately |\n| `crawl_status` | Check crawl progress (pages crawled/queued/errored) |\n| `crawl_results` | Aggregated issues, duplicates, near-duplicates, redirect chains, orphan pages |\n| `detect_orphan_pages` | Cross-reference crawl with sitemap to find orphan/unlisted pages |\n| `compare_crawls` | Diff two crawls: new/removed pages, changed titles, new/resolved issues |\n| `list_crawls` | List all crawl sessions (in-memory and saved to disk) |\n\n## API Keys\n\nMost tools work out of the box. Optional API keys unlock additional features:\n\n| Key | Tools Unlocked | How to Get |\n|-----|---------------|------------|\n| `PAGESPEED_API_KEY` | Higher rate limits for performance tools | [Google Cloud Console](https://console.cloud.google.com/) |\n| `DATAFORSEO_LOGIN` + `PASSWORD` | Keyword research, SERP, backlinks, DA | [DataForSEO](https://dataforseo.com/) |\n| `MOZ_ACCESS_ID` + `SECRET_KEY` | Backlinks, DA (alternative to DataForSEO) | [Moz API](https://moz.com/products/api) |\n| `GSC_CLIENT_ID` + `SECRET` + `REFRESH_TOKEN` | Google Search Console tools | [GSC API Setup](https://developers.google.com/webmaster-tools/) |\n\nCreate a `.env` file from the template:\n\n```bash\ncp .env.example .env\n```\n\n## Usage Examples\n\nOnce connected, ask Claude:\n\n- \"Analyze the SEO of https://example.com\"\n- \"Crawl my site and find all SEO issues\"\n- \"Check the security headers on my site\"\n- \"Check the Core Web Vitals for my homepage\"\n- \"Extract and validate the structured data on this product page\"\n- \"Generate FAQ schema for these questions\"\n- \"Analyze my heading structure and check for keyword presence\"\n- \"Validate the hreflang tags on my international pages\"\n- \"Is my robots.txt blocking important pages?\"\n\n## Companion: seo-skills\n\nFor maximum effectiveness, pair this MCP server with [seo-skills](https://github.com/Autom8Minds/seo-skills) - 7 Claude Code skills that teach SEO best practices, content strategy, schema markup, and more.\n\n## Development\n\n```bash\nnpm install          # Install dependencies\nnpm run build        # Compile TypeScript\nnpm test             # Run tests\nnpm run dev          # Development mode with tsx\nnpm run lint         # Type check\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}