Skip to main content
Glama
content-qa-mcp

content-qa-mcp

by Alvi-808

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

qa_full_report

HTML or plain text, optional focus keyword

Runs all checks below, merges findings, sorts by severity, returns a publish/fix/block verdict

readability_check

plain text

Flesch-Kincaid grade, long sentences, passive-voice share

ai_tell_scan

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

seo_onpage_check

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 handshake

Register (Claude Code CLI):

claude mcp add content-qa -- node /absolute/path/to/content-qa-mcp/src/server.js

Verified working:

content-qa: C:\Program Files\nodejs\node.exe C:\...\content-qa-mcp\src\server.js - √ Connected

Then, 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 tools
ai_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

    A4/5.0

    Scored across 4 tools

    Disambiguation5/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Exposes 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.
      1
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables 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
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables 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
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables 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 npm
      MIT