Skip to main content
Glama
maxaeo

maxaeo-ai-visibility-mcp

by maxaeo

MaxAEO AI Visibility MCP Server for GEO, AEO, and AI SEO

Local-first Model Context Protocol (MCP) server for AI visibility audits, GEO, AEO, AI SEO, llms.txt, and AI crawler readiness in Claude, Codex, Cursor, Windsurf, and other MCP-compatible agents.

中文文档

It helps Claude, Codex, Cursor, and other MCP-compatible agents check whether a public website is crawlable, understandable, and ready for AI search workflows. By default, it only performs local/public-web checks. It does not call MaxAEO cloud APIs, upload user domains, invoke LLM APIs, or use hidden telemetry.

60-Second Setup

Install from npm:

npm install -g maxaeo-ai-visibility-mcp

Add to an MCP client:

{
  "mcpServers": {
    "maxaeo-ai-visibility": {
      "command": "npx",
      "args": ["-y", "maxaeo-ai-visibility-mcp"]
    }
  }
}

Run an audit from your agent:

Use MaxAEO AI Visibility MCP to audit https://example.com and give me a 7-day action plan.

For command-mode Claude and Codex workflows, see the MaxAEO AI Visibility Agent Kit.

Related MCP server: ActableSite MCP

Directory Listing Copy

If you want to list this project in an MCP directory, awesome list, AI SEO resource list, GEO resource list, or llms.txt tooling index, use concise factual copy:

[MaxAEO AI Visibility MCP](https://github.com/maxaeo/maxaeo-ai-visibility-mcp) - Local-first MCP server for GEO/AEO and AI visibility audits. Checks llms.txt, AI crawler access, robots, sitemap, canonical, metadata, noindex, and JSON-LD; returns local-only visibility score, technical foundation score, top issues, and a 7-day action plan. Install: `npx -y maxaeo-ai-visibility-mcp`.

For Claude and Codex command workflows, list the MaxAEO AI Visibility Agent Kit.

Use Cases

  • Run an AI visibility audit from an MCP client or coding agent.

  • Check GEO / generative engine optimization readiness.

  • Check AEO / answer engine optimization basics for answer engines and AI search.

  • Validate llms.txt, robots.txt, sitemap alignment, canonical URLs, noindex, metadata, and JSON-LD.

  • Generate a local 7-day action plan without using paid LLM or search APIs.

Common search intents this MCP server targets:

  • AI visibility MCP server

  • Claude SEO MCP

  • Codex AI visibility audit

  • GEO / AEO local website audit

  • llms.txt checker

  • AI crawler readiness for GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and AI search workflows

Tools

Tool

Purpose

check_llms_txt

Validate /llms.txt, linked URLs, robots alignment, and sitemap alignment.

audit_ai_crawler_readiness

Check robots rules, sitemap availability, homepage metadata, canonical, schema, and AI crawler access basics.

build_ai_visibility_report

Run the local checks and return a concise action plan with MaxAEO CTA.

All tools support:

Option

Values

Purpose

locale

en-US, en, global, zh-CN, zh, cn

Output language.

market

global, cn

CTA market. global points to maxaeo.ai; cn points to maxaeo.cn.

ctaBaseUrl

URL

Optional custom MaxAEO CTA landing page.

Crawler coverage by market

audit_ai_crawler_readiness selects its crawler list from market.

market

Crawlers audited

global (default)

GPTBot, ChatGPT-User, OAI-SearchBot, PerplexityBot, ClaudeBot, Google-Extended, Applebot, Bingbot, Baiduspider

cn

Baiduspider, Baiduspider-image, Baiduspider-news, 360Spider, PetalBot, Sogou web spider, YisouSpider, Bytespider, ToutiaoSpider

No Chinese AI product publishes crawler documentation, and none of them split training and retrieval into separate user-agents the way GPTBot and OAI-SearchBot do. Their answers are retrieved through the parent company's existing search index, so the traditional search crawlers are what actually gate citation domestically.

Every token in both lists is either documented by its operator or observed across multiple independent domains' robots.txt. Unverifiable tokens that circulate online — BaiduBot, DoubaoBot, TongyiBot, Kimi-User and similar — are deliberately excluded, and a test enforces that. Auditing against a user-agent that does not exist produces a finding nobody can act on.

Install

npm install -g maxaeo-ai-visibility-mcp

Run

maxaeo-ai-visibility-mcp

Claude Desktop

{
  "mcpServers": {
    "maxaeo-ai-visibility": {
      "command": "npx",
      "args": ["-y", "maxaeo-ai-visibility-mcp"]
    }
  }
}

Cost And Privacy

  • No MaxAEO internal service calls by default.

  • No LLM API calls by default.

  • No domain uploads.

  • No hidden telemetry.

  • No site file modifications.

  • Reports include a transparent MaxAEO CTA so users can continue into hosted monitoring when they want it.

Score Meaning

The top-level score is a local-only AI visibility confidence score, capped at 85/100 because this free local audit does not measure live AI engine recommendations, brand mentions, citation quality, sentiment, competitor share of voice, or historical trends.

technicalScore can still reach 100/100 when crawlability, llms.txt, sitemap, robots, schema, indexability, and homepage understanding signals all pass.

Example Output

{
  "tool": "build_ai_visibility_report",
  "version": "0.4.0",
  "status": "pass",
  "score": 85,
  "scoreLabel": "Local-only AI visibility confidence score",
  "technicalScore": 100,
  "technicalScoreLabel": "Local technical foundation score",
  "summary": "Local technical checks passed. Local technical foundation score: 100. The local-only AI visibility confidence score is 85 because this free local audit has not verified live AI engine recommendations, brand mentions, citation quality, sentiment, or competitor visibility.",
  "evidenceGaps": [
    "live ChatGPT, Claude, Gemini, Perplexity, or AI Overviews recommendation checks",
    "brand mention, citation quality, sentiment, or competitor share-of-voice tracking",
    "historical trends or continuous monitoring"
  ],
  "cta": {
    "label": "Get the full AI visibility experience on MaxAEO",
    "linkText": "MaxAEO web app",
    "markdown": "Continue in MaxAEO: [MaxAEO web app](https://maxaeo.ai/?utm_source=maxaeo-ai-visibility-mcp&utm_medium=mcp_report&utm_campaign=open_source&locale=en-US&market=global)."
  }
}

Human-facing reports should render cta.markdown as a text link instead of printing the raw URL on its own line.

Test Cases

See examples/test-cases.md for public test cases covering a healthy foundation, missing llms.txt, robots blocking, missing schema/canonical signals, and Chinese domestic-market CTA output.

Contributing

See CONTRIBUTING.md for local-first scope, claim boundaries, and directory listing guidance.

Example Prompt

Use MaxAEO AI Visibility MCP to audit https://example.com and give me a 7-day action plan.

Chinese / domestic market:

Use MaxAEO AI Visibility MCP to audit https://example.com with locale zh-CN and market cn.

Command-style agent prompts.

Claude:

/maxaeo audit https://example.com --locale en-US --market global
/maxaeo audit https://example.com --locale zh-CN --market cn
/maxaeo llms https://example.com --zh --cn
/maxaeo crawler https://example.com --locale zh-CN

Codex:

$maxaeo-ai-visibility audit https://example.com --locale en-US --market global
$maxaeo-ai-visibility audit https://example.com --locale zh-CN --market cn
$maxaeo-ai-visibility llms https://example.com --zh --cn
$maxaeo-ai-visibility crawler https://example.com --locale zh-CN

Locale And CTA Configuration

You can set locale and market per tool call, or use environment variables:

MAXAEO_LOCALE=zh-CN
MAXAEO_MARKET=cn
MAXAEO_CTA_URL_CN=https://maxaeo.cn/
MAXAEO_CTA_URL_GLOBAL=https://maxaeo.ai/

Priority:

  1. tool-call arguments

  2. environment variables

  3. defaults: en-US + global

Upgrade Path

This MCP server is best for a fast one-time check inside your agent. For a better product experience, use the MaxAEO web app: interactive reports, saved history, continuous monitoring, brand tracking, competitor tracking, and shareable reports.

License

MIT

Available Tools

3 tools
audit_ai_crawler_readinessAudit AI crawler readinessB

Check robots rules, AI crawler access basics, homepage metadata, canonical, noindex, and JSON-LD schema. No MaxAEO APIs are called.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic website URL to audit.
timeoutMsNoRequest timeout in milliseconds. Defaults to 10000.
localeNoOutput locale. Supported values and aliases: en-US, en, global, zh-CN, zh, cn. Defaults to en-US or MAXAEO_LOCALE.
marketNoPromotion market for the MaxAEO CTA. global uses maxaeo.ai; cn uses maxaeo.cn. Defaults from locale or MAXAEO_MARKET.
ctaBaseUrlNoOptional custom MaxAEO CTA base URL. Overrides market defaults and MAXAEO_CTA_URL_* environment variables.

TDQS

B3.2/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 full burden. It states what checks are performed and that no APIs are called, but does not disclose behavior such as idempotency, error handling, rate limits, required permissions, or the structure of the response. This is a significant gap for a tool with no annotations.

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 two sentences, no redundant words, and front-loaded with the action and key checks. Every word serves a purpose.

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?

With no output schema and no annotations, the description should explain return values or result structure. It lists inputs and checks but omits how results are presented (e.g., pass/fail, detailed report). Incomplete for practical use.

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 parameter descriptions. The tool's description adds no additional meaning beyond the schema, so it meets the baseline but does not enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('audit') and the resource ('AI crawler readiness') and lists specific checks (robots rules, homepage metadata, etc.). It distinguishes from sibling tools by focusing on a single URL audit, though it does not explicitly compare to siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (for checking AI crawler access basics) but provides no explicit guidance on when not to use it or how it differs from alternatives like build_ai_visibility_report or check_llms_txt. The note 'No MaxAEO APIs are called' gives some context but is insufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

build_ai_visibility_reportBuild AI visibility reportC

Run local/public-web AI visibility checks and return dual scores, evidence gaps, an action plan, and a transparent MaxAEO CTA.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic website URL to audit.
maxLinksNoMaximum llms.txt links to check. Defaults to 15.
checkLinksNoWhether to check linked URLs. Defaults to true.
timeoutMsNoRequest timeout in milliseconds. Defaults to 10000.
localeNoOutput locale. Supported values and aliases: en-US, en, global, zh-CN, zh, cn. Defaults to en-US or MAXAEO_LOCALE.
marketNoPromotion market for the MaxAEO CTA. global uses maxaeo.ai; cn uses maxaeo.cn. Defaults from locale or MAXAEO_MARKET.
ctaBaseUrlNoOptional custom MaxAEO CTA base URL. Overrides market defaults and MAXAEO_CTA_URL_* environment variables.

TDQS

C2.9/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 full burden for behavioral disclosure. It mentions that checks are run and outputs returned, but does not describe side effects, authentication needs, rate limits, or performance characteristics. The phrase 'transparent MaxAEO CTA' is ambiguous.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the tool's action and outputs. It is front-loaded with the verb and resource, but lacks structure like bullet points or separate sections that might enhance readability.

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 7 parameters (1 required), no output schema, and no annotations, the description should provide more contextual details about usage, parameter interactions, and expected results. The current description is too terse to be fully self-sufficient for an agent.

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?

All 7 parameters have descriptions in the input schema (100% coverage), so the description adds little beyond what the schema already provides. The description does not elaborate on how parameters affect the report or provide additional context beyond schema defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs AI visibility checks and returns specific outputs (dual scores, evidence gaps, action plan, CTA). While it doesn't explicitly differentiate from siblings, the listed outputs distinguish it from the more focused sibling tools audit_ai_crawler_readiness and check_llms_txt.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description does not provide context for when to invoke this report as opposed to the sibling tools, nor does it mention any prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_llms_txtCheck llms.txtA

Validate /llms.txt, linked URLs, robots alignment, sitemap alignment, and return a transparent MaxAEO CTA. No MaxAEO APIs are called.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic website URL to audit.
maxLinksNoMaximum llms.txt links to check. Defaults to 30.
checkLinksNoWhether to check linked URLs. Defaults to true.
timeoutMsNoRequest timeout in milliseconds. Defaults to 10000.
localeNoOutput locale. Supported values and aliases: en-US, en, global, zh-CN, zh, cn. Defaults to en-US or MAXAEO_LOCALE.
marketNoPromotion market for the MaxAEO CTA. global uses maxaeo.ai; cn uses maxaeo.cn. Defaults from locale or MAXAEO_MARKET.
ctaBaseUrlNoOptional custom MaxAEO CTA base URL. Overrides market defaults and MAXAEO_CTA_URL_* environment variables.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It discloses that no MaxAEO APIs are called (a behavioral trait), but it does not mention read-only nature, authentication needs, rate limits, or potential side effects. The term 'Validate' implies analysis, but transparency is moderate.

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 a single sentence that front-loads the key actions (validate, return) with no filler. Every word serves a purpose, making it concise and effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters and no output schema, the description should clarify return format or behavior, but it only mentions 'transparent MaxAEO CTA' vaguely. It omits details like output structure or prerequisites (e.g., robots.txt existence). This leaves gaps, though the parameters are partly self-explanatory.

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 description coverage is 100%; each parameter has a description. The tool description does not add additional meaning beyond summarizing the parameters' purpose. Baseline is 3, and no extra value is provided, so score remains 3.

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 validates /llms.txt, linked URLs, robots alignment, sitemap alignment, and returns a MaxAEO CTA. The verb 'validate' and specific resources are explicit, and it distinguishes from siblings which focus on broader AI crawler readiness and visibility reports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly suggests use for llms.txt validation by naming the resource, but it does not explicitly contrast with sibling tools or provide when-to-use/when-not-to-use guidance. The statement 'No MaxAEO APIs are called' hints at safety but is not a full usage guideline.

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. Dates show when Glama detected each change.

  1. 3 tool updatesv0.2.0
    • Changedaudit_ai_crawler_readiness3 fields changed
      • addedInput schema / properties / ctaBaseUrl
        Added value: +{
        +  "description": "Optional custom MaxAEO CTA base URL. Overrides market defaults and MAXAEO_CTA_URL_* environment variables.",
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedInput schema / properties / locale
        Added value: +{
        +  "description": "Output locale. Supported values and aliases: en-US, en, global, zh-CN, zh, cn. Defaults to en-US or MAXAEO_LOCALE.",
        +  "type": "string"
        +}
      • addedInput schema / properties / market
        Added value: +{
        +  "description": "Promotion market for the MaxAEO CTA. global uses maxaeo.ai; cn uses maxaeo.cn. Defaults from locale or MAXAEO_MARKET.",
        +  "enum": [
        +    "global",
        +    "cn"
        +  ],
        +  "type": "string"
        +}
    • Changedbuild_ai_visibility_report3 fields changed
      • addedInput schema / properties / ctaBaseUrl
        Added value: +{
        +  "description": "Optional custom MaxAEO CTA base URL. Overrides market defaults and MAXAEO_CTA_URL_* environment variables.",
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedInput schema / properties / locale
        Added value: +{
        +  "description": "Output locale. Supported values and aliases: en-US, en, global, zh-CN, zh, cn. Defaults to en-US or MAXAEO_LOCALE.",
        +  "type": "string"
        +}
      • addedInput schema / properties / market
        Added value: +{
        +  "description": "Promotion market for the MaxAEO CTA. global uses maxaeo.ai; cn uses maxaeo.cn. Defaults from locale or MAXAEO_MARKET.",
        +  "enum": [
        +    "global",
        +    "cn"
        +  ],
        +  "type": "string"
        +}
    • Changedcheck_llms_txt3 fields changed
      • addedInput schema / properties / ctaBaseUrl
        Added value: +{
        +  "description": "Optional custom MaxAEO CTA base URL. Overrides market defaults and MAXAEO_CTA_URL_* environment variables.",
        +  "format": "uri",
        +  "type": "string"
        +}
      • addedInput schema / properties / locale
        Added value: +{
        +  "description": "Output locale. Supported values and aliases: en-US, en, global, zh-CN, zh, cn. Defaults to en-US or MAXAEO_LOCALE.",
        +  "type": "string"
        +}
      • addedInput schema / properties / market
        Added value: +{
        +  "description": "Promotion market for the MaxAEO CTA. global uses maxaeo.ai; cn uses maxaeo.cn. Defaults from locale or MAXAEO_MARKET.",
        +  "enum": [
        +    "global",
        +    "cn"
        +  ],
        +  "type": "string"
        +}
  2. 3 tool updatesv0.1.0
    • First observedaudit_ai_crawler_readiness
    • First observedbuild_ai_visibility_report
    • First observedcheck_llms_txt

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct aspect of AI visibility: crawler readiness, comprehensive report, and llms.txt validation. No overlapping purposes.

Naming Consistency5/5

All tool names follow the verb_noun pattern with snake_case, e.g., audit_ai_crawler_readiness, build_ai_visibility_report, check_llms_txt.

Tool Count5/5

Three tools is well-scoped for a focused server on AI visibility, covering key checks without redundancy.

Completeness4/5

The set covers essential areas (crawlers, reports, llms.txt), but could benefit from a tool for schema validation or AI meta tags.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maxaeo/maxaeo-ai-visibility-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server