# RankRoot for AI agents

> Free, no API key. Agents can audit any public website's visibility to AI answer engines, check AI crawler access, validate and generate llms.txt, and get pricing with checkout links.

Canonical page: https://getrankroot.com/agents

## Interfaces

- [MCP server](https://getrankroot.com/api/mcp): Streamable HTTP, stateless, JSON responses. Tools: audit_ai_visibility, generate_ai_visibility_files, check_ai_crawler_access, validate_llms_txt, get_pricing, get_checkout_link, list_launches, submit_launch, amplify_preview, amplify_status, amplify_create_campaign, amplify_list_posts, amplify_edit_post, amplify_schedule_posts. Free, no key, except the Amplify tools that act for a customer (amplify_status and the write tools need their AI Visibility Employee key). Spec: [Model Context Protocol 2026-07-28 (Streamable HTTP, per-request versioning, server/discover), plus initialize-based 2025-03-26 to 2025-11-25](https://modelcontextprotocol.io/specification/2026-07-28/basic/versioning).
- [MCP Server Card](https://getrankroot.com/api/mcp/server-card): Pre-connection metadata for the MCP server (identity, endpoint, protocol versions). Spec: [MCP Server Cards (SEP-2127)](https://modelcontextprotocol.io/seps/2127-mcp-server-cards).
- [A2A agent](https://getrankroot.com/api/a2a): A2A 1.0 JSON-RPC endpoint (send the A2A-Version: 1.0 header). Skills: audit_site, check_ai_crawler_access, validate_llms_txt, generate_llms_txt, get_pricing. Answers with a direct message; no tasks, streaming or push notifications. Spec: [Agent2Agent (A2A) Protocol 1.0, JSON-RPC binding](https://a2a-protocol.org/latest/specification/).
- [A2A Agent Card](https://getrankroot.com/.well-known/agent-card.json): Describes the A2A agent and its skills. Spec: [Agent2Agent (A2A) Protocol 1.0, JSON-RPC binding](https://a2a-protocol.org/latest/specification/).
- [AI Catalog](https://getrankroot.com/.well-known/ai-catalog.json): Lists the MCP Server Card and the A2A Agent Card in one file. Spec: [AI Catalog](https://ai-catalog.io/).
- [OpenAPI spec](https://getrankroot.com/openapi.json): HTTP API: /api/audit, /api/bots, /api/llms-txt, /api/pricing, /api/badge. Spec: [OpenAPI 3.1](https://spec.openapis.org/oas/v3.1.0).
- [HTTP audit API](https://getrankroot.com/api/audit?url=example.com): JSON score, checks and fix files (llms.txt, robots.txt, JSON-LD).
- [Pricing API](https://getrankroot.com/api/pricing): JSON plans with prices, limits, Polar checkout links, and x402 endpoints agents can pay directly in USDC.
- [llms.txt](https://getrankroot.com/llms.txt): Curated map of the site, linking to Markdown versions of key pages. Spec: [llms.txt proposal v2](https://llmstxt.org/).
- [Markdown pages](https://getrankroot.com/pro.md): Clean Markdown of the home, pricing, guide, AI crawler, builder, tools and agent pages: append .md (home is /index.md), or request the normal URL with Accept: text/markdown. Spec: [llms.txt proposal v2](https://llmstxt.org/).
- [WebMCP tools](https://getrankroot.com/): In browsers that support WebMCP, the homepage and report page register audit_site and get_report_fix_files via document.modelContext.registerTool. Spec: [WebMCP (W3C Web Machine Learning CG draft)](https://webmachinelearning.github.io/webmcp/).

## MCP server

Endpoint (Streamable HTTP, stateless, JSON responses): https://getrankroot.com/api/mcp

```json
{
  "mcpServers": {
    "rankroot": { "url": "https://getrankroot.com/api/mcp" }
  }
}
```

- `audit_ai_visibility(url)`: 0-100 AI visibility score, category scores, prioritized fixes, report link, badge markdown.
- `generate_ai_visibility_files(url)`: Ready-to-publish llms.txt, AI-friendly robots.txt and schema.org JSON-LD for the site.
- `check_ai_crawler_access(url)`: Which AI crawlers (OAI-SearchBot, GPTBot, ClaudeBot, PerplexityBot...) robots.txt and the firewall let in.
- `validate_llms_txt(url)`: Fetch a site's llms.txt (root or subpath) and check it against the llmstxt.org format.
- `get_pricing()`: RankRoot plans, prices, limits and checkout links, with advice on which plan fits.
- `get_checkout_link(plan)`: Checkout link for one plan (pass, employee_m) for the agent to hand to its user.
- `list_launches(query?, category?, limit?)`: Find products for a need among new launches on RankRoot (featured paid placements marked), with Markdown profiles.
- `submit_launch(url, name, tagline, description, email, category?, key?)`: Launch the user's product on RankRoot (free; a Traffic Boost key makes it live today and featured for 30 days). Public: ask the user first.
- `amplify_preview(url, languages?)`: Free: native posts for X, LinkedIn and Threads from a page, in up to 3 languages. Nothing stored or posted.
- `amplify_status()`: Key required. Connected channels, languages, mode, guardrails, post counts and what performed best.
- `amplify_create_campaign(url | text, languages?, channel_ids?, dry_run?, idempotency_key?)`: Key required. Writes a post for every enabled channel in every language, saved as drafts (nothing published).
- `amplify_list_posts(status?, limit?)`: Key required. Posts with status, schedule time, live URL, warnings and metrics.
- `amplify_edit_post(post_id, text?, thread?, title?)`: Key required. Edits a draft and re-runs the platform checks.
- `amplify_schedule_posts(post_ids, at?)`: Key required, and only if the customer lets agents schedule. Schedules drafts in the customer's Postiz within daily caps.

## A2A agent

Agent Card: https://getrankroot.com/.well-known/agent-card.json. JSON-RPC endpoint: https://getrankroot.com/api/a2a (A2A 1.0; send `A2A-Version: 1.0`). The agent answers `SendMessage` with a direct message (text plus a JSON data part). It keeps no tasks, so it does not stream or send push notifications.

- `audit_site`: Scores how well ChatGPT, Perplexity, Claude, Google AI Overviews and AI agents can find, read and cite a website (0-100), with category scores, a prioritized fix list and a report link.
- `check_ai_crawler_access`: Checks which AI crawlers (OAI-SearchBot, GPTBot, ClaudeBot, PerplexityBot and more) a site's robots.txt and firewall/CDN allow or block.
- `validate_llms_txt`: Fetches a site's llms.txt (root or subpath) and checks it against the llmstxt.org format.
- `generate_llms_txt`: Drafts a ready-to-publish llms.txt for a site from its homepage.
- `get_pricing`: Returns RankRoot's plans, prices, limits and Polar checkout links. Agents can pay directly over x402 (USDC on Base) or hand the user the checkout link.

```bash
curl -s https://getrankroot.com/api/a2a -H 'content-type: application/json' -H 'A2A-Version: 1.0' -d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"messageId":"m1","role":"ROLE_USER","parts":[{"text":"Audit https://example.com"}]}}}'
```

## HTTP API

```
GET https://getrankroot.com/api/audit?url=example.com
POST https://getrankroot.com/api/audit   {"url": "example.com"}
GET https://getrankroot.com/api/bots?url=example.com
GET https://getrankroot.com/api/pricing
```

OpenAPI: https://getrankroot.com/openapi.json · Badge: https://getrankroot.com/api/badge?url=example.com

## Markdown for agents

Key pages have Markdown versions at the same URL with .md (home: https://getrankroot.com/index.md), or send `Accept: text/markdown` to the normal URL. They are listed in https://getrankroot.com/llms.txt.

## Buying RankRoot for a user

1. Agent with a USDC wallet: pay directly over x402 (see agentPayments): the key comes back in the response. Otherwise give the user the plan's checkoutUrl (Polar checkout, completed by the human).
2. After payment Polar emails a license key (also shown on the receipt page). No account or password is needed.
3. The user can paste the key at https://getrankroot.com/pro#activate, or give it to their agent: send it as "Authorization: Bearer <key>" to https://getrankroot.com/api/audit, https://getrankroot.com/api/mcp or https://getrankroot.com/api/a2a for the higher limits.
4. The AI Visibility Employee can be cancelled anytime from the receipt email; it stays active until the end of the paid month. The Traffic Boost never renews.
5. While a plan's checkoutOpen is false, its checkoutUrl is an application form on https://getrankroot.com/pro (site URL, email, buyer questions, CMS); the human submits it and gets a reply by email.

## Limits

20 audits per 10 minutes per IP without a key (Traffic Boost key: 500, AI Visibility Employee key: 2,000). Results are cached for 10 minutes. Only public http(s) sites are fetched. Our crawler identifies as `RankRootBot/1.0`.
