MCP

Make Claude ship agent-ready code.

Plug your AI coding agent into BotVisibility's MCP server. Let it test its own work before declaring done.

https://botvisibility.com/api/mcp

Streamable HTTP · JSON-RPC 2.0 · No auth · 60 req/min per IP

Pick your client

Open Settings → Connectors → Add custom connector. Paste the endpoint URL. Auth: none. Restart Claude Desktop. The BotVisibility tools appear in your conversations.

Older builds without the Connectors UI: edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on Windows, and add:

{
  "mcpServers": {
    "botvisibility": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://botvisibility.com/api/mcp"]
    }
  }
}

Playbook

Paste this block at the top of your CLAUDE.md, .cursorrules, or equivalent project-instruction file. Tells the agent when and how to use the BotVisibility tools while it works.

## BotVisibility checks

You have access to the BotVisibility MCP (`botvisibility`). It tests
whether a web page is "agent-ready" — discoverable and usable by AI
agents and crawlers.

When working on web pages, marketing copy, HTML, or `llms.txt`-related
content, target an L3 or higher score on changed pages before declaring
the work done.

Workflow:

1. Use `get_check_definitions` and `get_level_requirements` to
   understand what's required at each level.
2. After meaningful changes to a deployed URL, call `scan_url` against
   that URL.
3. If `llms.txt` was added or modified, call `validate_llms_txt`.
4. If any required check fails, call `get_recommendations` and apply
   the top fixes; re-scan to confirm.

Do not claim a task is complete if the page would regress below L3.

Tools and resources

(click to expand)

Tools

Scan

  • scan_urlUse when you need a fresh agent-readiness score for a public URL.
  • scan_batchUse when comparing or auditing several URLs in one call.

Reference

  • get_check_definitionsUse when you need the full list of checks and what they mean.
  • get_checkUse when you need details on one specific check.
  • get_level_requirementsUse when you need to know exactly what's required at L1, L2, L3, or L4.

Improve

  • get_recommendationsUse after a scan, to get the highest-impact fixes.
  • validate_llms_txtUse when adding or editing an llms.txt file.

Compare and showcase

  • compare_sitesUse when benchmarking your site against another URL.
  • get_showcaseUse when you want example sites that pass at a given level.
  • get_badge_urlUse when you want an embeddable score badge image URL.

Resources

Available URIs

  • openapi_specFull OpenAPI description of the BotVisibility scan API.
  • llms_txtBotVisibility's own llms.txt — handy as a reference example.
  • agent_cardAgent-card descriptor for BotVisibility itself.
  • skill_fileSkill descriptor file describing what BotVisibility does.
  • showcase_dataCurated showcase data: example sites and their scores.
  • check_matrixThe full check matrix: every check, every level.

Recipes

Drop one of these directly into your agent. Each is a concrete prompt that exercises the most useful tools end-to-end.

Audit and fix a site to L3

Scan https://example.com with the BotVisibility MCP.
Identify every check below L3.
Call get_recommendations and apply the top fixes in this codebase.
Re-scan to confirm the score reaches L3 before reporting done.

Generate a passing llms.txt

Read this Next.js project. Generate an llms.txt that describes
the site, its key pages, and its public APIs. Place it at
public/llms.txt. Call validate_llms_txt against the deployed URL
and fix anything that fails before reporting done.

Pre-merge gate

Before I merge this branch, scan the staging URL with the
BotVisibility MCP. Compare to the main branch's score with
compare_sites. If the score regresses, list the failing checks
and refuse to approve the merge.

Troubleshooting

Tools don't appear after I added the connector.

Restart the client, then re-add the connector. Confirm the URL is exactly https://botvisibility.com/api/mcpwith no trailing slash. In Claude Desktop, click the + button in the chat box and select Connectors to verify the server is connected and tools are listed.

I'm getting HTTP 429 errors.

The endpoint is rate-limited to 60 requests per minute per IP. Each response includes Retry-After and X-RateLimit-Reset headers; wait until the reset time and retry. Reduce parallel scans or use scan_batch instead of many scan_url calls.

The server returns "host not allowed".

A corporate proxy may be rewriting the Hostheader. Bypass the proxy or contact us with the rejected host value so we can add it to the allowlist.

My Claude Desktop has no Connectors UI.

Update to the latest Claude Desktop. If you can't update, use the claude_desktop_config.json+ mcp-remote fallback shown in the Claude Desktop tab above.