seo-page-checker-mcp
Click on "Install 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., "@seo-page-checker-mcpCheck the SEO foundation of https://example.com"
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.
SEO Page Checker
This MCP server fetches any public web page. It answers two SEO questions: what does its SEO foundation look like? and how readable is its prose?
What is MCP? MCP ("Model Context Protocol") is a standard way for an AI assistant to use tools. A "server" like this one publishes tools and answers requests to run them. Claude Code connects to this server's URL and sees two tools. It can run either one on any web page you ask about.
This repository is written to be read by someone who is not a software engineer. You can read it from start to finish in an afternoon. Every file starts with a short "what this file is" note in plain English. Every decision in the code is explained where it happens.
What this server does
Tool | What it answers |
| A snapshot of the page's on-page SEO foundation: Title, meta description, canonical URL, Open Graph tags, robots meta, heading outline (H1–H6), and image-alt coverage. |
| Every sentence that is too long (more than 20 words) and every paragraph with too many sentences (more than 5), each located, quoted, and measured. |
Both tools fetch the live page over the internet, so they work on any public URL.
Related MCP server: Marketing Master – Landing Page Evaluator
What's in the repo
api/mcp.ts The whole MCP server. What Claude Code talks to.
lib/fetch.ts Fetches a web page, politely and safely.
lib/analyze.ts Runs both tools against one page's HTML.
lib/headSnapshot.ts The inspect_page answer (the SEO snapshot).
lib/prose.ts Finds the real prose of a page (paragraphs, not menus).
lib/finders.ts The two readability checks.
lib/segmentation.ts Splits text into sentences (carefully).
lib/head.ts Reads the <title> and <meta> of a page.
lib/dom.ts, nodeDom.ts The "browser" the checks read pages with.
lib/*.test.ts The tests, one next to each file they test.
api/mcp.test.ts The "whole server answers" test (talks to api/mcp.ts itself).
vercel.json The platform's settings (the function's time budget).That is the whole thing. The server is one file (api/mcp.ts); it does not
sit inside a web framework. Vercel sees the file in its api/ folder and
turns it into a live internet endpoint. Everything else in the repo either
helps that one file do its job (lib/) or proves it works (the tests).
Read the code in this order
api/mcp.ts— start here. It is the entry point: what a client sees, the two tools, and the request flow from "give me a URL" to "here is your answer".lib/fetch.ts— how a page is fetched, and how failures are answered kindly instead of with an error.lib/analyze.ts— the one place that runs both tools against fetched HTML.lib/headSnapshot.ts— theinspect_pageanswer, built up from small helpers.lib/prose.ts— what counts as prose (and what does not), and how a page is split into paragraphs.lib/segmentation.ts— how a paragraph is split into sentences without stumbling on "Dr." or "e.g."lib/finders.ts— the two readability checks themselves, and their limits.lib/head.ts,lib/dom.ts,lib/nodeDom.ts— the tiny helpers everything above leans on.
Each file's header explains why the file exists before any code runs.
Run it locally
You need Node.js 20 or newer.
npm install
npm test # the quickest way to know everything works
npm run dev # run the server locally, via the Vercel CLI (asks you to log in)The local server is then at http://localhost:3000/api/mcp. (The tests are
the no-login way to run the code; they exercise every piece of it with
pretend pages.)
Try it in Claude Code
Connect Claude Code to a running copy:
claude mcp add --transport http seo-page-checker http://localhost:3000/api/mcpThen in the conversation, ask for either check on any public page:
Run
check_readabilityon https://example.com
Deploy it (free, on Vercel)
This server is built to deploy with zero configuration:
Push this repository to your GitHub account.
Go to vercel.com and sign up free, then Add New → Project → Import this GitHub repo. Vercel recognises the
api/folder on its own — leave every setting at its default and click Deploy.Vercel gives your server a public URL, something like
https://seo-page-checker.vercel.app.Point Claude Code at the live URL:
claude mcp add --transport http seo-page-checker https://seo-page-checker.vercel.app/api/mcp
Every time you push to GitHub, Vercel redeploys automatically. The checks in .github/workflows/ci.yml run first, so a broken change never reaches the live server.
How we know it works
The tests sit next to the code they test (a file named lib/finders.test.ts
tests lib/finders.ts). Each one feeds the code a small pretend page and
checks the answer. The test command npm test runs them all, and npm run typecheck runs the type checker.
GitHub runs both on every push. There is no "build" step. Vercel compiles the one function itself when it deploys, so the tests and type check are all CI needs.
One test is different: api/mcp.test.ts talks to the actual server file,
the way a real client would. It swaps the internet for a pretend page. It is
how we know the whole thing answers before it is ever deployed.
The tests never touch the internet — they use pretend pages, so they are fast and dependable.
This repo also checks its own words. The wiki and this README are read by the
same readability tool that powers check_readability. Right now every page
passes. Run npm run docs:check any time after you edit, and you will see if
your changes still pass too.
What it does not do
It reads the whole page. The analysis walks everything the page contains — menus and footers included — not just the main article. A fancier version would find just the article; this one keeps it simple on purpose. It also means a page with a very long sentence in its navigation will mention it.
It only reads what is public. No logins, no page source editing, no screenshots.
It is not the full audit. Your employer might have a full SEO audit product; this is deliberately just two of its building blocks, kept small enough to read.
Other paths
Vercel is our choice because the whole server fits in one readable file. There is also a one-command Cloudflare template for MCP servers. It is even less work to get running — a fine do-it-yourself path if you want to experiment.
This is a teaching project. Its two tools are the sentence-length and sentences-per-paragraph finders. It also makes a head/meta snapshot — real, working, and deliberately small.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables web content scanning and analysis by fetching, analyzing, and extracting information from web pages using tools like page fetching, link extraction, site crawling, and more.Last updated613MIT
- Alicense-qualityDmaintenanceEnables rapid analysis of landing pages for SEO compliance, conversion structure, color contrast accessibility, and performance metrics with automated optimization suggestions and code snippets.Last updated251MIT
- Flicense-qualityDmaintenanceAnalyzes any webpage for SEO scores, issues, and actionable recommendations. Supports side-by-side comparison of two URLs.Last updated
- Flicense-qualityDmaintenanceEnables fetching, crawling, and analyzing web pages with 29 tools for SEO audits, content extraction, and more.Last updated
Related MCP Connectors
Fetch any URL and get clean Markdown. Web scraping for AI agents.
Professional SEO auditing: 15 tools, 9 checks, CWV, E-E-A-T, schema, GEO. Free tier.
Scan any URL for AI agent readability — Vercel Spec, llmstxt.org, and agent-protocol manifests.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/lineape/seo-page-checker-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server