MCP
Plug your AI coding agent into BotVisibility's MCP server. Let it test its own work before declaring done.
https://botvisibility.com/api/mcpStreamable HTTP · JSON-RPC 2.0 · No auth · 60 req/min per IP
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"]
}
}
}One command:
claude mcp add --transport http --scope user botvisibility https://botvisibility.com/api/mcpThe --scope user flag installs it globally across projects. Drop the flag for a project-scoped install. Verify with claude mcp list.
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json in your workspace:
{
"mcpServers": {
"botvisibility": {
"url": "https://botvisibility.com/api/mcp",
"type": "http"
}
}
}In VS Code, open Cline's settings panel and add an MCP server, or edit cline_mcp_settings.jsondirectly:
{
"mcpServers": {
"botvisibility": {
"url": "https://botvisibility.com/api/mcp",
"transportType": "http"
}
}
}In ChatGPT settings, open Apps & Connectors → Add custom connector. Paste the endpoint URL. Auth: none.
Note: ChatGPT's connector flow is evolving and the option may not appear on every plan. If you don't see it, check OpenAI's current connector docs.
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"botvisibility": {
"serverUrl": "https://botvisibility.com/api/mcp"
}
}
}Any client speaking the MCP Streamable HTTP transport can connect.
https://botvisibility.com/api/mcpQuick smoke test — list available tools:
curl -X POST https://botvisibility.com/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'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.scan_url — Use when you need a fresh agent-readiness score for a public URL.scan_batch — Use when comparing or auditing several URLs in one call.get_check_definitions — Use when you need the full list of checks and what they mean.get_check — Use when you need details on one specific check.get_level_requirements — Use when you need to know exactly what's required at L1, L2, L3, or L4.get_recommendations — Use after a scan, to get the highest-impact fixes.validate_llms_txt — Use when adding or editing an llms.txt file.compare_sites — Use when benchmarking your site against another URL.get_showcase — Use when you want example sites that pass at a given level.get_badge_url — Use when you want an embeddable score badge image URL.openapi_spec — Full OpenAPI description of the BotVisibility scan API.llms_txt — BotVisibility's own llms.txt — handy as a reference example.agent_card — Agent-card descriptor for BotVisibility itself.skill_file — Skill descriptor file describing what BotVisibility does.showcase_data — Curated showcase data: example sites and their scores.check_matrix — The full check matrix: every check, every level.Drop one of these directly into your agent. Each is a concrete prompt that exercises the most useful tools end-to-end.
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.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.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.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.
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.
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.
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.