Skip to main content
Glama
eugenregehr

OctoBoost SEO MCP Server

by eugenregehr

OctoBoost SEO MCP Server

MCP Registry

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_analyzers

  • crawl a domain for relevant URLs with scan_domain

  • run 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: 401 for invalid or expired keys, 402 for exhausted credits

Quick Start

  1. Get an API key from octo-boost.com.

  2. Add the server to your MCP client config.

  3. Call list_analyzers to 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.json

  • Cursor: 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 URL

Tools 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, and geo

  • weights returned reflect your personal setup (see Analysis Setup below)

scan_domain

Crawls a domain and returns SEO-relevant URLs.

Parameter

Type

Default

Description

domain

string

Domain or URL to scan

maxPages

number

server default

Maximum pages to crawl (capped server-side at the batch analysis limit)

excludePatterns

string[]

[]

URL patterns to skip

respectRobotsTxt

boolean

true

Honor robots.txt

defaultLanguageOnly

boolean

true

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

urls

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_analyzers always 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:

  • geoScore

  • technicalAccess

  • contentStructure

  • entityClarity

  • authoritySignals

  • citationLikelihood

  • ragReadiness

  • llmAssessment

  • whyThisMattersForAgents

Project Status

Planned next:

  • LLM-based prioritization and condensation for more compact output

  • higher-level tools such as get_fix_plan, summarize_top_opportunities and compare_urls

  • better site-level workflows built on top of crawl plus analysis

  • dedicated interface and API documentation

Available Tools

4 tools
analyzeA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlsYesList of URLs to analyze

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoFilter by exact URL (optional)
pageNoPage number (default 1, page size 10)
analyzerNoFilter results to a single analyzer key
categoryNoFilter results to a specific category (seo, accessibility, performance, ux, geo)

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain or URL to scan (e.g. 'example.com' or 'https://example.com')
maxPagesNoMaximum pages to crawl (server default applies; capped at the batch analysis limit)
excludePatternsNoURL patterns to exclude from crawling
respectRobotsTxtNoWhether to respect robots.txt (default: true)
defaultLanguageOnlyNoOnly return pages in the site's default language (default: true)

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 4 tool updatesv1.1.1
    • First observedanalyze
    • First observedget_stored_analysis
    • First observedlist_analyzers
    • First observedscan_domain

TDQS

A4.2/5.0

Scored across 4 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

Four tools is appropriate for a focused SEO server. Each tool is essential and covers the core workflow without unnecessary bloat.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    18
    1
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Exposes 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 npm
    MIT