seo-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PAGESPEED_API_KEY | No | Optional API key for Google PageSpeed Insights to raise the rate limit. Get a free key from Google. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| audit_pageA | Full on-page SEO audit of a URL: title, meta description, canonical, indexability (meta robots, X-Robots-Tag header, and robots.txt), redirect chain, viewport, Open Graph/Twitter, heading outline and hierarchy, word count, image alt coverage, internal/external link counts, structured-data presence, plus a list of issues and a 0–100 score. Free, no API key. Set pagespeed=true to also attach PageSpeed Insights performance metrics. After presenting the results, ASK THE USER whether they want a professionally formatted PDF report; if they say yes, call export_audit_pdf with the same url (and same pagespeed/strategy). |
| export_audit_pdfA | Generate a professionally laid-out PDF report of an on-page SEO audit (score badge, summary cards, severity-colored issue list, metadata, content/structure, social tags, and optional PageSpeed metrics). Re-runs the audit for the URL and writes a .pdf to disk, returning the file path. Use this after audit_page when the user asks for a PDF report. |
| audit_siteA | Site-wide on-page SEO audit: discovers the site's URLs from its sitemap (resolving a sitemap index into child sitemaps), runs the on-page audit on each page (keyless, concurrency-limited), and returns site-level aggregates — average/min/max score, pages with errors, site-wide gaps (missing titles/meta/H1/schema), a rollup of the most common issues, and a per-page table. By DEFAULT the response is compact: per-page rows carry score and issue counts only (sorted worst-first) to keep the payload small; set detail=true to get full per-page metadata and each page's specific issues. PageSpeed is NOT run per page (too slow across many URLs). Use audit_page or pagespeed for deep per-page performance, or export_site_pdf for a formatted report. |
| export_site_pdfB | Run a site-wide audit and write a professionally formatted multi-page PDF report (overall average-score badge, summary cards, coverage, common-issues rollup, a per-page results table sorted worst-first, and a full per-page details section — metadata, structure, and each page's specific issues). Returns the file path. |
| check_robotsA | Fetch and parse a site's /robots.txt — user-agent groups, allow/disallow rules, and declared sitemaps. |
| check_sitemapA | Discover and summarize a sitemap (via /sitemap.xml or robots.txt): index vs urlset, URL count, and a sample of URLs. |
| extract_schemaA | Extract JSON-LD structured data from a page and list the schema.org @types found (plus any microdata itemtypes and JSON-LD parse errors). |
| find_broken_linksB | Check the links on a page with HEAD requests and report any that return 4xx/5xx or are unreachable. |
| keyword_ideasA | Get related keyword/query ideas for a seed term via Google Suggest (free; related queries only, no search volume). |
| pagespeedA | Run Lighthouse for performance score (0–100), lab Core Web Vitals (LCP, CLS, TBT, FCP, Speed Index, TTI), and top improvement opportunities. Default engine is Google PageSpeed Insights (hosted; adds real-user CrUX field data when available; keyless but rate-limited — set PAGESPEED_API_KEY to raise the quota), and it auto-falls-back to a LOCAL Lighthouse run if PSI is over quota. Set local=true to force the local engine (no key, no quota; needs Chrome on the host; no CrUX field data; runs headless Chrome silently). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Tools target mostly distinct SEO subtasks, but audit_page and pagespeed overlap because audit_page can optionally attach PageSpeed metrics. Similarly, check_robots/check_sitemap partially overlap with audit_page's indexability checks, though descriptions usually clarify intended use.
Nearly all names use snake_case and mostly follow a verb_noun pattern, such as audit_page, check_robots, and export_site_pdf. However, keyword_ideas and pagespeed are noun-only exceptions, so it is not a strict verb_noun pattern throughout.
Ten tools is well-scoped for an SEO audit server. Each tool covers a clear, non-trivial function: page/site audits, technical checks, PDF exports, performance, and keyword ideas.
The core technical and on-page SEO audit lifecycle is covered, including page audits, site-wide audits, robots.txt, sitemaps, structured data, broken links, performance, keyword ideas, and PDF reporting. Broader SEO capabilities like backlink analysis, rank tracking, or keyword search volume are missing, but common audit workflows are workable.