OctoBoost SEO MCP Server
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., "@OctoBoost SEO MCP Serverrun an SEO audit on my homepage"
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.
OctoBoost SEO MCP Server
Expose the OctoBoost SEO API as Model Context Protocol (MCP) tools so agents can audit websites with compact, structured results instead of fetching and parsing raw HTML.
Get your free API key at octo-boost.com. New accounts include free credits to try every tool.
What This Server Does
octoboost-mcp-server gives an MCP client three core capabilities:
discover available analyzers with
list_analyzerscrawl a domain for relevant URLs with
scan_domainrun full audits with
analyze
It is built for agent workflows that need SEO and AI-visibility signals inside the reasoning loop without spending thousands of tokens on raw page content.
Related MCP server: @metricspot/mcp-server
Who It's For
This server is a good fit for:
developers building MCP-enabled products, assistants, or internal automation
teams using MCP clients such as Cursor or Claude Desktop and wanting SEO tooling via config only
AI agent workflows that need token-efficient site audits, progress updates, and structured outputs they can reason over
It is less useful if you want a general SEO learning guide or a raw HTML scraping tool. The main value here is compact audit output for automated workflows.
Why Use This Instead Of Raw Scraping?
Running SEO checks directly in an LLM context is expensive. OctoBoost moves the heavy lifting to the API and returns only the signals an agent needs to decide what to do next.
Token-efficient: structured results instead of raw HTML
LLM-friendly: scores, flags, and diagnostics instead of prose parsing
Credit-aware: responses include credits used and credits remaining
Predictable errors:
401for invalid or expired keys,402for exhausted credits
Quick Start
Get an API key from octo-boost.com.
Add the server to your MCP client config.
Call
list_analyzersto verify the connection.
{
"mcpServers": {
"octoboost-seo": {
"command": "npx",
"args": ["-y", "octoboost-mcp-server"],
"env": {
"OCTOBOOST_API_KEY": "your-api-key"
}
}
}
}Common config locations:
Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.jsonCursor: Cursor MCP settings
OpenClaw:
~/.openclaw/mcp.json
Core Workflow
Most agent flows follow this pattern:
1. list_analyzers
-> learn categories and available checks
2. scan_domain { domain: "acme.com" }
-> collect relevant URLs for the audit
3. analyze { urls: [...] }
-> run a full audit with SEO score + GEO/AEO score for each URLTools Overview
list_analyzers
Returns available analyzer keys, categories, and weights. Call this first so an agent knows what it can run.
no input required
current categories include
seo,accessibility,ux,performance, andgeoweights returned reflect your personal setup (see Analysis Setup below)
scan_domain
Crawls a domain and returns SEO-relevant URLs.
Parameter | Type | Default | Description |
| string | — | Domain or URL to scan |
| number | server default | Maximum pages to crawl (capped server-side at the batch analysis limit) |
| string[] |
| URL patterns to skip |
| boolean |
| Honor |
| boolean |
| Skip alternate-language duplicates |
analyze
Runs a full audit for one or more URLs. All 30+ analyzers run on each URL, returning an overall SEO score, per-category scores, and a GEO/AEO score for AI search visibility. URLs are processed sequentially and emit progress notifications after each one.
Parameter | Type | Description |
| string[] | URLs to analyze |
Cost: 3 credits per URL.
Analysis Setup
From your dashboard at octo-boost.com/dashboard, you can configure how much each analyzer contributes to the overall score. Set a weight between 0 and 5 for any of the 30+ analyzers.
Weight 0 — the analyzer still runs but is excluded from the overall score calculation
Weight 1–5 — higher values give an analyzer more influence over the final score
Changes apply immediately to all future API calls made with your key
list_analyzersalways returns your current weights, so agents can adapt their reasoning to your setup
Core Web Vitals (CrUX)
Full audits include real-user performance data (LCP, CLS, INP, FCP, TTFB) from the Chrome UX Report API at the p75 percentile — the speed 75% of actual Chrome users experienced or better. Google uses these as Search ranking signals.
If no data is returned, the result includes the exact reason (e.g. insufficient traffic, URL not in Google's dataset). This is common for low-traffic sites and does not affect the overall SEO score.
GEO/AEO Output
Full audits include a geoScore alongside the technical SEO score.
This score is meant for AI-search and agent workflows. It helps answer whether a page is easy for systems like ChatGPT, Claude, Gemini, or Perplexity to understand, extract, retrieve, and cite.
Key fields include:
geoScoretechnicalAccesscontentStructureentityClarityauthoritySignalscitationLikelihoodragReadinessllmAssessmentwhyThisMattersForAgents
Project Status
Planned next:
LLM-based prioritization and condensation for more compact output
higher-level tools such as
get_fix_plan,summarize_top_opportunitiesandcompare_urlsbetter site-level workflows built on top of crawl plus analysis
dedicated interface and API documentation
Available Tools
4 toolsanalyzeA
Analyze one or more URLs for SEO issues. Runs all analyzers and returns scores, issues, and a GEO/AEO score measuring AI search visibility (citation likelihood, RAG readiness, and sub-metrics for technical access, content structure, entity clarity, and authority signals). Processes URLs sequentially and reports progress after each. Costs 3 credits per URL.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | List of URLs to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description fully discloses behavior: sequential processing, credit cost per URL, progress reporting, and detailed return values including GEO/AEO score with sub-metrics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the purpose and key details. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given one parameter and no output schema, the description adequately covers the tool's purpose, processing behavior, output contents, and constraints (credit cost). No missing critical information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds context beyond the schema (100% coverage) by explaining processing mode and cost per URL. While the schema defines the 'urls' parameter, the description clarifies its usage behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes URLs for SEO issues, runs all analyzers, and returns scores, issues, and GEO/AEO scores. It distinguishes itself from siblings like get_stored_analysis (retrieves stored), list_analyzers (lists), and scan_domain (domain scan).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates typical usage: analyzing one or more URLs fully. It mentions sequential processing and progress reporting. However, it doesn't explicitly state when to avoid this tool or provide direct comparisons to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stored_analysisA
Retrieve previously stored SEO analysis reports. No credits consumed. Supports filtering by URL, category, or single analyzer key. Returns paginated results (10 per page). Use this to review past analyses without re-crawling.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Filter by exact URL (optional) | |
| page | No | Page number (default 1, page size 10) | |
| analyzer | No | Filter results to a single analyzer key | |
| category | No | Filter results to a specific category (seo, accessibility, performance, ux, geo) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It mentions no credit consumption, supports filtering, and returns paginated results (10 per page). These are key behavioral traits for a read-only retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with purpose, no wasted words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool with 4 optional parameters and no output schema, the description covers pagination, credit consumption, and filtering. It is complete enough given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with individual parameter descriptions. The description adds a summary of filtering capabilities but does not provide new meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieve' and the resource 'previously stored SEO analysis reports', making the purpose unambiguous. It distinguishes itself from siblings like 'analyze' (new analysis) and 'scan_domain' (scanning) by focusing on stored reports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'No credits consumed' and 'Use this to review past analyses without re-crawling', indicating when to use. It does not explicitly exclude other tools but provides clear context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_analyzersA
List all available SEO analyzers with their keys, categories, and weights. Call this first to discover what analyzers and categories are available before running an analysis.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on the full burden. It clearly indicates a read-only listing operation with no mention of side effects. While simple, it adequately conveys the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states what it does, second provides usage guidance. No wasted words, front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description covers all necessary information: what the tool returns and why it should be used. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100%. The description adds meaning by explaining what the output includes (keys, categories, weights), fulfilling the need for parameter semantics baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists all available SEO analyzers with keys, categories, and weights. It distinguishes from sibling tools (analyze, get_stored_analysis, scan_domain) by its specific purpose of discovery before analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to call this first to discover available analyzers and categories before running an analysis. This provides clear usage context and when to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_domainA
Crawl a domain and return all SEO-relevant page URLs. Use this to discover pages before running analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain or URL to scan (e.g. 'example.com' or 'https://example.com') | |
| maxPages | No | Maximum pages to crawl (server default applies; capped at the batch analysis limit) | |
| excludePatterns | No | URL patterns to exclude from crawling | |
| respectRobotsTxt | No | Whether to respect robots.txt (default: true) | |
| defaultLanguageOnly | No | Only return pages in the site's default language (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Crawl a domain' without disclosing behavioral traits such as potential impact on the target, rate limits, permissions required, or whether it stores data. This is insufficient for transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences. The first sentence captures the core function, and the second provides usage context. Every word is purposeful, with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters including boolean flags and patterns, the description lacks details on how these affect crawling results. It does not describe the output format or any limitations (e.g., crawl depth). The omission of behavioral context and return value specification makes it incomplete for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 5 parameters, so the description does not need to add extra meaning. It adds no further details about parameters beyond the schema, maintaining the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action ('crawl a domain') and the output ('SEO-relevant page URLs'). It distinguishes this tool from sibling tools (analyze, get_stored_analysis, list_analyzers) by specifying it is for discovery before analysis. Thus, purpose is clear and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says to use this 'to discover pages before running analysis', providing a clear contextual use case. However, it does not mention when not to use it or compare directly to sibling alternatives, lacking explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.1.1- First observed
analyze - First observed
get_stored_analysis - First observed
list_analyzers - First observed
scan_domain
TDQS
Scored across 4 tools
Each tool has a clear, non-overlapping purpose: analyze runs analyses, get_stored_analysis retrieves past results, list_analyzers shows available options, and scan_domain discovers URLs. No ambiguity.
All tool names follow a consistent verb_noun pattern using snake_case, e.g., get_stored_analysis, list_analyzers. The analyze tool is slightly terse but fits the pattern.
Four tools is appropriate for a focused SEO server. Each tool is essential and covers the core workflow without unnecessary bloat.
The server covers the main SEO analysis flow: scanning, analyzing, retrieving, and listing. Minor gaps exist, such as missing a tool to delete stored analyses, but core functionality is complete.
Maintenance
Related MCP Connectors
- VibeSEOOAuthdev.vibeseo
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
5 pay-per-call SEO tools over MCP. Free discovery, tool calls settle in USDC on Base via x402.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to perform comprehensive SEO audits on web pages, including meta tags, headings, links, images, performance, and more, via a CLI or MCP server.181MIT

@metricspot/mcp-serverofficial
AlicenseNot gradedqualityFmaintenanceExposes SEO and AI-readability audit tools to AI agents, enabling one-shot anonymous audits or full authenticated audits with PDF reports and organic traffic data.45 npmMIT- AlicenseAqualityDmaintenanceEnables SEO audits and URL monitoring via the SEO Radar API from any MCP-compatible AI client.75 npmMIT
- AlicenseNot gradedqualityBmaintenanceProvides 23 bounded MCP tools for AI agents to perform technical SEO audits, including crawl setup, page analysis, issue detection, and report exports, all while keeping data local.6MIT