SEO Audit MCP Server

SEO Audit MCP Server

Provides comprehensive technical SEO auditing tools including page analysis, site crawling, Lighthouse performance testing, and sitemap analysis, with specialized features for job board websites like JobPosting schema validation.

Category
Visit Server

README

SEO Audit MCP Server

A Model Context Protocol (MCP) server that provides comprehensive technical SEO auditing tools, optimized for job board websites.

Features

  • Page Analysis - Deep analysis of individual pages including meta tags, headings, structured data, rendering behavior, and links
  • Site Crawling - Multi-page crawling with automatic page type classification
  • Lighthouse Integration - Core Web Vitals and performance auditing
  • Sitemap Analysis - Robots.txt and XML sitemap parsing with job-specific insights
  • JobPosting Schema Validation - Specialized validation against Google's requirements

Installation

Prerequisites

  • Node.js 18+
  • Chrome/Chromium (for Playwright)
  • Lighthouse CLI (optional, for performance audits)

Setup

# Clone or extract the project
cd seo-audit-mcp

# Install dependencies
npm install

# Install Playwright browsers
npx playwright install chromium

# Install Lighthouse globally (optional but recommended)
npm install -g lighthouse

# Build the project
npm run build

Configure Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "seo-audit": {
      "command": "node",
      "args": ["/path/to/seo-audit-mcp/dist/index.js"]
    }
  }
}

Configure Claude CLI

Add to your Claude CLI config or use directly:

# Using npx (after npm link)
claude --mcp-server "node /path/to/seo-audit-mcp/dist/index.js"

Available Tools

analyze_page

Analyze a single web page for SEO factors.

Input:
- url (required): The URL to analyze
- waitForSelector: CSS selector to wait for (for JS-heavy pages)
- timeout: Timeout in milliseconds (default: 30000)
- device: 'desktop' or 'mobile' (default: desktop)

Output:
- Meta tags, headings, structured data
- JobPosting schema validation
- JavaScript rendering analysis
- Link and image analysis

crawl_site

Crawl multiple pages starting from a URL.

Input:
- startUrl (required): Starting URL
- maxPages: Maximum pages to crawl (default: 50)
- maxDepth: Maximum link depth (default: 5)
- includePatterns: Regex patterns to include
- excludePatterns: Regex patterns to exclude

Output:
- Aggregated statistics
- Page type classification (job detail, category, location pages)
- Duplicate detection
- Critical issues and warnings

run_lighthouse

Run Lighthouse performance audit.

Input:
- url (required): URL to audit
- device: 'mobile' or 'desktop' (default: mobile)
- categories: Array of categories to audit
- saveReport: Save HTML report (default: false)

Output:
- Performance, Accessibility, Best Practices, SEO scores
- Core Web Vitals (LCP, CLS, TBT, FCP, TTFB)
- Optimization opportunities
- Diagnostics

analyze_sitemap

Analyze robots.txt and XML sitemaps.

Input:
- baseUrl (required): Base URL of the site
- includeSitemapUrls: Include full URL list (default: true)
- maxUrls: Max URLs per sitemap (default: 1000)

Output:
- robots.txt rules and issues
- Discovered sitemaps
- Job URL detection
- Recommendations

check_urls

Check HTTP status codes for multiple URLs.

Input:
- urls (required): Array of URLs to check
- timeout: Timeout per URL in milliseconds

Output:
- Status code, redirect destination, response time per URL

Usage Examples

Quick Page Audit

"Analyze the SEO of https://example.com/jobs/software-engineer"

Full Site Audit

"Crawl https://example.com and analyze their job board SEO. 
Focus on structured data and landing pages."

Performance Check

"Run a Lighthouse audit on https://example.com/jobs for mobile devices"

Job Board Discovery

"Analyze the sitemap for https://example.com and find their job posting pages"

Job Board Specific Features

This tool is optimized for job boards with:

  1. JobPosting Schema Validation

    • Validates all required fields (title, description, datePosted, etc.)
    • Checks recommended fields (validThrough, baseSalary, employmentType)
    • Remote job validation (applicantLocationRequirements)
    • Expiration date checking
  2. Page Type Classification

    • Job detail pages
    • Job listing/search pages
    • Category landing pages (e.g., /marketing-jobs/)
    • Location landing pages (e.g., /jobs-in-new-york/)
    • Company profile pages
  3. Expired Job Handling Analysis

    • Detects 404s, redirects, and soft 404s
    • Checks validThrough dates in schema
    • Recommends proper handling strategies
  4. Recommendations

    • Google Indexing API implementation
    • Job-specific sitemaps
    • Landing page architecture

Development

# Run in development mode
npm run dev

# Run tests
npm test

# Lint code
npm run lint

Architecture

src/
├── index.ts          # Entry point
├── server.ts         # MCP server implementation
├── tools/
│   ├── index.ts      # Tool registry
│   ├── crawl-page.ts # Single page analysis
│   ├── crawl-site.ts # Multi-page crawler
│   ├── lighthouse.ts # Performance audits
│   └── sitemap.ts    # Sitemap/robots analysis
├── types/
│   └── index.ts      # TypeScript definitions
└── utils/
    ├── browser.ts    # Playwright helpers
    └── http.ts       # HTTP utilities

Troubleshooting

Playwright Issues

# Reinstall browsers
npx playwright install chromium --force

# On Linux, you may need system dependencies
npx playwright install-deps

Lighthouse Not Found

# Install globally
npm install -g lighthouse

# Or use npx (slower)
npx lighthouse --version

Permission Errors

The server needs to write to /tmp for temporary files. Ensure proper permissions.

Timeout Errors

For slow sites, increase timeouts:

  • Page analysis: Use timeout parameter
  • Crawling: Reduce maxPages or increase delays

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured