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.
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.
- Make a copy of
SKILL.mdand name itseo-content-analysis.md. - Upload this file to your Claude chat or add it to your Project Knowledge (if using Claude Projects).
- 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
.docxpath 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 directlyfilepath— 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:
- Primary keyword — needed for 30/100 of the score (keyword optimisation category)
- 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 callawait loadContent({ content, filepath })at the top — nothing else needs changing.
Dependencies
@modelcontextprotocol/sdk— MCP server frameworkcheerio— HTML/DOM parsingmammoth— Word (.docx) to HTML conversionmarked— Markdown to HTML conversion
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.