seo-mcp-tools-expert
SEO MCP Tools Expert
This skill teaches how to use seo-mcp MCP tools effectively. It does NOT teach SEO concepts — see the other skills for that.
Tool Categories
A. Page Analysis (7 tools — always available, no API key needed)
| Tool | Purpose | Speed |
|---|---|---|
analyze_page |
Comprehensive on-page SEO analysis | 2-5s |
analyze_headings |
Heading structure validation | 1-3s |
analyze_images |
Image alt text, size, format audit | 2-10s |
analyze_internal_links |
Link mapping, anchor text, broken links | 2-15s |
extract_schema |
Structured data extraction + validation | 2-5s |
analyze_robots_txt |
robots.txt parsing and analysis | 1-2s |
analyze_sitemap |
XML sitemap validation | 2-10s |
B. Performance (2 tools — free, optional API key for higher limits)
| Tool | Purpose | Speed |
|---|---|---|
check_core_web_vitals |
LCP, INP, CLS + Lighthouse scores | 10-30s |
check_mobile_friendly |
Mobile usability evaluation | 10-20s |
C. Research (4 tools — require DataForSEO or Moz API key)
| Tool | Purpose | Speed |
|---|---|---|
research_keywords |
Search volume, difficulty, related keywords | 3-10s |
analyze_serp |
SERP features, top results | 3-10s |
analyze_backlinks |
Backlink profile, referring domains | 3-10s |
analyze_domain_authority |
DA/DR metrics | 2-5s |
D. Google Search Console (3 tools — require OAuth2 setup)
| Tool | Purpose | Speed |
|---|---|---|
gsc_performance |
Clicks, impressions, CTR, position | 2-5s |
gsc_index_coverage |
Index status, errors, warnings | 2-5s |
gsc_sitemaps |
Submitted sitemap status | 1-3s |
E. Generation (3 tools — always available)
| Tool | Purpose | Speed |
|---|---|---|
generate_schema |
Create JSON-LD markup | <1s |
generate_robots_txt |
Create robots.txt file | <1s |
generate_meta_suggestions |
Suggest improved meta tags | 2-5s |
System (1 tool)
| Tool | Purpose |
|---|---|
seo_tools_documentation |
Tool docs, quick reference |
Common Workflows
Workflow 1: Full Page Audit
Use when: User says "audit this page", "check my SEO", or provides a URL for analysis.
Step 1: analyze_page(url, { includeContent: true, followRedirects: true })
→ Get overall score and identify major issues
Step 2: analyze_headings(url, { targetKeyword: "..." })
→ Validate heading structure (only if Step 1 shows heading issues)
Step 3: analyze_images(url, { checkFileSize: true })
→ Check image optimization (only if Step 1 shows image issues)
Step 4: check_core_web_vitals(url, { strategy: "mobile" })
→ Get performance metrics
Step 5: extract_schema(url, { validateGoogle: true })
→ Check structured data
Step 6: generate_meta_suggestions(url, { targetKeyword: "..." })
→ Suggest improvements
Key: Start with analyze_page — it's the broadest tool. Only drill down with specific tools if issues are found.
Workflow 2: Technical Site Audit
Use when: User wants to audit the entire site's technical health.
Step 1: analyze_robots_txt(domain)
→ Check crawlability rules
Step 2: analyze_sitemap(domain)
→ Validate sitemap structure
Step 3: analyze_page(homepage, { followRedirects: true })
→ Check homepage technical elements
Step 4: check_core_web_vitals(url, { strategy: "mobile", categories: ["performance", "seo"] })
→ Get Core Web Vitals for key pages
Step 5: check_mobile_friendly(url)
→ Verify mobile usability
Step 6 (if GSC available): gsc_index_coverage(siteUrl)
→ Check real indexing data
Workflow 3: Content Optimization
Use when: User wants to optimize content for a keyword.
Step 1: analyze_page(url, { includeContent: true })
→ Analyze current on-page elements
Step 2: analyze_headings(url, { targetKeyword: "keyword" })
→ Check keyword in headings
Step 3: generate_meta_suggestions(url, { targetKeyword: "keyword", secondaryKeywords: [...] })
→ Get improved meta tags
Step 4 (if API available): research_keywords(["keyword"])
→ Get search volume and related keywords
Step 5 (if API available): analyze_serp("keyword")
→ Understand what Google shows for this query
Workflow 4: Competitive Analysis
Use when: User wants to compare their site against competitors.
Step 1: analyze_page(competitorUrl) — for each competitor
→ Compare on-page elements
Step 2 (if API available): analyze_domain_authority([userDomain, ...competitorDomains])
→ Compare authority metrics
Step 3 (if API available): analyze_backlinks(competitorDomain)
→ Analyze competitor backlink profile
Step 4 (if API available): analyze_serp("target keyword")
→ See who ranks and what features they trigger
Workflow 5: Schema Implementation
Use when: User wants to add or fix structured data.
Step 1: extract_schema(url, { validateGoogle: true })
→ Check existing schema (if any)
Step 2: generate_schema({ type: "Article", data: {...} })
→ Generate correct JSON-LD
Step 3: extract_schema(url) (after implementation)
→ Validate the new schema
Tool Parameter Reference
analyze_page
| Parameter | Type | Default | Notes |
|---|---|---|---|
url |
string | required | Full URL with https:// |
includeContent |
boolean | false | Adds word count, readability analysis |
followRedirects |
boolean | true | Reports redirect chain |
userAgent |
string | "SEO-MCP-Bot/1.0" | Custom user agent |
renderJs |
boolean | false | Use puppeteer (slower but handles SPAs) |
analyze_headings
| Parameter | Type | Default | Notes |
|---|---|---|---|
url |
string | required | Full URL |
targetKeyword |
string | optional | Checks keyword presence in headings |
analyze_images
| Parameter | Type | Default | Notes |
|---|---|---|---|
url |
string | required | Full URL |
checkFileSize |
boolean | true | HEAD request per image (slower) |
maxImages |
number | 100 | Limit for large pages |
analyze_internal_links
| Parameter | Type | Default | Notes |
|---|---|---|---|
url |
string | required | Full URL |
checkBrokenLinks |
boolean | false | HEAD request per link (slower) |
maxLinks |
number | 500 | Limit for link-heavy pages |
check_core_web_vitals
| Parameter | Type | Default | Notes |
|---|---|---|---|
url |
string | required | Full URL |
strategy |
"mobile"/"desktop" | "mobile" | Always test mobile first |
categories |
string[] | ["performance","seo"] | Lighthouse categories |
research_keywords
| Parameter | Type | Default | Notes |
|---|---|---|---|
keywords |
string[] | required | Max 100 keywords |
location |
string | "United States" | Target location |
language |
string | "en" | Language code |
includeRelated |
boolean | true | Get related suggestions |
generate_schema
| Parameter | Type | Default | Notes |
|---|---|---|---|
type |
string | required | Schema.org type name |
data |
object | required | Property values |
validate |
boolean | true | Check Google requirements |
Common Mistakes
1. Not starting with analyze_page
Always start with analyze_page — it's the broadest tool and helps you decide which specific tools to use next. Don't jump straight to analyze_images or analyze_headings without context.
2. Using research tools without API keys
research_keywords, analyze_serp, analyze_backlinks, and analyze_domain_authority require DataForSEO or Moz API keys. If the user hasn't configured these, the tools will return an error with setup instructions.
How to check: Try the tool — if it fails with an API key error, inform the user and suggest alternatives (manual research, free tools like Google Keyword Planner).
3. Forgetting to specify strategy for Core Web Vitals
check_core_web_vitals defaults to mobile. Always run mobile first (Google uses mobile-first indexing), then optionally run desktop for comparison.
4. Not using targetKeyword with analyze_headings
The keyword check is optional but very useful. Always ask the user for their target keyword before running heading analysis.
5. Using renderJs unnecessarily
renderJs: true requires puppeteer and is much slower. Only use it for single-page applications (React, Vue, Angular) where content is rendered client-side. For most sites, the default cheerio parsing is sufficient and faster.
API Key Configuration
Always available (no keys needed)
All 7 analysis tools, 2 performance tools, 3 generation tools, 1 documentation tool = 13 tools
Optional: PageSpeed API key
Increases rate limits from 25 to 400 requests per 100 seconds.
Set: PAGESPEED_API_KEY in environment.
Optional: DataForSEO
Enables keyword research, SERP analysis, backlink analysis, domain authority.
Set: DATAFORSEO_LOGIN and DATAFORSEO_PASSWORD in environment.
Optional: Moz
Alternative for backlinks and domain authority.
Set: MOZ_ACCESS_ID and MOZ_SECRET_KEY in environment.
Optional: Google Search Console
Enables GSC performance, index coverage, and sitemap tools.
Set: GSC_CLIENT_ID, GSC_CLIENT_SECRET, GSC_REFRESH_TOKEN in environment.
Related Skills
- seo-on-page-optimization — what on-page elements to check
- seo-technical-audit — technical audit methodology
- seo-content-strategy — keyword research interpretation
- seo-schema-structured-data — schema generation details
- seo-off-page-backlinks — backlink analysis interpretation
- seo-local-seo — local SEO optimization
See ANALYSIS_GUIDE.md for detailed analysis tool usage. See PERFORMANCE_GUIDE.md for performance tool details. See GENERATION_GUIDE.md for generation tool details. See AUDIT_WORKFLOW_GUIDE.md for complete audit workflow.