content-qa-mcp
Run local editorial content QA on articles, returning actionable findings with fixes attached.
Run a full QA report across readability, AI-writing tells, and on-page SEO, with merged findings sorted by severity and a publish/fix/block verdict.
Check readability with Flesch-Kincaid grade, long-sentence, and passive-voice findings.
Scan for AI-writing tells such as stock phrases, em/en-dash density, arrow glyphs, and emoji in prose.
Check on-page SEO for title/meta length, H1/H2 structure, image alt coverage, internal links, and keyword presence/density.
Analyze raw HTML or plain text; SEO checks only run on HTML input.
Use the
qa_reviewprompt to drive the full report and request an editorial verdict without softening or inventing findings.Run everything locally with no API keys.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@content-qa-mcp Run qa_full_report on this article with focus keyword 'MCP'."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
content-qa-mcp
An MCP (Model Context Protocol) server for editorial content QA. Point Claude at an article and get a findings report where every finding comes with the fix attached, so the report is usable instead of only correct.
The test suite checks that contract on a deliberately broken sample article: every finding the article triggers must carry a non-empty fix. In the source, each of the 20 finding paths is paired with a fix.
What it does
Four tools, one prompt, zero API keys. Everything runs locally.
Tool | Input | What it checks |
| HTML or plain text, optional focus keyword | Runs all checks below, merges findings, sorts by severity, returns a publish/fix/block verdict |
| plain text | Flesch-Kincaid grade, long sentences, passive-voice share |
| plain text | Stock phrases ("delve into", "in today's fast-paced world", 15 patterns total), em/en-dash density, arrow glyphs, emoji in body prose |
| article HTML, optional focus keyword | Title and meta length, H1/H2 structure, image alt coverage, internal links, keyword presence and density |
Plus a qa_review prompt that drives the full report and asks the model for an editorial verdict without softening or inventing findings.
Every finding is one object:
{
"check": "seo-onpage",
"severity": "high",
"excerpt": null,
"finding": "No meta description.",
"fix": "Add a 120-155 character meta description that states the article's payoff and includes the keyword once."
}See a full run in samples/sample-report.md: 22 findings on the deliberately broken fixture article, regenerable with npm run sample.
Related MCP server: OpenSEO-Lite
Install and register in Claude Code
git clone https://github.com/Alvi-808/content-qa-mcp.git
cd content-qa-mcp
npm install
npm test # 14 tests, includes a real MCP client/server handshakeRegister (Claude Code CLI):
claude mcp add content-qa -- node /absolute/path/to/content-qa-mcp/src/server.jsVerified working:
content-qa: C:\Program Files\nodejs\node.exe C:\...\content-qa-mcp\src\server.js - √ ConnectedThen, in a Claude Code session: "run qa_full_report on this article" or use the qa_review prompt.
Remove with claude mcp remove content-qa.
Windows note (the part most tutorials skip)
On Windows, register stdio MCP servers with the absolute path to node.exe and the script:
claude mcp add content-qa -- "C:\Program Files\nodejs\node.exe" "C:\path\to\content-qa-mcp\src\server.js"Registrations that go through npx or a .cmd shim routinely fail to connect on Windows because the spawned process never attaches stdio correctly, and the failure is silent. Absolute node.exe plus the script path works every time. The end-to-end test in this repo uses the same pattern (process.execPath).
Design notes
Checks are pure functions in
src/checks/, importable without MCP. The server is a thin protocol layer over them, so the same checks can run in CI, a git hook, or a pipeline.The SEO check is scoped on purpose. It parses well-formed CMS article output (WordPress, Ghost, static-site generators) with regex extraction. It is not a general HTML parser and does not try to survive adversarial markup. Naming the boundary beats pretending there isn't one.
Plain-text input skips the SEO check instead of reporting fake "missing tag" findings.
The stock-phrase list bans classes, not strings. Each entry is a pattern, so one-word rewrites of a cliche still get caught.
Why this exists
This is the working method behind my paid editorial QA work, packaged as tools an agent can call. The rule it encodes: a QA report that says what is wrong without saying what to do next just moves the work to someone else's desk. Findings ship with fixes or they don't ship.
License
MIT
Available Tools
4 toolsai_tell_scanAI-writing tell scanA
Scan prose for machine-writing tells: stock phrases (delve into, in today's fast-paced world, ...), em/en-dash density, arrow glyphs, emoji. Findings with fixes.
Inputs: text (required).
qa_full_reportFull editorial QA reportA
Run every check (readability, AI-writing tells, on-page SEO) on one article and return a single report. Every finding comes with the fix attached. Accepts raw HTML (preferred) or plain text; the SEO check only runs on HTML input.
Inputs: input (required), focusKeyword.
readability_checkReadability checkA
Flesch-Kincaid grade, long-sentence and passive-voice findings for article prose. Plain text in; findings with fixes out.
Inputs: text (required).
seo_onpage_checkOn-page SEO checkB
Title, meta description, heading structure, image alt coverage, internal links, and keyword usage for one article's HTML. Built for well-formed CMS article output (WordPress, Ghost, static sites), not adversarial markup.
Inputs: html (required), focusKeyword.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool targets a distinct aspect of content QA: readability, AI tells, on-page SEO, and a combined full report. There's no overlapping purpose; the full report explicitly aggregates the other three, which is clear.
All names use lowercase_with_underscores and are descriptive noun phrases. Minor inconsistency in word type ('report', 'check', 'scan') but no mixing of conventions, so it's mostly predictable.
Four tools is well-scoped for a content QA server, covering the core checks and an aggregated report. Each tool earns its place without unnecessary bloat or overly thin coverage.
The server covers the primary QA dimensions for articles: readability, AI-writing tells, and on-page SEO, plus a comprehensive report. There are no obvious missing operations for the stated domain.
Maintenance
Related MCP Connectors
Six tools for SEO and AI-readability audits. 91 checks, 11 score modules.
SEO, GEO & AI Visibility — research, write, optimize, publish & monitor content. 121 tools.
Technical SEO and AI-readiness audits for any page, plus a check that your fix worked.
AI Visibility and Content Intelligence tools for Claude and MCP-compatible agents.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceExposes 43 writing tools to any MCP-capable agent host, enabling clarifying questions, outline generation, drafting, revision, anti-AI audit, reader profiling, and export as one guided workflow. It learns the user's voice from their tracked edits and can distill a project directory into reports, READMEs, or blog posts based on the user's style.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform live Google SERP searches, run on-page and full-site SEO audits with prioritized fixes, and check brand visibility in AI answer engines via four MCP tools.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI hosts to check text for grammar, spelling, and style errors, measure readability, and generate tone-adjusted rewrites through structured tool calls. Every tool returns predictable, typed output for reliable routing and results.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to run SEO audits and use site tools for meta tags, robots.txt, schema validation, SERP previews, Core Web Vitals, Open Graph, hreflang, Search Console, GA4, keywords, and backlinks via the Model Context Protocol.69 npmMIT