SEO Content Analysis MCP

SEO Content Analysis MCP

Enables Claude to perform full SEO audits on unpublished HTML, Markdown, or Word documents, including keyword analysis, meta tag suggestions, readability scoring, and heading structure validation.

Category
Visit Server

README

SEO Content Analysis MCP

An MCP server for Claude Desktop that gives Claude the tools to do a full SEO audit on unpublished content — HTML, Markdown, or Word (.docx) files.


Tools included

Tool What it does
calculate_seo_score Overall score out of 100 — Technical SEO, keyword optimisation, structure, readability — with a prioritised fix list
analyse_content Full audit: word count, headings, keyword placement, meta tags, internal links, pass/fail checklist
check_meta_tags Validates an existing title tag and meta description in HTML
suggest_meta_tags Generates title, meta description, and URL slug suggestions from draft content
check_keyword_density Counts keyword occurrences, calculates density %, flags over/under optimisation
check_readability Flesch Reading Ease score, avg sentence length, flags long sentences
check_heading_structure Validates H1 > H2 > H3 hierarchy, flags skipped levels and missing H1

Setup

1. Install dependencies

npm install

2. Add to Claude Desktop config

Open %APPDATA%\Claude\claude_desktop_config.json and add:

{
  "mcpServers": {
    "seo-content-analysis": {
      "command": "node",
      "args": ["C:\\absolute\\path\\to\\seo-mcp-server\\src\\index.js"]
    }
  }
}

3. Restart Claude Desktop

After saving the config, restart Claude Desktop. You should see 7 SEO tools available in the tools palette.

4. Activate SEO Skill (Recommended)

To ensure Claude follows the correct workflow (asking for keywords/meta tags before auditing), you should provide it with the instructions in SKILL.md.

  1. Make a copy of SKILL.md and name it seo-content-analysis.md.
  2. Upload this file to your Claude chat or add it to your Project Knowledge (if using Claude Projects).
  3. If you uploaded it to a chat, ask Claude: "Read seo-content-analysis.md and follow these pre-flight instructions for all SEO audits in this thread."

Usage

Once connected, you can ask Claude things like:

  • "Audit this blog post for SEO" — paste content, or provide a local file path
  • "Score this draft out of 100" — give it a .docx path or paste the text
  • "Check keyword density for 'cohort analysis'"
  • "Suggest a meta title and description for this article"
  • "Is the heading structure correct in this Word doc?"

Providing content

Tools accept either:

  • content — paste raw HTML, Markdown, or plain text directly
  • filepath — an absolute Windows path to a local file (.docx, .html, .md, .txt)

Note: Files uploaded via the Claude chat interface cannot be accessed as a filepath. Paste the text content directly instead.

Workflow

For the most accurate score, Claude will ask for two things before running the audit on a non-HTML document:

  1. Primary keyword — needed for 30/100 of the score (keyword optimisation category)
  2. Meta title + description — needed for 25/100 (Technical SEO category)

If these are not in your document, Claude will ask for them during the pre-flight check.


Project structure

seo-mcp-server/
├── src/
│   ├── index.js              # Entry point
│   ├── server.js             # MCP server setup & request routing
│   ├── utils/
│   │   ├── content.js        # HTML/Markdown parsing, keyword matching
│   │   ├── docx.js           # Word (.docx) → HTML via mammoth
│   │   └── loader.js         # Shared file-loading utility for all tools
│   └── tools/
│       ├── index.js          # Auto-discovers and loads all tool modules
│       ├── analyseContent.js
│       ├── calculateSeoScore.js
│       ├── checkKeywordDensity.js
│       ├── checkReadability.js
│       ├── checkMetaTags.js
│       ├── suggestMetaTags.js
│       └── checkHeadingStructure.js
├── SKILL.md                  # Master instructions for Claude (copy and rename to use)
├── package.json
└── README.md

Adding a new tool: create a new file in src/tools/ that exports { schema, handler } and call await loadContent({ content, filepath }) at the top — nothing else needs changing.


Dependencies

  • @modelcontextprotocol/sdk — MCP server framework
  • cheerio — HTML/DOM parsing
  • mammoth — Word (.docx) to HTML conversion
  • marked — Markdown to HTML conversion

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
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
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
VeyraX MCP

VeyraX MCP

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

Official
Featured
Local
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
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
E2B

E2B

Using MCP to run code via e2b.

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
Qdrant Server

Qdrant Server

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

Official
Featured