Skip to main content
Glama
draltaway

ai-visibility-mcp

by draltaway
README.md
# ai-visibility-mcp

An [MCP](https://modelcontextprotocol.io) server that tells an AI assistant how discoverable a website is to AI search engines and assistants (ChatGPT, Claude, Perplexity, Google AI Overviews).

Point it at a URL and it reports the signals that decide whether those systems can find, read, and cite a site, then rolls them into a skimmable 0-100 score.

## What it checks

| Signal | Why it matters |
|---|---|
| AI crawler access in `robots.txt` | If `GPTBot`, `ClaudeBot`, `PerplexityBot`, etc. are blocked, the site is invisible to those engines |
| `/llms.txt` present | A plain-text map of the site's key facts, written for LLMs |
| Structured data (JSON-LD) | Machine-readable meaning that answer engines lift and cite |
| `sitemap.xml` present | Helps crawlers find every page |
| Title, meta description, H1 | Basic on-page signals an engine reads first |

## Install

```bash
git clone https://github.com/draltaway/ai-visibility-mcp
cd ai-visibility-mcp
python -m pip install -e .
```

Standard-library HTTP only. The single dependency is [FastMCP](https://github.com/jlowin/fastmcp).

## Use it from Claude Code

```bash
claude mcp add ai-visibility -- ai-visibility-mcp
```

## Use it from Claude Desktop

Add to `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "ai-visibility": {
      "command": "ai-visibility-mcp"
    }
  }
}
```

Then ask: *"Check the AI visibility of stripe.com."*

## Example output

```json
{
  "url": "https://stripe.com",
  "score": 90,
  "summary": "Strong: AI engines can find, read, and cite this site.",
  "checks": {
    "ai_crawlers_allowed": true,
    "ai_crawlers_blocked": [],
    "llms_txt": true,
    "sitemap": false,
    "homepage_reachable": true,
    "structured_data": true,
    "title": true,
    "meta_description": true,
    "h1": true
  }
}
```

## The tool

`check_ai_visibility(url: str) -> dict` returns `{ url, score, summary, checks }`. It accepts a bare host (`example.com`) or a full URL and defaults to `https`.

## License

MIT. Built by [Dallin Rowley](https://dallinrowley.vercel.app).

TDQS

A3.7/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap. The tool's purpose is clearly unique and distinct.

Naming Consistency5/5

A single tool with a descriptive snake_case verb_noun name. There is no inconsistency to assess, but the naming is clear and follows conventional MCP patterns.

Tool Count3/5

A single tool feels thin for a dedicated MCP server, even for a focused purpose. The borderline count leaves little room for related operations but is not excessively sparse.

Completeness4/5

The tool directly covers the core stated purpose of checking AI visibility. Minor gaps exist, such as batch checks or historical analysis, but they do not block the primary use case.

Maintenance

ActivityMaintained
ResponsivenessNo issues