SEOctopus
Allows checking Google search rankings for specific keywords using stealth browser automation, with support for competitors and SERP features.
Integrates with Google Analytics 4 (GA4) via OAuth2 to provide real-time and historical analytics data including sessions, users, bounce rate, top pages, traffic sources, and more.
Performs Lighthouse audits to evaluate performance, SEO, accessibility, and best practices, and provides Core Web Vitals metrics like LCP, INP, and CLS.
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., "@SEOctopus check my ranking for 'mcp server tools'"
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.
SEOctopus
Your AI's SEO brain. 23 tools. One MCP server.
Stop Googling SEO metrics. Let your AI pull them directly.
Rank tracking, Google Analytics, site audits, keyword research, competitive analysis, Core Web Vitals, and a research-backed scoring system — all accessible through natural language or CLI.
Why This Exists
Every SEO tool costs $100-300/month. Ahrefs, SEMrush, Moz — they're great, but they're designed for humans clicking dashboards.
SEOctopus is different. It's designed for AI. Your Claude assistant can pull rankings, analytics, and audit data in real-time through MCP — no browser tabs, no copy-pasting, no monthly subscription.
You ask a question. Your AI answers with live data.
You: "Where do we rank for 'best mcp servers' and how's our traffic this month?"
Claude: Let me check... [calls rank_check + analytics_overview]
Rankings:
- "best mcp servers" → #7 (up from #12 last week)
- "mcp server tools" → #3
Traffic (last 28 days):
- Sessions: 4,231 (+18% vs previous period)
- Top source: Organic Search (62%)
- Bounce rate: 34% (good)Related MCP server: seo-mcp
If You Only Try 3 Things, Try These
Tool | What It Does | Why It's Great |
| Live Google rankings for any keyword | No API key needed — uses stealth Playwright scraping with anti-detection |
| Full GA4 dashboard in one call | Sessions, users, bounce rate, top pages, traffic sources — with period comparison |
| 0-100 SEO score weighted by actual Google ranking factors | Research-backed weights, letter grades, actionable recommendations |
The 8 Arms (23 Tools)
Arm 1: Rank Tracking
No API keys required. Uses stealth browser automation with anti-detection.
Tool | What You Get |
| Where your domain ranks for specific keywords (scans top 100) |
| Trend analysis: up, down, or stable over time (stored locally in SQLite) |
| Who's ranking above you and why |
| Featured snippets, People Also Ask, knowledge panels, image packs |
Arm 2: Google Analytics (GA4)
Requires OAuth2 setup (one-time, 5 minutes).
Tool | What You Get |
| Sessions, users, bounce rate, top pages, traffic sources — with comparison periods |
| Per-page performance sorted by pageviews, engagement, or conversions |
| Traffic breakdown by source, medium, campaign, or channel |
| Right-now data: active users, current pages, live events |
Arm 3: SEO Auditing
Just pass a URL. No setup needed.
Tool | What You Get |
| Full on-page audit: title, meta, headings, images, canonical, OG tags — with scoring |
| BFS crawl of your entire site with issue aggregation (respects robots.txt) |
| JSON-LD validation with required/recommended field checking |
| Word count, Flesch readability, keyword density, heading hierarchy |
| Internal/external link analysis + broken link detection with concurrent checking |
Arm 4: Keyword Research
Search Console tools need OAuth2. Suggestions work without it.
Tool | What You Get |
| Your actual keyword performance: clicks, impressions, CTR, avg position |
| Google Autocomplete + People Also Ask expansion from a seed keyword |
| Quick wins: keywords where you have high impressions but poor position (positions 4-20) |
| Group keywords by topic and infer search intent (informational/transactional/navigational) |
Arm 5: Competitive Analysis
Uses Playwright for SERP scraping + Cheerio for page analysis.
Tool | What You Get |
| Side-by-side comparison: word count, headings, images, structured data, load time |
| Topics and headings your competitors cover that you don't |
| Your share of SERP real estate vs competitors across a keyword set |
Arm 6: Performance & Core Web Vitals
Tool | What You Get |
| Lighthouse scores: performance, SEO, accessibility, best practices |
| Run Lighthouse on 2-5 URLs and compare side-by-side |
| LCP, INP, CLS with pass/fail ratings against Google's thresholds |
Arm 7: OctoScore
Tool | What You Get |
| Weighted 0-100 SEO score with letter grade (A-F) and prioritized recommendations |
Arm 8: Reports
Tool | What You Get |
| Full multi-module report in JSON, Markdown, or dark-themed HTML |
Quick Start (2 Minutes)
# 1. Clone and install
git clone https://github.com/itsjwill/seoctopus.git
cd seoctopus
npm install
# 2. Build
npm run build
# 3. Install browser for rank tracking
npx playwright install chromiumAdd to Claude as MCP Server
{
"mcpServers": {
"seoctopus": {
"command": "node",
"args": ["/path/to/seoctopus/dist/index.js"]
}
}
}That's it. Claude now has 23 SEO tools.
Want Google Analytics + Search Console too?
# One-time OAuth2 setup (requires Google Cloud project)
npx seoctopus auth setup -c /path/to/credentials.jsonGo to Google Cloud Console
Create a new project (or use existing)
Enable Google Analytics Data API and Search Console API
Create OAuth2 credentials → Desktop application
Download the credentials JSON file
Run
npx seoctopus auth setup -c credentials.json
Where Should I Start?
Just want to check rankings?
→ No setup needed. rank_check uses stealth browser scraping.
Want the full SEO picture? → Set up Google OAuth2 (5 min) to unlock Analytics + Search Console tools.
Building an SEO monitoring system?
→ Use octo_score + rank_history for automated weekly tracking with trend detection.
Comparing against competitors?
→ competitive_analyze + competitive_content_gap gives you the full picture.
Need a client report?
→ octo_report generates presentation-ready HTML with dark theme.
OctoScore — The SEO Rating System
Not another vanity metric. OctoScore is weighted by what Google actually cares about:
Factor | Weight | What It Measures | Why It Matters |
Content Quality | 25% | Word count, readability, depth | Google's #1 ranking signal |
Core Web Vitals | 15% | LCP, INP, CLS | Direct ranking factor since 2021 |
Title Optimization | 12% | Length, keyword placement | Highest CTR impact element |
Mobile Friendly | 10% | Viewport, responsive design | 60%+ of searches are mobile |
User Engagement | 10% | Bounce rate, time on page | Behavioral signals Google tracks |
Backlinks | 8% | External links pointing in | Still a top-3 ranking factor |
Link Diversity | 7% | Internal/external link mix | Healthy sites have balanced links |
E-E-A-T | 5% | Author, citations, trust | Critical for YMYL content |
Freshness | 5% | Last modified, publish date | Google rewards recently updated content |
Topical Authority | 3% | Heading coverage, semantic depth | Comprehensive content ranks better |
Grades: A (90+) · B (75-89) · C (60-74) · D (40-59) · F (<40)
Each score comes with prioritized recommendations ranked by estimated impact.
CLI Usage
SEOctopus works as a standalone terminal tool too.
# Check where you rank
seoctopus rank check "best seo tools" "mcp server" -d example.com
# Full page audit
seoctopus audit page https://example.com
# Content analysis with keyword targeting
seoctopus audit content https://example.com -k "target keyword"
# Core Web Vitals check
seoctopus perf cwv https://example.com
# Keyword opportunities from Search Console
seoctopus keywords gaps -s https://example.com
# Generate HTML report
seoctopus report https://example.com -f html -o report.html
# Calculate OctoScore
seoctopus score https://example.com -k "target keyword"
# Competitor deep dive
seoctopus compete analyze "target keyword" -u https://yoursite.com# Rank tracking
seoctopus rank check <keywords...> -d <domain> [-c country] [--device desktop|mobile]
seoctopus rank history -d <domain> [-k keywords...] [--days 30]
# SEO auditing
seoctopus audit page <url>
seoctopus audit site <url> [-p maxPages] [-d depth]
seoctopus audit content <url> [-k keyword]
seoctopus audit links <url> [-e checkExternal]
# Performance
seoctopus perf audit <url> [--device mobile|desktop]
seoctopus perf cwv <url> [-s mobile|desktop]
seoctopus perf compare <url1> <url2> [url3...] [--device mobile|desktop]
# Google Analytics
seoctopus analytics overview -p <propertyId> [--date last28days] [--compare previousPeriod]
seoctopus analytics pages -p <propertyId> [--sort pageviews|engagement|bounceRate|conversions]
seoctopus analytics realtime -p <propertyId>
# Keywords
seoctopus keywords gsc -s <siteUrl> [--sort clicks|impressions|ctr|position]
seoctopus keywords suggest <seed> [-c country]
seoctopus keywords gaps -s <siteUrl> [--min-impressions 100] [--max-position 20]
seoctopus keywords cluster <keyword1> <keyword2> [keyword3...]
# Competitive
seoctopus compete analyze <keyword> [-u yourUrl] [-n numCompetitors]
seoctopus compete gap <yourUrl> <competitorUrl1> [competitorUrl2...]
seoctopus compete share <keyword1> [keyword2...] -d <domain>
# Scoring & Reports
seoctopus score <url> [-k keyword] [-p ga4PropertyId]
seoctopus report <url> [-k keyword] [-f json|markdown|html] [-o outputFile]
# Auth & Config
seoctopus auth setup -c <credentialsFile>
seoctopus auth status
seoctopus config [--set key=value] [--get key]How It's Built
seoctopus/
├── src/
│ ├── index.ts # MCP server entry (stdio transport)
│ ├── server.ts # 23 tool definitions with Zod schemas
│ ├── cli.ts # Full CLI with Commander
│ ├── auth/google.ts # OAuth2 with auto token refresh
│ ├── data/store.ts # SQLite (WAL mode) for history
│ ├── modules/
│ │ ├── rank-tracker/ # Playwright + anti-detection + SERP parsing
│ │ ├── analytics/ # GA4 Data API + Admin API + Realtime
│ │ ├── auditor/ # On-page, content, links, schema, crawler
│ │ ├── keywords/ # Search Console + autocomplete + clustering
│ │ ├── competitive/ # Competitor analysis + content gaps + SERP share
│ │ └── performance/ # Lighthouse + PageSpeed Insights + CWV
│ ├── scoring/ # OctoScore: weights, grader, recommendations
│ ├── reports/ # JSON, Markdown, HTML (dark theme) formatters
│ └── utils/ # Config (Conf), logging, rate limiter
├── bin/seoctopus.ts # CLI executable entry
├── tsup.config.ts # Dual-entry build (MCP + CLI)
└── package.jsonUnder the Hood
Anti-detection SERP scraping — Random user agents, viewport sizes, human-like delays, webdriver spoofing via Playwright
SQLite with WAL — Concurrent read/write for rank history tracking and trend detection
OAuth2 token management — Auto-refresh, credential persistence, scoped to read-only
Rate limiting — Built-in limiter respects Google API quotas
Lazy module loading — Each tool dynamically imports its module for fast startup
3 report formats — JSON for machines, Markdown for docs, HTML with dark theme for presentations
Tech Stack
What | Why |
TypeScript (ES2022, strict) | Type safety for 23 tool schemas |
MCP SDK | Standard protocol for AI tool integration |
Playwright | Stealth browser for rank tracking |
googleapis | Official GA4 + Search Console client |
Lighthouse | Performance auditing (same engine as Chrome DevTools) |
Cheerio | Fast HTML parsing for audits |
better-sqlite3 | Embedded storage, zero config |
tsup | Fast builds, dual entry points |
Comparison: SEOctopus vs The Alternatives
Feature | SEOctopus | Ahrefs | SEMrush | Moz |
AI-native (MCP) | Yes | No | No | No |
Price | Free | $99/mo | $130/mo | $99/mo |
Rank tracking | Yes (stealth scraping) | Yes | Yes | Yes |
Google Analytics | Yes (GA4 API) | No | Yes | No |
Search Console | Yes (API) | No | Yes | No |
Site audit | Yes (crawler) | Yes | Yes | Yes |
Core Web Vitals | Yes (Lighthouse) | No | Yes | No |
CLI | Yes | No | No | No |
Self-hosted | Yes | No | No | No |
Open source | Yes | No | No | No |
SEOctopus won't replace Ahrefs' backlink index or SEMrush's keyword database. But for real-time SEO data inside your AI workflow — it's the only option.
Development
npm run dev # Watch mode (auto-rebuild on changes)
npm run typecheck # TypeScript strict mode check
npm run lint # ESLint
npm run format # Prettier
npm run test # VitestWant to Build Real Projects With AI Tools Like This?
Stop collecting bookmarks. Start shipping.
Join The Agentic Advantage — where builders learn to turn AI tools into income.
Contributing
Found a bug or have an idea? Open an issue. Built something cool with SEOctopus? Open a PR.
License
MIT — Go build something.
Available Tools
25 toolsanalytics_overviewA
Get Google Analytics overview: sessions, users, bounce rate, top pages, sources
Inputs: propertyId (required), dateRange, compareWith.
analytics_pagesC
Get per-page analytics metrics
Inputs: propertyId (required), dateRange, orderBy, limit.
analytics_realtimeB
Get realtime Google Analytics data: active users, pages, events
Inputs: propertyId (required).
analytics_trafficC
Get traffic breakdown by source, medium, or channel
Inputs: propertyId (required), dateRange, dimension.
audit_contentC
Analyze content quality: word count, readability, keyword density
Inputs: url (required), targetKeyword.
audit_linksB
Analyze internal, external, and broken links on a page
Inputs: url (required), checkExternal.
audit_pageB
Run a full on-page SEO audit on a URL
Inputs: url (required).
audit_siteB
Crawl and audit an entire website
Inputs: url (required), maxPages, maxDepth.
audit_structured_dataB
Validate JSON-LD and structured data on a page
Inputs: url (required).
competitive_analyzeC
Analyze top competitors for a keyword with side-by-side comparison
Inputs: keyword (required), yourUrl, numCompetitors.
competitive_content_gapB
Find topics/headings competitors cover that you don't
Inputs: yourUrl (required), competitorUrls (required).
keywords_clusterA
Group keywords by topic and search intent
Inputs: keywords (required).
keywords_gapsB
Find quick-win keyword opportunities (high impressions, poor position)
Inputs: siteUrl (required), minImpressions, maxPosition, minPosition.
keywords_search_consoleB
Get keyword performance from Google Search Console
Inputs: siteUrl (required), dateRange, page, limit, +1 more.
keywords_suggestionsB
Get keyword suggestions from Google Autocomplete and People Also Ask
Inputs: seed (required), country.
octo_reportC
Generate a comprehensive multi-module SEO report
Inputs: url (required), keyword, format, depth.
octo_scoreB
Calculate the OctoScore (0-100) - weighted by Google ranking factors with letter grade and action items
Inputs: url (required), keyword, propertyId, siteUrl.
performance_auditC
Run Lighthouse audit for performance, SEO, accessibility scores
Inputs: url (required), device, categories.
performance_compareB
Compare performance of multiple URLs side-by-side
Inputs: urls (required), device.
performance_cwvA
Get Core Web Vitals (LCP, INP, CLS) with pass/fail ratings
Inputs: url (required), strategy.
rank_checkB
Check where a domain ranks in Google for given keywords
Inputs: keywords (required), domain (required), country, language, +2 more.
rank_competitorsC
Get top ranking pages for a keyword
Inputs: keyword (required), numResults.
rank_historyB
Get historical ranking data with trend direction
Inputs: domain (required), keywords, days.
rank_serp_featuresB
Detect SERP features (featured snippet, PAA, knowledge panel, etc.)
Inputs: keyword (required), country.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 25 tools
Each tool has a clearly distinct purpose, grouped by domain (analytics, audit, competitive, keywords, performance, rank, reporting) with no overlapping functionality. For example, analytics_overview, analytics_pages, analytics_realtime, and analytics_traffic each target different aspects of analytics.
All tool names follow a consistent snake_case pattern with a domain-specific prefix (e.g., analytics_, audit_, competitive_) followed by a descriptive noun or verb, making them predictable and easy to navigate.
While at the upper end of the recommended range (25 tools), each tool covers a distinct SEO function. The count is justified by the breadth of SEO tasks (analytics, audits, rankings, keywords, competitive analysis, performance) without being excessive.
The tool set covers most core SEO workflows: analytics, audits, keyword research, rankings, performance, and competitive analysis. Minor gaps include missing backlink analysis (though link auditing exists) and deeper content optimization tools, but the surface is largely complete.
Maintenance
Related MCP Connectors
SEO MCP server for keyword research, live SERPs, backlinks, site audits and AI visibility.
SEO MCP server for keyword research, SERP analysis, audits, and Search Console workflows.
An MCP server that integrates with Discord to provide AI-powered features.
AI tool directory MCP server, live since July 2026. Tools, agents, models, companies, services.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server that enables AI assistants to perform SEO automation tasks including keyword research, SERP analysis, and competitor analysis through Google Ads API integration.1ISC
- AlicenseAqualityDmaintenanceMCP server that gives AI assistants live access to Google Search Console and Bing Webmaster Tools for search performance, indexing, keyword research, and crawl health analysis directly in the chat.1013 npmMIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that connects AI assistants to SEO platforms like Google Search Console, GA4, Bing Webmaster Tools, and Adobe Analytics, enabling natural language queries about SEO performance.1,377 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server that provides Google Analytics and Search Console data as tools for AI assistants, enabling natural language queries for web analytics, SEO performance, and site insights.13MIT