> ## Documentation index
> Fetch the complete documentation index at: https://rankfield.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP server

> Connect Claude, Cursor or any MCP client to Rankfield's remote MCP server over Streamable HTTP, with your API key as a bearer token.

The server is a thin layer over the HTTP API: each tool calls the same endpoint with your key and returns its JSON.

## Connect

- URL: `https://rankfield.dev/mcp`
- Transport: Streamable HTTP (JSON-RPC over `POST`), protocol versions `2025-11-25`, `2025-06-18` and `2025-03-26`.
- Auth: the header `Authorization: Bearer <key>`. Every call needs it, `tools/list` included.

For a client configured with JSON:

```json
{
  "mcpServers": {
    "rankfield": {
      "type": "http",
      "url": "https://rankfield.dev/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
```

With Claude Code:

```bash
claude mcp add --transport http rankfield https://rankfield.dev/mcp --header "Authorization: Bearer YOUR_API_KEY"
```

Opening the URL in a browser shows connection instructions; tools only answer authenticated `POST` requests.

## Tools

| Tool | What it does | Same as |
|---|---|---|
| `get_site_strength` | Site Strength of a domain | [Get Site Strength](/docs/site-strength/get-site-strength) |
| `get_referring_domains` | Count and top 20 referring domains | [Get Referring Domains](/docs/referring-domains/get-referring-domains) |
| `list_referring_domains` | Every referring domain, with `cursor` | [List All Referring Domains](/docs/referring-domains/list-referrers) |
| `list_outbound_domains` | Every domain it links to | [List Outbound Domains](/docs/referring-domains/list-outbound-domains) |
| `get_referrer_profile` | Referring domains per Site Strength range | [Get Referrer Profile](/docs/referring-domains/get-referrer-profile) |
| `start_domain_export` | Start a CSV or JSONL export (`kind`: `referrers-export` or `outbound-export`) | [Start an export job](/docs/referring-domains/start-an-export-job) |
| `get_export_job` | Export progress and download links | [Get an export job](/docs/referring-domains/get-an-export-job) |
| `get_dataset_status` | The graph release in use | [Get Dataset Status](/docs/data/get-dataset-status) |
| `get_bing_suggestions` | Bing's autocomplete suggestions for one keyword, in one of ten markets | [Get Bing suggestions](/docs/suggest/get-bing-suggestions) |
| `start_bing_suggest_job` | Bing suggestions for up to 10,000 keywords, with a `delivery` deadline | [Start a suggest job](/docs/suggest/start-a-job) |
| `get_bing_suggest_results` | Read that job's keywords, with `cursor` | [Get suggest job results](/docs/suggest/get-results) |
| `get_duckduckgo_suggestions` | DuckDuckGo's autocomplete suggestions for one keyword | [Get DuckDuckGo suggestions](/docs/suggest/get-duckduckgo-suggestions) |
| `start_duckduckgo_suggest_job` | DuckDuckGo suggestions for up to 10,000 keywords | [Start a suggest job](/docs/suggest/start-a-job) |
| `get_duckduckgo_suggest_results` | Read that job's keywords | [Get suggest job results](/docs/suggest/get-results) |
| `get_yahoo_search_predictions` | Yahoo's search predictions for one keyword | [Get Yahoo Search Predictions](/docs/suggest/get-yahoo-search-predictions) |
| `start_yahoo_search_predictions_job` | Yahoo predictions for up to 10,000 keywords | [Start a suggest job](/docs/suggest/start-a-job) |
| `get_yahoo_search_predictions_results` | Read that job's keywords | [Get suggest job results](/docs/suggest/get-results) |
| `extract_page_links` | The links on one live page; waits up to 45 seconds, then returns `resultsUrl` and the job id | [Extract links from a page](/docs/link-extraction/extract-links) |
| `start_link_extraction_job` | Links on up to 600 pages | [Start a Link Extraction job](/docs/link-extraction/start-a-job) |
| `get_link_extraction_results` | Read that job's pages | [Get Link Extraction results](/docs/link-extraction/get-results) |
| `scrape_page` | One page as Markdown, with its metadata, headings, links, images, structured data, language and AI-use signals; takes `scope` and `include` | [Scrape a page](/docs/scrape/scrape-a-page) |
| `start_scrape_job` | Scrape up to 10,000 pages; each item takes `scrape_page`'s arguments except `timeout` | [Start a Scrape job](/docs/scrape/start-a-job) |
| `get_scrape_results` | Read that job's items, with `cursor` | [Get Scrape job results](/docs/scrape/get-results) |
| `bot_view` | How search engines, AI crawlers and SEO tools are treated by a page's robots.txt, llms.txt, meta robots and TDM signals | [Check how crawlers see a page](/docs/bot-view/check-a-page) |
| `start_bot_view_job` | Bot View on up to 10,000 pages | [Start a Bot View job](/docs/bot-view/start-a-job) |
| `get_bot_view_results` | Read that job's items | [Get Bot View job results](/docs/bot-view/get-results) |
| `brand_profile` | A company's name, logos, icons, colours, fonts and social profiles from its domain | [Get a company's brand](/docs/brand/get-a-brand) |
| `start_brand_job` | Brands of up to 10,000 domains | [Start a Brand job](/docs/brand/start-a-job) |
| `get_brand_results` | Read that job's items | [Get Brand job results](/docs/brand/get-results) |
| `map_site` | A website's URLs from its sitemaps, feeds, homepage links and a short crawl | [Map a website](/docs/map/map-a-site) |
| `start_site_map_job` | Map up to 1,000 websites | [Start a Site Map job](/docs/map/start-a-job) |
| `get_site_map_results` | Read that job's items | [Get Site Map job results](/docs/map/get-results) |
| `site_audit_start` | Start a technical SEO and AEO audit of a website; answers at once with its id | [Audit a website](/docs/site-audit/audit-a-website) |
| `site_audit_list` | Your audits, newest first | [Follow an audit](/docs/site-audit/follow-an-audit) |
| `site_audit_status` | An audit's status, live progress and issue counts | [Follow an audit](/docs/site-audit/follow-an-audit) |
| `site_audit_summary` | The ten main problems in plain words: start here | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_issues` | Every issue found, by group, worst first | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_issue_pages` | The pages with one issue | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_pages` | Page records, by filter, or one page with its issues and links | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_links` | Links, by filter (broken, external, nofollow…) | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_redirects` | Redirects and their chains | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_duplicates` | Groups of duplicate and near-duplicate pages | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_orphans` | Known pages no internal link reaches | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_templates` | Issues by URL template | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_sitemaps` | The sitemaps read and their checks | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_diff` | What changed since an earlier audit of the site | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_export` | Every page record, 1,000 at a time | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_page_filters` | Ready-made page lists with their counts | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_link_filters` | Ready-made link lists with their counts | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_structure` | The site as a folder tree, by status, type, depth or indexability | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_log` | The crawl log: URLs per minute, speed and the latest fetches | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_history` | Every audit of the site, with its health score and counts | [Read the results](/docs/site-audit/read-the-results) |
| `site_audit_cancel` | Stop an audit; what was found stays readable | [Follow an audit](/docs/site-audit/follow-an-audit) |

Each tool takes the same inputs as its endpoint (`domain`, `url` or `urls`, `query` or `queries`, `cursor`, `limit`, `maxAge`…), and `tools/list` gives the exact schemas. The Scrape, Bot View, Brand and Site Map job tools take `items`: each item is one call's arguments without `timeout`.

## Example prompts

- "What is the Site Strength of example.com, and which of its referring domains are above 60?"
- "List the external links on https://example.com/pricing and flag the nofollow ones."
- "Export every domain linking to example.com as CSV."
- "What does Bing suggest for running shoes in the en-GB market?"
- "Scrape https://example.com/pricing and list the plans and prices."

Limits are those of the endpoints behind each tool: see [Rate limits](/docs/get-started/rate-limits).
